livekitwebrtcsink /src with VP9: No video if starting sink pipeline before src pipeline
Describe your issue
When using separate gst-launch-1.0 pipelines for livekitwebrtcsink
and livekitwebrtcsrc
with vp9 (vp9enc) the order of startup matters: Starting the sink before the src prevents video from being displayed. Starting the src before the sink works fine, however.
This issue does not exist when using vp8 or h264.
Furthermore, (likely a different bug), with livekitwebrtcsrc no video will get through if one specifies more than 1 item in video-codecs
e.g. video-codecs='<VP8,VP9>
Expected Behavior
Video plays no matter the order of startup.
Observed Behavior
Starting the sink before the src prevents the video from being displayed. Starting the src before the sink works fine, however.
Setup
- Operating System: Ubuntu 22.04 (tuxedo)
- Device: Computer
-
gst-plugins-rs Version: commit
b1ad123595cf6765b2bb778b65d8a4253fd61d36
- GStreamer Version: 1.22.7
- Command line: using a custom nix flake to build a gst context
Steps to reproduce the bug
- open terminal
- run command
GST_DEBUG=3 gst-launch-1.0 livekitwebrtcsink name=sink \
signaller::ws-url=wss://aivero-uu41ybrs.livekit.cloud \
signaller::auth-token=$GET_A_SINK_TOKEN_FROM_RAPHA_OR_USE_YOUR_OWN \
signaller::room-name=rapha-test \
signaller::identity=webrtcsinktest \
signaller::participant-name=webrtcsinktest \
video-caps='video/x-vp9' \
videotestsrc \
! timeoverlay ! videoconvert ! queue ! sink.
- open a new terminal
- run command
GST_DEBUG=3 gst-launch-1.0 livekitwebrtcsrc \
name=src \
signaller::ws-url=wss://aivero-uu41ybrs.livekit.cloud \
signaller::auth-token=$GET_A_SRC_TOKEN_FROM_RAPHA_OR_USE_YOUR_OWN \
signaller::room-name=rapha-test \
signaller::identity=webrtcsrctest \
signaller::participant-name=webrtcsrctest \
video-codecs='<VP9>' \
src. ! queue ! videoconvert ! autovideosink
How reproducible is the bug?
Always
Screenshots if relevant
Solutions you have tried
Tried
Related non-duplicate issues
Additional Information
GST_DEBUG=6 logs are here, valid until 23 June