webrtcbin: adding to existing pipeline in PLAY state via tee will block pipeline
Here is a reproducer for this problem, cobbled together from a few webrtc demos:
https://gitlab.freedesktop.org/boxerab/dynamic-webrtc-reproducer
To run, execute the binary and point your browser to http://127.0.0.1:57778/
In this repo, the browser initiates the offer, and gst creates a webrtcbin
linked to either a brand new pipeline (not dynamic), or to a dynamic branch linked to an existing pipeline via a tee
. The dynamic
flag at the top of pipeline.c
determines which type of pipeline to create. With dynamic
set to FALSE
, video is playing fine.
(for Chrome, you must right click on browser window, check show controls
, and then click the play button ). With TRUE
the webrtc negotiation completes successfully but the pipeline is blocked and no video packets are sent.