webrtcbin: Sync to the clock per stream and not per bundle
authorSebastian Dröge <sebastian@centricular.com>
Thu, 24 Jun 2021 10:17:09 +0000 (13:17 +0300)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 28 Jun 2021 16:38:33 +0000 (16:38 +0000)
commit0e559fc2f394114d4ef884f375f470125e28bc89
treec70a288fff7bf00503d706c1137ea15afe5d211c
parentee0124cb3631cdfdeb92457e2c90ea43e4c58555
webrtcbin: Sync to the clock per stream and not per bundle

By using the clocksync inside the dtlssrtpenc, all streams inside a
bundled are synchronized together. This will cause problems if their
buffers are not already arriving synchronized: clocksync would wait for
a buffer on one stream and then buffers from the other stream(s) with
lower timestamps would all be sent out too late.

Placing the clocksync before the rtpbin and rtpfunnel synchronizes each
stream individually and they will be send out more smoothly as a result.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2355>
ext/webrtc/gstwebrtcbin.c
gst-libs/gst/webrtc/dtlstransport.c