gstreamer/gst
Havard Graff fb9c75db36 rtpjitterbuffer: fix lost-event using dts instead of pts
The lost-event was using a different time-domain (dts) than the outgoing
buffers (pts). Given certain network-conditions these two would become
sufficiently different and the lost-event contained timestamp/duration
that was really wrong. As an example GstAudioDecoder could produce
a stream that jumps back and forth in time after receiving a lost-event.

The previous behavior calculated the pts (based on the rtptime) inside the
rtp_jitter_buffer_insert function, but now this functionality has been
refactored into a new function rtp_jitter_buffer_calculate_pts that is
called much earlier in the _chain function to make pts available to
various calculations that wrongly used dts previously
(like the lost-event).

There are however two calculations where using dts is the right thing to
do: calculating the receive-jitter and the rtx-round-trip-time, where the
arrival time of the buffer from the network is the right metric
(and is what dts in fact is today).

The patch also adds two tests regarding B-frames or the
“rtptime-going-backwards”-scenario, as there were some concerns that this
patch might break this behavior (which the tests shows it does not).
2016-11-04 16:51:20 +02:00
..
alpha Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
apetag Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
audiofx Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
audioparsers aacparse: parse a bit more of the humongous LOAS data 2016-09-06 15:09:21 +01:00
auparse Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
autodetect autodetect: Use gst_bin_set_suppressed_flags() API 2016-09-14 11:24:08 +02:00
avi Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
cutter Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
debugutils Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
deinterlace deinterlace: Fix field ordering for reverse playback 2016-09-12 20:09:23 +02:00
dtmf Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
effectv Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
equalizer Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
flv flvmux: Assume PTS is DTS when PTS is missing 2016-10-24 11:54:30 -04:00
flx Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
goom Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
goom2k1 Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
icydemux Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
id3demux Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
imagefreeze imagefreeze: Forward latency queries to upstream 2016-10-03 15:37:29 +05:30
interleave Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
isomp4 qtmux: Don't deref NULL pads in debug output 2016-11-02 14:33:28 +02:00
law Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
level Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
matroska matroskamux: allow resolutions above 4096 2016-10-27 14:01:55 +01:00
monoscope meson: Add missing gstaudio dep to monoscope 2016-10-18 12:23:42 +05:30
multifile splitmuxsink: Fix GObject warnings on shutdown. 2016-11-02 11:02:12 +11:00
multipart Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
replaygain Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
rtp rtph263depay: Don't drop mode b packets with picture start code 2016-11-01 20:21:40 +02:00
rtpmanager rtpjitterbuffer: fix lost-event using dts instead of pts 2016-11-04 16:51:20 +02:00
rtsp rtspsrc: Also handle redirect on PLAY 2016-11-01 20:14:35 +02:00
shapewipe Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
smpte Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
spectrum Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
udp udpsrc: Check for G_PLATFORM_WIN32 for presence of ipi_spec_dest 2016-10-27 12:09:00 +01:00
videobox Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
videocrop Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
videofilter ext, gst: fix indentation 2016-09-15 09:53:07 +01:00
videomixer Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
wavenc Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
wavparse wavparse: Don't set caps to NULL after setting them on the srcpad 2016-11-03 12:34:51 +02:00
y4m Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00