sapenc: Free AVStream->info on cleanup
[ffmpeg.git] / libavformat / sapenc.c
index 9c576cf..088f7bd 100644 (file)
@@ -48,6 +48,7 @@ static int sap_write_close(AVFormatContext *s)
         url_fclose(rtpctx->pb);
         av_metadata_free(&rtpctx->streams[0]->metadata);
         av_metadata_free(&rtpctx->metadata);
+        av_free(rtpctx->streams[0]->info);
         av_free(rtpctx->streams[0]);
         av_free(rtpctx);
         s->streams[i]->priv_data = NULL;
@@ -70,7 +71,7 @@ static int sap_write_header(AVFormatContext *s)
     struct SAPState *sap = s->priv_data;
     char host[1024], path[1024], url[1024], announce_addr[50] = "";
     char *option_list;
-    int port, base_port = 5004, i, pos = 0, same_port = 0, ttl = 255;
+    int port = 9875, base_port = 5004, i, pos = 0, same_port = 0, ttl = 255;
     AVFormatContext **contexts = NULL;
     int ret = 0;
     struct sockaddr_storage localaddr;
@@ -81,17 +82,17 @@ static int sap_write_header(AVFormatContext *s)
         return AVERROR(EIO);
 
     /* extract hostname and port */
-    av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &port,
+    av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &base_port,
                  path, sizeof(path), s->filename);
-    if (port < 0)
-        port = 9875;
+    if (base_port < 0)
+        base_port = 5004;
 
     /* search for options */
     option_list = strrchr(path, '?');
     if (option_list) {
         char buf[50];
-        if (find_info_tag(buf, sizeof(buf), "base_port", option_list)) {
-            base_port = strtol(buf, NULL, 10);
+        if (find_info_tag(buf, sizeof(buf), "announce_port", option_list)) {
+            port = strtol(buf, NULL, 10);
         }
         if (find_info_tag(buf, sizeof(buf), "same_port", option_list)) {
             same_port = strtol(buf, NULL, 10);
@@ -250,7 +251,7 @@ static int sap_write_packet(AVFormatContext *s, AVPacket *pkt)
     return ff_write_chained(rtpctx, 0, pkt, s);
 }
 
-AVOutputFormat sap_muxer = {
+AVOutputFormat ff_sap_muxer = {
     "sap",
     NULL_IF_CONFIG_SMALL("SAP output format"),
     NULL,