webrtcsink does not work when trying to instantiate an element that fails
Describe your issue
websrtsink
does not work when there is an error creating an element
needed in an offer, for example, when this configuration would try to
instantiate av1enc
but it would fail:
gst-launch-1.0 webrtcsink name=ws video-caps="video/x-av1;video/x-vp8" videotestsrc ! ws. audiotestsrc ! ws.
or even having av1enc
as a second option:
gst-launch-1.0 webrtcsink name=ws video-caps="video/x-vp8;video/x-av1" videotestsrc ! ws. audiotestsrc ! ws.
This happens with a faulty element property as the one reported in !1594 (9e33bdf4)
Expected Behavior
gst-webrtc-signalling-server
should work with an element from the
offered list that works, even if some elements in the offer failed to
be instantiated.
Observed Behavior
gst-webrtc-signalling-server
does not work if an element with the
requested capabilities fails to be instantiated.
Its logs don't show any requests in this case.
Setup
- Operating System: Linux
- Device: Computer
-
gst-plugins-rs Version:
main
, commit45800d763635b4183b4e1643411ed973103d5cf7
-
GStreamer Version:
main
, commit236d6714ec7777dd83d8955ca188328369393283
- Command line:
In one terminal:
WEBRTCSINK_SIGNALLING_SERVER_LOG=debug cargo run --bin gst-webrtc-signalling-server
In other terminal:
gst-launch-1.0 webrtcsink name=ws video-caps="video/x-av1;video/x-vp8" videotestsrc ! ws. audiotestsrc ! ws.
Steps to reproduce the bug
- open terminal
- type
WEBRTCSINK_SIGNALLING_SERVER_LOG=debug cargo run --bin gst-webrtc-signalling-server
- open new terminal
- type
gst-launch-1.0 webrtcsink name=ws video-caps="video/x-av1;video/x-vp8" videotestsrc ! ws. audiotestsrc ! ws.
How reproducible is the bug?
Always
Screenshots if relevant
Solutions you have tried
Related non-duplicate issues
Additional Information
This fix hides this bug !1594 (merged)
Thank for @fengalin for helping to debug this.