gstreamer/gst/rtpmanager
Havard Graff 26c94af2ea rtpssrcdemux: fix "data flow before segment event" crash
This crash could happen at any time a RTP and RTCP buffer arrived
simultaneously in ssrcdemux.

The problem was that sticky-event arriving while the rtp and rtcp pads
were being set up could arrive just too late to be included in the initial
forwarding.

The fix checks if the stickies have been sent on the srcpad about to be
pushed on, and if not sends them. It also blocks any stickes from
being forwarded *prior* to this happening, to avoid them arriving on
the srcpad multiple times.

Since the test loops 1000 times, this will make running under valgrind
take forever, so use the RUNNING_ON_VALGRIND variable to detect we
are running under valgrind, and reduce the loop-count to 2 in that case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/992>
2021-05-25 22:04:41 +00:00
..
gstrtpbin.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
gstrtpbin.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpdtmfmux.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpdtmfmux.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpfunnel.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpfunnel.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtphdrext-rfc6464.c rtp: fix rtphdrextrfc6464 to support big endian. 2021-04-13 11:35:15 +00:00
gstrtphdrext-rfc6464.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtphdrext-twcc.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtphdrext-twcc.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpjitterbuffer.c rtpjitterbuffer: fix divide-by-zero 2021-04-25 02:21:04 +02:00
gstrtpjitterbuffer.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpmanager.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpmux.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpmux.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpptdemux.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpptdemux.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxqueue.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxqueue.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxreceive.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxreceive.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxsend.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtprtxsend.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpsession.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpsession.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpssrcdemux.c rtpssrcdemux: fix "data flow before segment event" crash 2021-05-25 22:04:41 +00:00
gstrtpssrcdemux.h rtpssrcdemux: make naming consistent 2021-05-25 22:04:41 +00:00
gstrtpst2022-1-fecdec.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpst2022-1-fecdec.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpst2022-1-fecenc.c rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpst2022-1-fecenc.h rtpmanager: allow per feature registration 2021-03-29 12:45:22 +02:00
meson.build rtp: add rtphdrextrfc6464 2021-02-04 11:12:51 +01:00
rtpjitterbuffer.c rtpjitterbuffer: More logging when calculating rfc7273 timestamps 2021-04-09 12:48:02 +05:30
rtpjitterbuffer.h rtpjitterbuffer: Properly free internal packets queue in finalize() 2020-04-22 10:28:30 -04:00
rtpsession.c rtpsession: never send on a non-internal source 2020-11-13 21:35:58 +01:00
rtpsession.h rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtpsource.c rtpsource: rewrite timeout-check to avoid underflow 2020-11-13 21:30:06 +01:00
rtpsource.h rtpsource: Report for which local SSRC is a remote RB reporting on 2020-11-03 12:35:54 -05:00
rtpstats.c rtpstats: guard against division by zero 2020-06-26 15:29:25 +00:00
rtpstats.h rtpsource: Report for which local SSRC is a remote RB reporting on 2020-11-03 12:35:54 -05:00
rtptimerqueue.c rtpjitterbuffer: don't send multiple instant RTX for the same packet 2020-10-28 01:22:24 +01:00
rtptimerqueue.h rtpjitterbuffer: don't send multiple instant RTX for the same packet 2020-10-28 01:22:24 +01:00
rtptwcc.c rtp: fix rtptwcc to support big endian. 2021-04-13 11:35:15 +00:00
rtptwcc.h rtpmanager: fix "redefinition of typedef RTPTWCCManager" compiler warning 2020-07-20 18:20:59 +01:00