avformat/udp: remove local localaddr array

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
This commit is contained in:
Limin Wang 2021-11-24 20:09:53 +08:00
parent b3624069f0
commit 27c9300027
1 changed files with 4 additions and 6 deletions

View File

@ -623,7 +623,7 @@ end:
/* return non zero if error */
static int udp_open(URLContext *h, const char *uri, int flags)
{
char hostname[1024], localaddr[1024] = "";
char hostname[1024];
int port, udp_fd = -1, tmp, bind_ret = -1, dscp = -1;
UDPContext *s = h->priv_data;
int is_output;
@ -708,7 +708,8 @@ static int udp_open(URLContext *h, const char *uri, int flags)
s->burst_bits = strtoll(buf, NULL, 10);
}
if (av_find_info_tag(buf, sizeof(buf), "localaddr", p)) {
av_strlcpy(localaddr, buf, sizeof(localaddr));
av_freep(&s->localaddr);
s->localaddr = av_strdup(buf);
}
if (av_find_info_tag(buf, sizeof(buf), "sources", p)) {
if ((ret = ff_ip_parse_sources(h, buf, &s->filters)) < 0)
@ -748,10 +749,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
if ((s->is_multicast || s->local_port <= 0) && (h->flags & AVIO_FLAG_READ))
s->local_port = port;
if (localaddr[0])
udp_fd = udp_socket_create(h, &my_addr, &len, localaddr);
else
udp_fd = udp_socket_create(h, &my_addr, &len, s->localaddr);
udp_fd = udp_socket_create(h, &my_addr, &len, s->localaddr);
if (udp_fd < 0)
goto fail;