SAP muxer set session name from metadata
authorJernej Virag <jernej@virag.si>
Mon, 17 Dec 2012 09:04:15 +0000 (10:04 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Dec 2012 16:31:55 +0000 (17:31 +0100)
Pass "title" metadata field to av_sdp_create (as in RTP muxer) in SAP
muxer for correct
session name in SAP SDP announcements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/sapenc.c

index 7abfd50..87e6082 100644 (file)
@@ -25,6 +25,7 @@
 #include "libavutil/avstring.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/time.h"
+#include "libavutil/dict.h"
 #include "internal.h"
 #include "network.h"
 #include "os_support.h"
@@ -76,6 +77,7 @@ static int sap_write_header(AVFormatContext *s)
     struct sockaddr_storage localaddr;
     socklen_t addrlen = sizeof(localaddr);
     int udp_fd;
+    AVDictionaryEntry* title = av_dict_get(s->metadata, "title", NULL, 0);
 
     if (!ff_network_init())
         return AVERROR(EIO);
@@ -158,6 +160,10 @@ static int sap_write_header(AVFormatContext *s)
         av_strlcpy(contexts[i]->filename, url, sizeof(contexts[i]->filename));
     }
 
+    if (s->nb_streams > 0 && title) {
+        av_dict_set(&contexts[0]->metadata, "title", title->value, 0);
+    }
+
     ff_url_join(url, sizeof(url), "udp", NULL, announce_addr, port,
                 "?ttl=%d&connect=1", ttl);
     ret = ffurl_open(&sap->ann_fd, url, AVIO_FLAG_WRITE,