WebRTC: session-level `setup` attribute

I’m running into an incompatibility with the a=setup attribute when parsing an answer from a client.

The answer SDP contains the a=setup attribute on the session-level of the answer, where it seems as if gstreamer is expecting it to be only on the media-level.

Looking at RFC 4145, I see that it is allowed to be defined on both levels. I also see that the reference implementation of WebRTC accepts the session-level attribute.

I was looking into some insight into why this might be. My suspicion is this is a bug, but wanted to get some input before opening an item.

This is likely a bug.

subprojects/gst-plugins-bad/ext/webrtc/webrtcsdp.c · main · GStreamer / gstreamer · GitLab does a check for media level, but not session level.

I noticed it this week as well, what a coincidence :slight_smile:
I’ve started a patch on Commits · webrtc-setup-session-attr · Philippe Normand / gstreamer · GitLab
Will submit a MR soon, hopefully with a test.

1 Like

MR: webrtcbin: Allow session level setup attribute in SDP (!6930) · Merge requests · GStreamer / gstreamer · GitLab

Backported to 1.24.4. I’ll mark this as solved but feel free to comment again if needed.

1 Like