Skip to content

net/webrtc: multi producer support in webrtcsrc

In the WebRTCSrc:

- Add a new structure Session
  - manage each producer using a session
  - avoid send EOS when a session terminates, instead keep running
    waiting for any new producer to connect

- Maintain a bin element per session
  - each session bin encapsulates webrtcbin and the decoder if needed
    as well as the parser and filter if requested by the application
    (through request-encoded-filter)
  - this will be helpful to cleanup the session's respective elements
    when the corresponding producer terminates the session

In the WHIP Server:

- generate a new session id for every new client use the session id in the resource url

- remove the producer-peer-id property in the WhipServer signaler as it
is redundant to have producer id in a session having only one producer

- change WebRTCSrc to use session id if the signaler does not have the
property `producer-peer-id`
Edited by Taruntej Kanakamalla

Merge request reports