diff options
author | Marton Balint <cus@passwd.hu> | 2021-01-31 00:45:33 +0100 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2021-02-07 19:42:22 +0100 |
commit | cae57cae1f70371591223a5f9fe3f370ce8dfd50 (patch) | |
tree | 4b0af18ae2784ce41439e1c37ec7c24e4f7bfec5 /libavcodec/pgssubdec.c | |
parent | 5cf01ed5cdfafbb494ca1725b5408555abc9f223 (diff) | |
download | ffmpeg-cae57cae1f70371591223a5f9fe3f370ce8dfd50.tar.gz |
avformat/libsrt: fix race condition with libsrt_network_wait_fd and epoll
The way SRT's async / epoll-based IO works is that the event status is stored
in the epoll containers. That is, if an event occurs on an SRT socket, and that
SRT socket isn't part of any epoll container, then that event is lost. If we
later add that socket to an epoll container, we still won't receive the event
even if it wasn't serviced.
Therefore we create the epoll and put the fd into it right after the connection
is established.
See http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2021-January/275334.html
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavcodec/pgssubdec.c')
0 files changed, 0 insertions, 0 deletions