gstreamer/gst
Havard Graff 8b96d8ee8d rtpbin: fix shutdown crash in rtpbin
The key is to make sure the jitterbuffer is set to NULL *before* the
ptdemux.

The race that existed would basically happen when ptdemux had reached
READY, and the jitterbuffer would then push a buffer, triggering a new
pad with a new payloadtype being added and ghosted to the rtpbin itself.

However, the srcpad of the ptdemux would now be inactive, and all the
sticky-event pushed on it would be swallowed, not allowing any to reach
the ghost-pad. Then the buffer in-flight would come to the ghostpad,
and we would assert that a buffer arrived before the necessary
events.

By simply re-ordering the state-changes, we ensure that there will be
no buffer racing into the ptdemux while its state is being changed,
and the problem disappears completely.

Notice also that there is not point in disconnecting the signals on the
ptdemux before this point, since we need the push-thread to settle
down before we can do this in a non-racy way.
2019-12-20 08:27:07 +00:00
..
alpha Remove autotools build system 2019-10-14 11:04:18 +01:00
apetag Remove autotools build system 2019-10-14 11:04:18 +01:00
audiofx Remove autotools build system 2019-10-14 11:04:18 +01:00
audioparsers aacparse: fix wrong offset of adts channel 2019-11-18 01:06:41 +00:00
auparse Remove autotools build system 2019-10-14 11:04:18 +01:00
autodetect Remove autotools build system 2019-10-14 11:04:18 +01:00
avi avimux: Add support for S24LE and S32LE raw audio 2019-12-18 11:16:30 +00:00
cutter Remove autotools build system 2019-10-14 11:04:18 +01:00
debugutils good: Avoid usage of deprecated API 2019-10-16 07:46:58 +00:00
deinterlace Remove autotools build system 2019-10-14 11:04:18 +01:00
dtmf Remove autotools build system 2019-10-14 11:04:18 +01:00
effectv Remove autotools build system 2019-10-14 11:04:18 +01:00
equalizer Remove autotools build system 2019-10-14 11:04:18 +01:00
flv flvdemux: Don't replace video codec data when we receive a PAR 2019-12-16 21:51:38 +00:00
flx Remove autotools build system 2019-10-14 11:04:18 +01:00
goom Remove autotools build system 2019-10-14 11:04:18 +01:00
goom2k1 Remove autotools build system 2019-10-14 11:04:18 +01:00
icydemux Remove autotools build system 2019-10-14 11:04:18 +01:00
id3demux Remove autotools build system 2019-10-14 11:04:18 +01:00
imagefreeze Remove autotools build system 2019-10-14 11:04:18 +01:00
interleave Remove autotools build system 2019-10-14 11:04:18 +01:00
isomp4 qtmux: protect access to GstElement.sinkpads 2019-12-16 14:17:38 +00:00
law Remove autotools build system 2019-10-14 11:04:18 +01:00
level Remove autotools build system 2019-10-14 11:04:18 +01:00
matroska matroskamux: Add property to set DateUTC 2019-11-25 14:01:48 +01:00
monoscope Remove autotools build system 2019-10-14 11:04:18 +01:00
multifile splitmuxsink: Increment fragment_id even if no fragment location was provided 2019-12-13 22:59:55 +00:00
multipart Remove autotools build system 2019-10-14 11:04:18 +01:00
replaygain Remove autotools build system 2019-10-14 11:04:18 +01:00
rtp rtpjpegdepay: outputs framed jpeg 2019-12-04 13:02:54 +00:00
rtpmanager rtpbin: fix shutdown crash in rtpbin 2019-12-20 08:27:07 +00:00
rtsp rtspsrc: avoid seek DISCONT when only rate changes in same direction 2019-12-19 05:54:38 +00:00
shapewipe Remove autotools build system 2019-10-14 11:04:18 +01:00
smpte Remove autotools build system 2019-10-14 11:04:18 +01:00
spectrum Remove autotools build system 2019-10-14 11:04:18 +01:00
udp Don't pass default GLib marshallers for signals 2019-11-17 15:32:30 +00:00
videobox Remove autotools build system 2019-10-14 11:04:18 +01:00
videocrop videocrop: Also update the coordinate when in-place 2019-11-12 17:28:22 -05:00
videofilter Remove autotools build system 2019-10-14 11:04:18 +01:00
videomixer Remove autotools build system 2019-10-14 11:04:18 +01:00
wavenc Remove autotools build system 2019-10-14 11:04:18 +01:00
wavparse Remove autotools build system 2019-10-14 11:04:18 +01:00
y4m Remove autotools build system 2019-10-14 11:04:18 +01:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30