Skip to content

webrtcsrc: Make producer-peer-id optional

This change modifies the webrtcsrc so that it doesn't require signaller::producer-peer-id to be specified. The request-encoded-filter gobject signal now has the first argument producer_id as nullable and when the element emits the signal, it will provide a value of either the producer-peer-id from the signaller or the MSID of the incoming pad as a possible fallback value since some webrtc systems will include information about the peer in the MSID.

The reason for this change is that some signalling clients don't want/need to subscribe to a single peer -- such as LiveKit, where you can subscribe to all the peers in a room -- so the source element doesn't need to depend on it in all situations. The current implementation will just panic if no producer-peer-id is specified on the signaller.

Edited by Jordan Yelloz

Merge request reports