gstreamer/tests/check/elements
Stian Selnes 38a7545003 rtpjitterbuffer: Major improvements for RTX stats
Stats should also be collected for unsuccessful packets.

rtx-rtt is very important for determining the necessary configured
latency on the jitterbuffer. It's especially important to be able to
increase the latency when retransmitted packets arrive too late and are
considered lost. This patch includes these late packets in the
calculation of the various rtx stats, making them more correct and
useful.

Also in the case where the original packet arrives after a NACK is sent,
the received RTX packet should update the stats since it provides useful
information about RTT.

The RTT is only updated if and only if all requested retranmissions are
received. That way the RTT is guaranteed to make sense. If not we don't
know which request the packet is a response to and the RTT may be bogus.
A consequence of this patch is that RTT is not updated for a request
when one of the RTX packets for that seqnum is lost, but that since
measured RTT will be more accurate.

The implementation store the RTX information from the timed out timers
and use this when the retransmitted packet arrives. For performance
these timers are stored separately from the "normal" timers in order to
not impact performance (see attached performance test).

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
..
.gitignore gitignore: ignore qtdemux, rtph261 and rtpvp9 tests 2016-08-26 21:32:07 +02:00
aacparse.c tests: aacparse: use caps query instead of accept-caps 2015-08-14 13:42:27 -03: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 tests: amrparse: clean up test 2016-06-02 14:18:53 +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 check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02: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 check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02: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 check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiopanorama.c audiopanorama: cleanup and expand the tests 2013-06-11 21:48:18 +02: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 good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
avimux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
avisubtitle.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
capssetter.c fix buffer leaks in tests 2016-06-21 10:51:08 +03: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 check: Fix indentation 2016-03-24 16:22:31 +01:00
flvmux.c flvmux: Test to verify flvmux handles DTS with GST_CLOCK_TIME NONE 2016-03-24 14:30:21 +02: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 fix buffer leaks in tests 2016-06-21 10:51:08 +03: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 Fix FSF address 2012-11-04 00:07:18 +00:00
interleave.c interleave: fix message leaks in test 2016-06-21 10:51:08 +03:00
jpegdec.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
jpegenc.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
level.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
matroskademux.c tests: add minmal matroskademux test for subtitle output 2015-07-21 14:25:12 +01:00
matroskamux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02: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
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 fix buffer leaks in tests 2016-06-21 10:51:08 +03: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 element and pad leak 2016-07-18 10:54:59 +01:00
qtdemux.h qtdemux: Handle upstream GAP in push-mode/time segment 2016-07-01 14:21:04 +02:00
qtmux.c qtmux: Use complete AAC caps with codec_data in the tests 2016-07-04 17:45:40 +02:00
rganalysis.c rganalysis: Fix compiler warnings in the unit test 2016-01-08 15:32:47 +02:00
rglimiter.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
rgvolume.c rgvolume: make tag list writable before modifying it 2016-02-28 14:44:39 +00:00
rtp-payloading.c tests: remove a wrong 'const' specifier 2016-08-26 21:14:47 +02:00
rtpaux.c tests: rtpaux: use a dynamic pt in the test 2015-08-06 01:39:43 -03:00
rtpbin.c tests: rtpbin: fix caps leak 2016-06-02 14:19:02 +01:00
rtpbin_buffer_list.c Fix FSF address 2012-11-04 00:07:18 +00:00
rtpcollision.c tests: rtpcollision: use alawenc/dec in these tests instead of Speex 2014-12-30 17:19:59 +00:00
rtph261.c rtph261depay: Fix check of valid payload length 2016-08-26 11:53:22 -04:00
rtph263.c rtph263pdepay: Don't try to push empty frame 2016-08-26 11:57:15 -04:00
rtpjitterbuffer.c rtpjitterbuffer: Major improvements for RTX stats 2016-09-14 19:37:50 -04:00
rtpmux.c tests: rtpmux: Fix element memory leak 2016-02-15 09:55:30 +00:00
rtprtx.c tests/rtprtx: refactor the tests to use gstharness 2016-08-25 18:21:10 -04:00
rtpsession.c rtpsession: don't act on suspicious BYE RTCP 2016-05-20 09:28:39 +03:00
rtpvp9.c rtpvp9depay: Support flexible mode 2016-08-26 11:57:15 -04:00
shapewipe.c shapewipe: no need to activate pads 2014-05-09 18:10:31 +02:00
souphttpsrc.c tests: souphttpsrc: replace deprecated API 2016-05-14 08:40:12 -03:00
spectrum.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
splitmux.c tests: splitmux: skip tests if theora or ogg plugins are not available 2016-06-21 17:54:21 +01:00
sunaudio.c Fix FSF address 2012-11-04 00:07:18 +00:00
udpsink.c tests: add udpsink test to check client add/remove 2014-06-24 10:48:39 +01:00
udpsrc.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
videobox.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
videocrop.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
videofilter.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
videomixer.c videomixer: fix event leaks in test 2016-06-21 10:51:08 +03:00
vp8dec.c tests: vp8dec: add test for caps renegotiation 2014-09-02 01:01:43 -03:00
vp8enc.c vp8enc-test: Send inital events 2013-05-10 09:24:47 +02:00
vp9enc.c vp9enc: Fix leak of vpx_image_t 2016-08-26 11:57:15 -04: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 check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavparse.c wavparse: split the test 2014-01-06 21:13:37 +01:00
y4menc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00