gstreamer/subprojects/gst-plugins-good/gst/rtpmanager
Sebastian Dröge 9156b373e6 rtpbin: Regularly emit the sync signal
Even if no new synchronization information is available.

This is necessary because the timestamp offset logic in rtpbin depends
on the base RTP time that is determined by the jitterbuffer, but this
changes all the time (especially in mode=slave) and the timestamp
offsets have to be updated accordingly. Doing so is especially important
if they're only determined by the RTP-Info, which never changes from the
very beginning.

The interval can be configured via the new min-sync-interval property.
Synchronization happens at least that often, but at most as often as the
old sync-interval property allows.
Both intervals are now based on the monotonic system clock.

Additionally, clean up synchronization code a bit, only emit either
inband NTP or RTCP SR synchronization at the same time, based on which
one has the more recent time information, and only emit RTP-Info
synchronization if it wasn't provided previously at the same time as the
NTP-based synchronization information.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6543>
2024-05-28 11:52:31 +00:00
..
gstrtpbin.c rtpjitterbuffer: Set max-rtcp-rtp-sync-time to -1 (disabled) 2024-05-28 11:52:30 +00:00
gstrtpbin.h rtpbin: Add new never/ntp RTCP sync modes 2024-05-28 11:52:30 +00:00
gstrtpdtmfmux.c
gstrtpdtmfmux.h
gstrtpfunnel.c rtpfunnel: Handle NTP-64 RTP header extension in caps similar to TWCC 2024-02-14 08:05:33 +00:00
gstrtpfunnel.h
gstrtphdrext-clientaudiolevel.c rtphdrext-clientaudiolevel: Fix typo in documentation 2024-02-21 17:25:43 +00:00
gstrtphdrext-clientaudiolevel.h
gstrtphdrext-mid.c rtpmanager: add support for writing RFC8843 (BUNDLE mid) RTP header extension 2022-03-21 03:18:18 +00:00
gstrtphdrext-mid.h rtpmanager: add support for writing RFC8843 (BUNDLE mid) RTP header extension 2022-03-21 03:18:18 +00:00
gstrtphdrext-ntp.c rtphdrext-ntp: Fix typo of the RFC number in the element metadata 2024-03-26 14:37:47 +02:00
gstrtphdrext-ntp.h rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension 2022-04-20 14:40:25 +00:00
gstrtphdrext-repairedstreamid.c rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-repairedstreamid.h rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-streamid.c rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-streamid.h rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-twcc.c
gstrtphdrext-twcc.h
gstrtpjitterbuffer.c rtpbin: Regularly emit the sync signal 2024-05-28 11:52:31 +00:00
gstrtpjitterbuffer.h
gstrtpmanager.c rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension 2022-04-20 14:40:25 +00:00
gstrtpmux.c docs: mark GstRTPMux as plugin API 2023-04-13 21:46:59 +00:00
gstrtpmux.h
gstrtpptdemux.c webrtc: add all SSRC attributes getting CAPS for a PT 2024-03-08 10:28:15 +00:00
gstrtpptdemux.h
gstrtprtxqueue.c
gstrtprtxqueue.h
gstrtprtxreceive.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstrtprtxreceive.h rtpmanager/rtx: implement initial support for reading/writing rid extensions 2022-03-21 03:18:18 +00:00
gstrtprtxsend.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstrtprtxsend.h rtpmanager/rtx: implement initial support for reading/writing rid extensions 2022-03-21 03:18:18 +00:00
gstrtpsession.c rtpsession: Only warn once if configured latency needs to be known but isn't yet 2023-12-27 11:00:44 +00:00
gstrtpsession.h
gstrtpssrcdemux.c rtpssrcdemux: set different stream-id on each src pad 2023-02-01 09:17:33 +00:00
gstrtpssrcdemux.h
gstrtpst2022-1-fecdec.c
gstrtpst2022-1-fecdec.h
gstrtpst2022-1-fecenc.c rtpst2022-1-fecenc: Drain column packets on EOS 2022-08-12 12:59:19 +00:00
gstrtpst2022-1-fecenc.h
gstrtputils.c rtpmanager: Move some duplicated constant and helper function to a single place 2022-04-20 14:40:25 +00:00
gstrtputils.h rtpmanager: Move some duplicated constant and helper function to a single place 2022-04-20 14:40:25 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
rtpjitterbuffer.c rtpjitterbuffer: Don't use estimated_dts to do default skew adjustment 2024-04-07 12:24:58 +00:00
rtpjitterbuffer.h rtpjitterbuffer: Add new "rfc7273-reference-timestamp-meta-only" property 2023-11-16 15:23:29 +00:00
rtpsession.c rtpsession: Remove some unused fields 2024-01-08 12:57:04 +02:00
rtpsession.h rtpsession: Remove some unused fields 2024-01-08 12:57:04 +02:00
rtpsource.c rtpsource: Don't store invalid running times and calculate with it 2023-09-23 07:39:00 +00:00
rtpsource.h rtpsource: Don't do probation for RTX sources 2022-10-10 14:56:18 +00:00
rtpstats.c
rtpstats.h rtpsession: Update 64-bit NTP header extensions with the actual NTP time in senders 2022-04-20 14:40:25 +00:00
rtptimerqueue.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
rtptimerqueue.h
rtptwcc.c twcc: Better handle duplicate packets 2023-04-10 09:37:51 +00:00
rtptwcc.h