aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/sapenc.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2010-10-09 14:39:31 +0000
committerMartin Storsjö <martin@martin.st>2010-10-09 14:39:31 +0000
commit1b40d4966c7404e25d8f6dc35dc11d7dd151dfbd (patch)
tree74c110ab591c398dbc02bb3d2b9ea5a5a43127b1 /libavformat/sapenc.c
parent2aab70c476c5a2812a421a6b08ea1be6ea8225da (diff)
downloadffmpeg-1b40d4966c7404e25d8f6dc35dc11d7dd151dfbd.tar.gz
sapenc: Use the normal URL port as RTP port
This makes the URL handling consistent - the URL hostname is used as destination for the RTP packets, so the URL port should also belong to that. Now the options announce_addr= and announce_port specify where the announcements are sent. Originally committed as revision 25424 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/sapenc.c')
-rw-r--r--libavformat/sapenc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c
index 9c576cfd94..581cec6237 100644
--- a/libavformat/sapenc.c
+++ b/libavformat/sapenc.c
@@ -70,7 +70,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 +81,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);