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);