gstreamer/subprojects
Jan Schmidt ef8dfd7873 rtpmanager: save the report block statistics in each RTPSource
Move RB info from receiver reports into the internal source that the RR
are about, and deprecate (but retain) the old mapping where each
external source has only a single RB entry in the rtp statistics.

The old method is broken if a remote peer uses a single ssrc to send
receiver reports for more than one of our internal sources, other
as multiple RB in a single packet, or alternate RB in different reports.
In each case only the most recent entry was kept, overwriting data for
other internal sources.

In multicast scenarios each internal source may receive multiple
receiver reports from different peers. To support that, all received
RR's are now stored into a hash table indexed by the sender's SSRC,
and all RRs are placed into an array when generating statistics, so
that the information from all peers is retrievable.

The current deficient behaviour (adding RB info into non-internal RTPSources) is
deprecated but kept in order to be backward compatible, and retained
that way in the generated statistics structure.

Refs
[1] https://tools.ietf.org/html/rfc3550#section-6.4.1

Based on a patch by Fede Claramonte <fclaramonte@twilio.com>

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7424>
2024-10-11 05:20:22 +00:00
..
gst-devtools common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gst-docs matroskamux: Port to GstAggregator 2024-10-01 13:20:18 +00:00
gst-editing-services common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gst-examples common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gst-integration-testsuites h264parse: attach LCEVC meta to buffers if it is present in SEI 2024-10-02 20:33:13 +00:00
gst-libav avviddec: Unlock video decoder stream lock temporarily while finishing frames 2024-09-29 12:55:10 +00:00
gst-plugins-bad qroverlay: Change pixel-size to percent of width or height 2024-10-11 04:07:26 +00:00
gst-plugins-base riff: Add support for Lagarith fourcc tag 2024-10-10 03:55:04 +00:00
gst-plugins-good rtpmanager: save the report block statistics in each RTPSource 2024-10-11 05:20:22 +00:00
gst-plugins-ugly common: Stop using GQuark-based GstStructure name API 2024-09-26 19:21:29 +03:00
gst-python meson: do not invoke pkgconfig directly in gst-python 2024-09-05 03:00:28 +00:00
gst-rtsp-server gst-rtsp-server: Make test-onvif-client example work on Windows 2024-08-20 19:44:42 +00:00
gstreamer gst: structure: add more GstIdStr methods 2024-10-04 11:19:46 +02:00
gstreamer-sharp Back to development 2024-03-05 12:58:57 +00:00
gstreamer-vaapi common: Use more efficient versions of GstCapsFeatures API where possible 2024-09-26 19:26:18 +03:00
macos-bison-binary
packagefiles ntv2: Update to AJA NTV2 SDK 17.1.0 2024-09-27 16:43:37 +00:00
webview2 subprojects: webview2: Fix warning with meson 1.4.0 2024-04-13 14:47:29 +00:00
win-flex-bison-binaries
win-nasm
win-pkgconfig
avtp.wrap
cairo.wrap cairo: update wrap to 1.18.0 2023-12-13 11:51:53 +00:00
dav1d.wrap meson: Declare dav1d dependency in subproject 2024-03-25 10:14:13 +00:00
DirectX-Headers.wrap subprojects: Add DirectX-Headers wrap 2023-12-14 18:08:00 +09:00
directxmath.wrap subprojects: directxmath: Update to 3.1.9 2024-04-02 05:14:53 +09:00
dssim.wrap
dv.wrap
expat.wrap
fdk-aac.wrap
FFmpeg.wrap meson: Make wrap downloads smaller 2024-03-23 13:08:15 +00:00
flac.wrap flac: Add wrap file and add fallback for it to the flac plugin 2024-04-07 11:12:51 +00:00
fontconfig.wrap
freetype2.wrap
fribidi.wrap
gl-headers.wrap
glib-networking.wrap subprojects: update glib-networking wrap to 2.78.1 2024-04-03 18:49:08 +00:00
glib.wrap subprojects: update glib wrap to 2.78.3 2023-12-21 19:22:25 +02:00
gobject-introspection.wrap
graphene.wrap
gst-plugins-rs.wrap Back to development 2024-03-05 12:58:57 +00:00
gtk-sharp.wrap csharp: update gtk-sharp subproject 2023-12-07 17:34:30 +01:00
gtk.wrap meson: Bump gtk4 and pango wraps 2024-08-17 15:00:11 +05:30
harfbuzz.wrap
json-glib.wrap
lame.wrap
libdrm.wrap libdrm.wrap: Bump to latest 2.4.120 2024-05-29 15:49:45 +00:00
libffi.wrap
libgudev.wrap wraps: libgudev: add fallback uri 2024-07-24 11:44:28 +00:00
libjpeg-turbo.wrap
liblc3.wrap subprojects: update liblc3 wrap to 1.1.1 2024-06-28 13:38:36 +01:00
libmicrodns.wrap
libnice.wrap webrtc: Change requirement to libnice 0.1.22 2024-03-22 08:49:32 +00:00
libopenjp2.wrap meson: Update openjpeg wrap to 2.5.2, fixes a warning 2024-09-10 14:59:36 +00:00
libpng.wrap
libpsl.wrap
libsoup.wrap subprojects: Fix libsoup build on windows with gcc14 2024-08-14 04:34:28 +00:00
libsrtp2.wrap
libva.wrap meson: Fix libva.wrap meson build 2024-06-13 04:48:56 +00:00
libwpe.wrap
libxml2.wrap
ntv2.wrap ntv2: Update to AJA NTV2 SDK 17.1.0 2024-09-27 16:43:37 +00:00
ogg.wrap
openh264.wrap subprojects: update openh264 to 2.4.1 2024-09-08 15:31:27 +00:00
opus.wrap subprojects: bump opus wrap to 1.5.2 2024-06-22 12:26:22 +01:00
orc.wrap subprojects: track orc main branch again 2024-03-05 13:25:19 +00:00
pango.wrap meson: Bump gtk4 and pango wraps 2024-08-17 15:00:11 +05:30
pcre2.wrap
pixman.wrap meson: Bump pixman.wrap to latest version 2024-03-23 13:08:15 +00:00
proxy-libintl.wrap
pycairo.wrap
pygobject.wrap
soundtouch.wrap pitch: add validate tests 2024-05-02 13:26:09 +02:00
sqlite3.wrap
vorbis.wrap
vpx.wrap subprojects: bump libvpx wrap to 1.14 2024-08-14 04:34:27 +00:00
wayland-protocols.wrap gstwayland: Support wp_single_pixel_buffer_v1 2024-01-22 16:51:36 -05:00
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap meson: Make wrap downloads smaller 2024-03-23 13:08:15 +00:00
zlib.wrap