gstreamer/tests/check/elements
Mikhail Fludkov 346b077ae0 rtpvp*depay: possibly forward might-have-been-fec PacketLost events
This is ad adaptation of a Pexip patch for dealing with spurious
GstRTPPacketLost events caused by lost ulpfec packets: as FEC packets
under that scheme are spliced in the same sequence domain as the media
packets, it is not generally possible to determine whether a lost packet
was a FEC packet or a media packet.

When upstreaming pexip's ulpfec patches, we decided to drop all lost
events at the base depayloader level, and where the original patch
from pexip was making use of picture ids and marker bits to determine
whether a packet should be forwarded, this patch makes use of those
to determine whether they should be dropped instead (by removing their
might-have-been-fec field).

Spurious lost events coming out of the depayloader can cause the
decoder to stop decoding until the next keyframe and / or request a new
keyframe, and while this is not desirable it makes sense to forward
that information when we have other means to determine whether a lost
packet was indeed a FEC packet, as is the case with VP8 / VP9 payloads
when they carry a picture id.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/769>
2020-10-29 19:56:07 +01: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: add test suite for alpha 2015-04-10 10:20:03 +01: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: flvmux: Instead of using the testclock, just send eos event for drain 2020-03-02 01:37:27 +09: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 interleave: fix message leaks in test 2016-06-21 10:51:08 +03: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 documentation: fix a number of typos 2019-10-05 22:38:11 +00: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: test correct pad names are created 2020-07-28 11:41:51 +00:00
qtdemux.h tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
qtmux.c qtmux: properly support initial caps nego failure 2020-09-28 15:37:12 +10: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 rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility 2020-08-08 10:08:31 +03:00
rtpbin.c Fix usage of C99 2020-03-23 21:32:04 -04: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 tests: rtpcollision: use alawenc/dec in these tests instead of Speex 2014-12-30 17:19:59 +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
rtpjitterbuffer.c rtpjitterbuffer: don't send multiple instant RTX for the same packet 2020-10-28 01:22:24 +01:00
rtpjpeg.c rtpjpeg: Use gst_memory_map() instead of gst_buffer_map() 2020-04-03 17:01:24 +02:00
rtpmux.c Run gst-indent through the files 2018-11-28 05:52:16 +02:00
rtpopus.c rtpopuspay: make depay ! pay work 2020-04-03 09:04:32 +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 rtpsession: make tests more stable 2020-06-20 19:45:33 +00:00
rtpssrcdemux.c rtpssrcdemux: Handle RTCP APP packets 2020-02-11 15:12:07 +01: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 rtpvp*depay: possibly forward might-have-been-fec PacketLost events 2020-10-29 19:56:07 +01:00
rtpvp9.c rtpvp*depay: possibly forward might-have-been-fec PacketLost events 2020-10-29 19:56:07 +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 tests: splitmuxsink: Add more timecode based split test 2020-04-20 21:39:54 +09:00
splitmuxsinktimecode.c tests: splitmuxsink: Add more timecode based split test 2020-04-20 21:39:54 +09:00
splitmuxsrc.c tests: Split splitmux test case 2020-04-03 17:08:51 +09: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videofilter.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videomixer.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: wavparse: add test for processing an actual .wav file 2016-11-03 15:42:29 +02:00
y4menc.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00