gstreamer/gst
Havard Graff 1368b4214b rtpjitterbuffer: clean up and improve missing packets handling
* Try to make variable and function names more clear.
* Add plenty of comments describing the logic step-by-step.
* Improve the logging around this, making the logs easier to read and
  understand when debugging these issues.

* Revise the logic of packets that are actually beyond saving in doing
  the following:
1. Do an optimistic estimation of which packets can still arrive.
2. Based on this, find which packets (and duration) are now hopelessly
   lost.
3. Issue an immediate lost-event for the hopelessly lost and then add
   lost/rtx timers for the ones we still hope to save, meaning that if
   they are to arrive, they will not be discarded.

* Revise the use of rtx-delay:
  Earlier the rtx-delay would vary, depending on the pts of the latest
  packet and the estimated pts of the packet it being issued a RTX for,
  but now that we aim to estimate the PTS of the missing packet accurately,
  the RTX delay should remain the same for all packets.
  Meaning: If the packet have a PTS of X, the delay in asked for a RTX
  for this packet is always a constant X + delay, not a variable one.

* Finally ensure that the chaotic "check-for-stall" tests uses timestamps
  that starts from 0 to make them easier to debug.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/952>
2021-04-24 13:53:58 +00:00
..
alpha alpha: allow per feature registration 2021-03-29 12:45:22 +02:00
apetag apetag: allow per feature registration 2021-03-29 12:45:22 +02:00
audiofx audiofx: allow per feature registration 2021-03-29 12:45:22 +02:00
audioparsers audioparsers: allow per feature registration 2021-03-29 12:45:22 +02:00
auparse auparse: allow per feature registration 2021-03-29 12:45:23 +02:00
autodetect autodetect: allow per feature registration 2021-03-29 12:45:22 +02:00
avi avi: allow per feature registration 2021-03-29 12:45:22 +02:00
cutter cutter: allow per feature registration 2021-03-29 12:45:23 +02:00
debugutils debugutils: allow per feature registration 2021-03-29 12:45:22 +02:00
deinterlace deinterlace: allow per feature registration 2021-03-29 12:45:23 +02:00
dtmf dtmf: convert to bit accessors 2021-04-14 11:13:45 -04:00
effectv effectv: allow per feature registration 2021-03-29 12:45:22 +02:00
equalizer equalizer: allow per feature registration 2021-03-29 12:45:22 +02:00
flv flv: allow per feature registration 2021-03-29 12:45:22 +02:00
flx flx: allow per feature registration 2021-03-29 12:45:22 +02:00
goom goom: allow per feature registration 2021-03-29 12:45:23 +02:00
goom2k1 goom2k1: allow per feature registration 2021-03-29 12:45:23 +02:00
icydemux icydemux: allow per feature registration 2021-03-29 12:45:23 +02:00
id3demux id3demux: allow per feature registration 2021-03-29 12:45:23 +02:00
imagefreeze imagefreeze: allow per feature registration 2021-03-29 12:45:23 +02:00
interleave interleave: allow per feature registration 2021-03-29 12:45:22 +02:00
isomp4 qtmux: Protect against writing absurd sample durations 2021-04-13 00:18:36 +10:00
law law: allow per feature registration 2021-03-29 12:45:22 +02:00
level level: make properties thread-safe 2021-04-23 15:14:44 +02:00
matroska matroskamux: Don't pass a non-GObject pointer to GST_DEBUG_OBJECT and similar 2021-04-23 08:28:06 +03:00
monoscope monoscope: allow per feature registration 2021-03-29 12:45:23 +02:00
multifile multifile: allow per feature registration 2021-03-29 12:45:22 +02:00
multipart multipart: allow per feature registration 2021-03-29 12:45:22 +02:00
replaygain replaygain: allow per feature registration 2021-03-29 12:45:22 +02:00
rtp rtpsbcpay: remove use of packed struct for payload 2021-04-15 07:29:09 -04:00
rtpmanager rtpjitterbuffer: clean up and improve missing packets handling 2021-04-24 13:53:58 +00:00
rtsp rtspsrc: Fix race saving seek event seqnum. 2021-04-20 06:03:22 +00:00
shapewipe shapewipe: allow per feature registration 2021-03-29 12:45:23 +02:00
smpte smpte: allow per feature registration 2021-03-29 12:45:23 +02:00
spectrum spectrum: allow per feature registration 2021-03-29 12:45:23 +02:00
udp udp: allow per feature registration 2021-03-29 12:45:23 +02:00
videobox videobox: allow per feature registration 2021-03-29 12:45:23 +02:00
videocrop videocrop: Add support for GBR* video formats 2021-04-10 11:26:59 +00:00
videofilter videofilter: allow per feature registration 2021-03-29 12:45:23 +02:00
videomixer videomixer: document as deprecated 2021-02-18 01:48:24 +01:00
wavenc wavenc: allow per feature registration 2021-03-29 12:45:23 +02:00
wavparse wavparse: allow per feature registration 2021-03-29 12:45:23 +02:00
y4m y4m: allow per feature registration 2021-03-29 12:45:23 +02:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30