gstreamer/subprojects/gst-plugins-bad/ext
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
..
aes aesdec: Fix padding removal for per-buffer-padding=FALSE 2022-11-15 00:13:15 +11:00
aom aom: Include stream-format and alignment in the AV1 caps 2023-02-01 19:04:32 +00:00
assrender meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
avtp avtp: specify the required version of libavtp 2023-02-06 13:31:51 +00:00
bs2b meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
bz2 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
chromaprint meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
closedcaption closedcaption: implement cea608muxer element 2023-03-02 00:27:47 +00:00
codec2json codec2json: Add av12json element 2023-01-30 19:46:55 +00:00
colormanagement meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
curl curlhttpsrc: Add curl anyauth option 2023-02-24 14:32:18 +00:00
dash mpdparser: Fix missing baseURL query 2022-11-14 23:45:53 +00:00
dc1394 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
directfb dfbvideosink: Fix compile error 2023-01-08 03:49:03 +00:00
dtls meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
dts meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
faac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
faad meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
fdkaac fdkaacenc: Properly terminate GEnumValue table 2022-11-04 17:59:21 +00:00
flite meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
fluidsynth fluidsynth: correctly version guard methods 2022-09-05 17:48:27 +00:00
gme meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
gs gssink: add 'content-type' property 2022-11-10 09:53:29 +00:00
gsm meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
gtk meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
hls hlsdemux: Expose EXT-X-PROGRAM-DATE-TIME as tags. 2022-11-17 22:11:12 +00:00
iqa meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
isac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
kate kate: drop use of GSlice 2023-01-24 15:25:07 +00:00
ladspa ladspa: Don't leak plugin information on registration 2022-11-04 17:59:21 +00:00
ldac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
libde265 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
lv2 lv2: Don't leak plugin information on registration 2022-11-04 17:59:21 +00:00
mdns meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
modplug meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
mpeg2enc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
mplex meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
musepack meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
neon meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
onnx onnx: Update to OnnxRT >= 1.13.1 API 2022-11-22 22:36:34 +00:00
openal meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openaptx meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
opencv meson: Accept latest version of opencv 4.x 2022-12-30 17:10:12 +00:00
openexr meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openh264 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openjpeg openjpeg: drop use of GSlice 2023-01-24 15:25:07 +00:00
openmpt meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openni2 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
opus meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
qroverlay qroverlay: Add qrcode-case-sensitive property 2023-01-03 19:40:20 +00:00
resindvd resindvd: drop use of GSlice 2023-01-24 15:25:07 +00:00
rsvg meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
rtmp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sbc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sctp sctpdec: fix stream reset (src pad removal) if no data is ever received 2022-11-11 10:13:27 +00:00
smoothstreaming meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sndfile meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
soundtouch meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
spandsp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
srt srt: Use g_cancellable_get_fd for poll cancellation 2023-03-02 15:39:25 +00:00
srtp meson: Add a wrap file for libsrt2p 2023-01-25 11:38:52 +00:00
svtav1 svtav1enc: Drain and completely reallocate the encoder instance on caps changes 2023-02-14 11:59:48 +00:00
svthevcenc svthevcenc: drop use of GSlice 2023-01-24 15:25:07 +00:00
teletextdec meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
ttml ttml: drop use of GSlice 2023-01-24 15:25:07 +00:00
voaacenc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
voamrwbenc voamrwbenc: Fix truncation of audio data at end-of-stream when audio data 2022-09-16 00:14:58 +00:00
vulkan meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wayland meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
webp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
webrtc webrtcbin: Relay add-ice-candidate errors from Ice implementation to Application 2023-02-27 09:09:47 +00:00
webrtcdsp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wildmidi meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wpe wpe: Post console messages as element messages 2023-02-28 13:43:23 +00:00
x265 x265: drop use of GSlice 2023-01-24 15:25:07 +00:00
zbar meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
zxing zxing: update to 1.4.0 tag 2022-12-11 15:52:08 +00:00
meson.build svtav1: Integrate into the build system properly 2023-02-03 22:14:18 +02:00