gstreamer/ext
Johan Sternerup 4d514abfd6 webrtcbin: Fix deadlock when receiving new sctp stream
When receiving an sctp message for a stream that not yet has an
sctpdec pad associated with it means we end up in
_on_sctpdec_pad_added. At this point we're holding the sctpassocation
lock. Then it's not possible to take the pc_lock because then code
executing under the pc_lock (which means anything in the webrtc
thread) may not take the sctpassociation lock. For example, running
the data channel close procedure from the webrtc thread means we
eventually end up sending a SCTP_RESET_STREAMS packet which needs to
grab the sctpassociation lock.

This means _on_sctpdec_pad_added simply cannot take the pc_lock and
also it is not possible to postpone the channel creation as we need to
link the pads right there. The solution is to introduce a more
granular dc_lock that protects only the things that needs to be done
to create the datachannel.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2186>
2021-05-12 03:02:27 +00:00
..
aom aom: allow per feature registration 2021-03-23 14:19:16 +00:00
assrender assrender: allow per feature registration 2021-03-23 14:19:16 +00:00
avtp avtp: crf: Remove superfluous sink_event variable 2021-04-28 08:59:14 +00:00
bs2b bs2b: allow per feature registration 2021-03-23 14:19:16 +00:00
bz2 bz2: allow per feature registration 2021-03-23 14:19:16 +00:00
chromaprint chromaprint: allow per feature registration 2021-03-23 14:19:16 +00:00
closedcaption cccombiner: Use correct enum when registering the max-scheduled property 2021-04-19 13:51:57 +03:00
colormanagement colormanagement: allow per feature registration 2021-03-23 14:19:16 +00:00
curl curlsftpsink: Don't run GST_DEBUG_OBJECT() on a class struct 2021-04-06 19:18:45 +03:00
dash Use gst_element_request_pad_simple... 2021-05-05 06:17:14 +00:00
dc1394 dc1394: allow per feature registration 2021-03-23 14:19:16 +00:00
directfb directfb: allow per feature registration 2021-03-23 14:19:16 +00:00
dtls Use gst_element_request_pad_simple... 2021-05-05 06:17:14 +00:00
dts dts: allow per feature registration 2021-03-23 14:19:16 +00:00
faac faac: allow per feature registration 2021-03-23 14:19:16 +00:00
faad faad: allow per feature registration 2021-03-23 14:19:16 +00:00
fdkaac fdkaac: allow per feature registration 2021-03-23 14:19:16 +00:00
flite flite: allow per feature registration 2021-03-30 10:49:49 +00:00
fluidsynth fluidsynth: allow per feature registration 2021-03-23 14:19:17 +00:00
gme gme: allow per feature registration 2021-03-23 14:19:17 +00:00
gs gs: remove clang formatting 2021-03-30 09:51:18 +00:00
gsm gsm: allow per feature registration 2021-03-23 14:19:17 +00:00
hls hlssink(2): Don't write deprecated EXT-X-ALLOW-CACHE metadata 2021-05-06 10:46:15 +03:00
iqa iqa: allow per feature registration 2021-03-23 14:19:17 +00:00
isac isac: allow per feature registration 2021-03-23 14:19:17 +00:00
kate kate: allow per feature registration 2021-03-23 14:19:17 +00:00
ladspa gstladspautils.c: avoid implicit float to int conversion 2020-08-04 11:37:52 +00:00
ldac ldacenc: Emit message on errors 2021-04-08 00:38:47 +00:00
libde265 libde265: allow per feature registration 2021-03-23 14:19:17 +00:00
libmms libmms: allow per feature registration 2021-03-23 14:19:17 +00:00
lv2 gstlv2utils.c: avoid implicit float to int conversion 2020-08-04 11:37:52 +00:00
mdns mdns: allow per feature registration 2021-03-23 14:19:17 +00:00
modplug modplug: allow per feature registration 2021-03-23 14:19:17 +00:00
mpeg2enc mpeg2enc: allow per feature registration 2021-03-23 14:19:17 +00:00
mplex mplex: allow per feature registration 2021-03-23 14:19:17 +00:00
musepack musepack: allow per feature registration 2021-03-23 14:19:17 +00:00
neon neon: allow per feature registration 2021-03-23 14:19:17 +00:00
ofa ofa: allow per feature registration 2021-03-23 14:19:17 +00:00
onnx onnx: add plugin to apply ONNX neural network models to video 2021-04-27 13:05:21 +00:00
openal openal: allow per feature registration 2021-03-23 14:19:17 +00:00
openaptx openaptx: Fix to v0.2.0 due to license change 2021-05-11 14:53:56 +00:00
opencv opencv: allow per feature registration 2021-03-23 14:19:17 +00:00
openexr Fix build with OpenEXR 3 2021-05-04 14:58:49 +00:00
openh264 openh264: allow per feature registration 2021-03-23 14:19:17 +00:00
openjpeg openjpeg: allow per feature registration 2021-03-23 14:19:17 +00:00
openmpt openmpt: allow per feature registration 2021-03-23 14:19:17 +00:00
openni2 openni2: allow per feature registration 2021-03-23 14:19:17 +00:00
opus opus: allow per feature registration 2021-03-23 14:19:17 +00:00
qroverlay qroverlay: allow per feature registration 2021-03-23 14:19:17 +00:00
resindvd Use gst_element_request_pad_simple... 2021-05-05 06:17:14 +00:00
rsvg rsvg: allow per feature registration 2021-03-23 14:19:17 +00:00
rtmp rtmp: allow per feature registration 2021-03-23 14:19:17 +00:00
sbc sbc: Return hard error on allocation or mapping error 2021-04-08 00:38:47 +00:00
sctp webrtcbin: Support closing of data channels 2021-05-12 03:02:27 +00:00
smoothstreaming smoothstreaming: allow per feature registration 2021-03-23 14:19:17 +00:00
sndfile sndfile: allow per feature registration 2021-03-23 14:19:17 +00:00
soundtouch soundtouch: allow per feature registration 2021-03-23 14:19:17 +00:00
spandsp spandsp: allow per feature registration 2021-03-23 14:19:17 +00:00
srt srtobject: fix optlen of srt_getsockflag 2021-04-08 20:30:20 +08:00
srtp srtp: allow per feature registration 2021-03-23 14:19:17 +00:00
svthevcenc svthevcenc: Add new SVT-HEVC encoder element 2019-12-20 15:43:55 +00:00
teletextdec remove various useless linefeed in logs 2019-12-11 10:51:29 +01:00
ttml ttml: allow per feature registration 2021-03-23 14:19:17 +00:00
voaacenc voaacenc: allow per feature registration 2021-03-23 14:19:17 +00:00
voamrwbenc voamrwbenc: allow per feature registration 2021-03-23 14:19:17 +00:00
vulkan vulkan: allow per feature registration 2021-03-23 14:19:17 +00:00
wayland wayland: allow per feature registration 2021-03-23 14:19:17 +00:00
webp webp: allow per feature registration 2021-03-23 14:19:17 +00:00
webrtc webrtcbin: Fix deadlock when receiving new sctp stream 2021-05-12 03:02:27 +00:00
webrtcdsp webrtcdsp: Propagate VAD to audio level meta 2021-04-19 15:51:32 +00:00
wildmidi wildmidi: allow per feature registration 2021-03-23 14:19:17 +00:00
wpe wpe: Properly free property fields 2021-05-07 16:01:49 +00:00
x265 x265: allow per feature registration 2021-03-23 14:19:17 +00:00
zbar zbar: allow per feature registration 2021-03-23 14:19:17 +00:00
zxing zxing: allow per feature registration 2021-03-23 14:19:17 +00:00
meson.build onnx: add plugin to apply ONNX neural network models to video 2021-04-27 13:05:21 +00:00