[FFmpeg-devel] [PATCH 4/4] avformat/udp: do not use thread cancellation when receiving data
Marton Balint
cus at passwd.hu
Tue Jan 21 23:55:49 EET 2020
On Fri, 17 Jan 2020, Michael Niedermayer wrote:
> On Thu, Jan 16, 2020 at 01:20:16AM +0100, Marton Balint wrote:
>> It is not supported by every threading implementation, and the only thing we
>> gain with it is an immediate shutdown of receiving packets on close and
>> avoiding the poll call before reading the data.
>>
>> I don't think it is a big issue if it takes 0.1 sec of delay to close an udp
>> stream. Back when this was introduced the delay was 1 sec, which was indeed
>> noticable.
>>
>> And anybody who needs performance sensitive UDP should not use the fifo buffer
>> in the first place, because the kernel can buffer the data much more
>> effectively.
This patch also fixes ticket #5717 by the way.
>>
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>> libavformat/udp.c | 57 +++++++++++++++++++++++++------------------------------
>> 1 file changed, 26 insertions(+), 31 deletions(-)
>
> this breaks build on mingw64
>
> src/libavformat/udp.c: In function ‘udp_read’:
> src/libavformat/udp.c:980:17: error: implicit declaration of function ‘pthread_cond_timedwait’ [-Werror=implicit-function-declaration]
> int err = pthread_cond_timedwait(&s->cond, &s->mutex, &tv);
> ^
> cc1: some warnings being treated as errors
> make: *** [libavformat/udp.o] Error 1
> make: *** Waiting for unfinished jobs....
With the pthread_cond_timedwait compat patch applied, this should no
longer be an issue.
Regards,
Marton
More information about the ffmpeg-devel
mailing list