webrtcbin: fix msid line and allow customization
authorMathieu Duponchelle <mathieu@centricular.com>
Mon, 21 Mar 2022 22:03:36 +0000 (23:03 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 24 Mar 2022 16:43:29 +0000 (16:43 +0000)
commit06fec40f4569fb7529e5ea9974945f90f070dc34
treea7f06a6d2d0dca18fe9ac8aa0fbf1952fe8a75d5
parentd2ecce5862645d987301e4f5a06092b3fe7c42c6
webrtcbin: fix msid line and allow customization

From https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-16:

> Multiple media descriptions with the same value for msid-id and
> msid-appdata are not permitted.

Our previous implementation of simply using the CNAME as the msid
identifier and the name of the transceiver as the msid appdata was
misguided and incorrect, and created issues when bundling multiple
video streams together: the ontrack event was emitted with the same
streams for the two bundled medias, at least in Firefox.

Instead, use the transceiver name as the identifier, and expose
a msid-appdata property on transceivers to allow for further
customization by the application. When the property is not set,
msid-appdata can be left empty as it is specified as optional.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2003>
subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c
subprojects/gst-plugins-bad/ext/webrtc/webrtctransceiver.c
subprojects/gst-plugins-bad/ext/webrtc/webrtctransceiver.h
subprojects/gst-plugins-bad/tests/check/elements/webrtcbin.c