gstreamer/subprojects/gst-plugins-bad/ext/srt
Jan Alexander Steffens (heftig) c533010e20 srt: Use g_cancellable_get_fd for poll cancellation
Removing sockets from the epoll for cancellation is unreliable and might
not be thread-safe. Rather, have SRT watch a FD from the cancellable if
available. Keep the cancellable cancelled while we're not open.

Use the regular single-socket `sock` and `poll_id` fields for the
listening thread instead of duplicating them.

Before polling we need to check the socket state. SRT closes broken
sockets by itself and when the epoll contains our cancellation FD it can
no longer be empty, which was an error before.

Treat more failures in the read and write operations as an opportunity
to try a reconnect.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087>
2023-03-02 15:39:25 +00:00
..
gstsrt-enums.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstsrt.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstsrtelement.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstsrtelements.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstsrtobject.c srt: Use g_cancellable_get_fd for poll cancellation 2023-03-02 15:39:25 +00:00
gstsrtobject.h srt: Use g_cancellable_get_fd for poll cancellation 2023-03-02 15:39:25 +00:00
gstsrtplugin.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstsrtsink.c srt: Move cancellable into srtobject 2023-03-02 15:39:25 +00:00
gstsrtsink.h srt: Move cancellable into srtobject 2023-03-02 15:39:25 +00:00
gstsrtsrc.c srt: Move cancellable into srtobject 2023-03-02 15:39:25 +00:00
gstsrtsrc.h srt: Move cancellable into srtobject 2023-03-02 15:39:25 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00