gstreamer/tests/check/elements
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
..
aacparse.c tests: aacparser: Test that short raw frames don't get concatenated 2018-01-18 19:09:25 +00:00
ac3parse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
alpha.c tests: Fix alpha test on big endian machines. 2021-04-13 08:20:45 +00:00
alphacolor.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
amrparse.c check: Remove dead code 2017-01-02 15:06:33 +01:00
apev2mux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
aspectratiocrop.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audioamplify.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
audiochebband.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiocheblimit.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiodynamic.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
audioecho.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
audiofirfilter.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
audioiirfilter.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
audioinvert.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
audiopanorama.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
audiowsincband.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiowsinclimit.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
autodetect.c meson: add options to set package name and origin 2017-05-20 14:53:42 +01:00
avimux.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
avisubtitle.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
capssetter.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
deinterlace.c deinterlace: Added unit tests for field=auto 2016-03-24 14:34:11 +02:00
deinterleave.c deinterleave: fix leaks 2016-06-21 10:51:08 +03:00
dtmf.c rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset 2014-10-10 18:12:32 -04:00
equalizer.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
flacparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
flvdemux.c tests: flvdemux: Add new test for channel detect using aac codec-data 2018-10-12 14:35:37 -04:00
flvmux.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
gdkpixbufoverlay.c tests: gdkpixbufoverlay: add minimal unit test 2015-09-29 11:15:35 +01:00
gdkpixbufsink.c Fix FSF address 2012-11-04 00:07:18 +00:00
icydemux.c icydemux: reset tags on empty value 2017-02-14 12:24:13 +02:00
id3demux.c Fix FSF address 2012-11-04 00:07:18 +00:00
id3v2mux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
imagefreeze.c imagefreeze: Add test for new live mode 2020-06-29 12:07:14 +03:00
interleave.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
jpegdec.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
jpegenc.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
level.c level: add GstRTPAudioLevelMeta on buffers 2021-02-04 11:12:47 +01:00
matroskademux.c matroska: fix memory leaks due to toc related updates 2017-12-15 16:14:43 +02:00
matroskamux.c tests: matroskamux avoid -Wmaybe-uninitialized 2019-01-18 13:53:18 +00:00
matroskaparse.c tests: matroskaparse: fail on errors and disable pull mode test 2014-06-28 17:40:45 +01:00
mpegaudioparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
mpg123audiodec.c tests: fix mpg123audiodec test for big-endian architectures 2016-02-16 10:40:39 +00:00
mulawdec.c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
mulawenc.c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
multifile.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
packets.h rtp: Implement ULPFEC (RFC 5109) 2018-02-21 14:15:22 +01:00
parser.c tests: Fix parser tests 2013-05-10 13:10:29 +02:00
parser.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux.c tests: qtdemux: fix typo in caps field 2020-11-12 23:40:13 +00:00
qtdemux.h tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
qtmux.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
rganalysis.c rganalysis: Fix compiler warnings in the unit test 2016-01-08 15:32:47 +02:00
rglimiter.c tests: Add missing LDADD for libm in tests using math.h 2017-03-08 22:55:09 -05:00
rgvolume.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtp-payloading.c rtpopuspay: set MARKER flag 2021-04-26 15:25:56 +02:00
rtpbin.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
rtpbin_buffer_list.c test: rtpbin_buffer_list: add a test for invalid packets in buffer list 2019-08-07 15:32:30 -04:00
rtpcollision.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
rtpfunnel.c rtpfunnel: Also forward custom sticky event 2020-10-06 20:57:49 +00:00
rtph261.c rtph261depay: Fix check of valid payload length 2016-08-26 11:53:22 -04:00
rtph263.c rtph263ppay: Fix caps leak 2016-11-01 20:20:47 +02:00
rtph264.c rtph26*depay: drop FU's without a corresponding start bit 2020-09-21 08:08:38 +00:00
rtph265.c rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility 2020-08-08 10:08:31 +03:00
rtphdrextrfc6464.c rtp: add rtphdrextrfc6464 2021-02-04 11:12:51 +01:00
rtpjitterbuffer.c rtpjitterbuffer: fix divide-by-zero 2021-04-25 02:21:04 +02:00
rtpjpeg.c rtpjpeg: Use gst_memory_map() instead of gst_buffer_map() 2020-04-03 17:01:24 +02:00
rtpmux.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
rtpopus.c tests: add rtpopus multichannel test cases 2021-02-11 07:46:04 +00:00
rtpptdemux.c rtpptdemux: set payload to caps inside gst_rtp_pt_demux_get_caps 2020-02-11 18:39:22 +00:00
rtpred.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtprtx.c rtprtxsend: allow generic input caps 2020-01-28 15:44:13 +00:00
rtpsession.c rtp: fix test_twcc_header_and_run to support big endian. 2021-04-13 11:35:15 +00:00
rtpssrcdemux.c rtpssrcdemux: fix "data flow before segment event" crash 2021-05-25 22:04:41 +00:00
rtpst2022-1-fecdec.c rtpmanager: implement SMPTE 2022-1 FEC decoder 2020-10-08 22:22:18 +00:00
rtpst2022-1-fecenc.c rtpmanager: implement SMPTE 2022-1 FEC encoder 2020-10-08 22:22:18 +00:00
rtpstorage.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtptimerqueue.c rtpjitterbuffer: don't send multiple instant RTX for the same packet 2020-10-28 01:22:24 +01:00
rtpulpfec.c tests: rtpulpfec: fix buffer leak in unit test 2019-03-06 19:40:10 +00:00
rtpvp8.c rtpvp8depay: Send lost events when marker bit is missing 2020-10-30 03:43:19 +01:00
rtpvp9.c rtpvp9depay: Improve SVC parsing, aggregate all layers 2020-10-30 17:46:30 +01:00
shapewipe.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
souphttpsrc.c souphttpsrc test: free g_get_current_dir return 2018-04-13 20:35:24 +02:00
spectrum.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
splitmuxsink.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
splitmuxsinktimecode.c tests: splitmuxsink: Add more timecode based split test 2020-04-20 21:39:54 +09:00
splitmuxsrc.c splitmuxsrc: Fix comment in a test 2020-10-31 02:50:51 +00:00
udpsink.c tests: udpsink: add check that sets QoS on IPv4/6 sockets 2017-12-23 12:45:11 +01:00
udpsrc.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videobox.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videocrop.c videocrop: handle non raw caps features 2021-03-26 10:19:03 +00:00
videofilter.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videoflip.c videoflip: fix possible crash when setting the video-direction while running 2021-01-04 12:10:12 +00:00
videomixer.c Use gst_element_request_pad_simple 2021-05-05 06:17:20 +00:00
vp8dec.c vpxdec: Check that output width and height != 0 2020-06-02 23:59:20 +03:00
vp8enc.c vp8enc: finish support for temporally scaled encoding 2020-10-16 09:25:10 +00:00
vp9enc.c tests: vp9enc: enforce I420 format 2020-06-08 17:58:29 +02:00
wavpackdec.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavpackenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavpackparse.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
wavparse.c wavparse: fix seeking in READY state 2021-02-18 16:32:24 +01:00
y4menc.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00