You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avformat/udp: Close the socket after destroying the thread using the socket
for send() this cannot work and even for recv() it feels very wrong and hackish Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -1109,7 +1109,6 @@ static int udp_close(URLContext *h)
|
|||||||
|
|
||||||
if (s->is_multicast && (h->flags & AVIO_FLAG_READ))
|
if (s->is_multicast && (h->flags & AVIO_FLAG_READ))
|
||||||
udp_leave_multicast_group(s->udp_fd, (struct sockaddr *)&s->dest_addr,(struct sockaddr *)&s->local_addr_storage);
|
udp_leave_multicast_group(s->udp_fd, (struct sockaddr *)&s->dest_addr,(struct sockaddr *)&s->local_addr_storage);
|
||||||
closesocket(s->udp_fd);
|
|
||||||
#if HAVE_PTHREAD_CANCEL
|
#if HAVE_PTHREAD_CANCEL
|
||||||
if (s->thread_started) {
|
if (s->thread_started) {
|
||||||
int ret;
|
int ret;
|
||||||
@@ -1123,6 +1122,7 @@ static int udp_close(URLContext *h)
|
|||||||
pthread_cond_destroy(&s->cond);
|
pthread_cond_destroy(&s->cond);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
closesocket(s->udp_fd);
|
||||||
av_fifo_freep(&s->fifo);
|
av_fifo_freep(&s->fifo);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user