GStreamer 1.24.7 on Windows. I’m getting some errors about delayed linking failed. This seems to be an intermittent problem, so it’s a little tough to test. Here is my pipeline:
rtspsrc location=rtsp://10.16.14.207:554/s0 timeout=0 name=src !
application/x-rtp,media=video !
queue max-size-bytes=20971520 name=video_source_queue max-size-time=0 !
parsebin !
identity sync=true !
fallbackswitch name=video_fallback immediate-fallback=true !
video/x-h264 !
tee name=video_tee !
queue name=video_fake_queue !
fakesink
multifilesrc location=Videos/WaitingForStream.mp4 loop=true !
parsebin !
video/x-h264, stream-format=avc !
video_fallback.
fallbackswitch name=audio_fallback immediate-fallback=true !
audioconvert !
audioresample !
opusenc !
tee name=audio_tee !
queue name=audio_fake_queue !
fakesink
src. !
application/x-rtp,media=audio !
queue max-size-bytes=20971520 max-size-time=0 name=audio_source_queue !
parsebin !
decodebin !
identity sync=true !
audio_fallback.sink_0
audiotestsrc wave=silence !
audio_fallback.sink_1
Basically this will take an rtsp stream and if it’s not ready or has a failure, it will:
- Show the Videos/WaitingForStream.mp4 video.
- Play empty audio.
The pipeline ends up getting webrtcbin elements attached, but I don’t think any of that is related. I am listening for warning and error events on the bus and I see this:
gst/parse/grammar.y(918): gst_parse_no_more_pads (): /GstPipeline:pipeline3/GstRTSPSrc:src:
failed delayed linking some pad of GstRTSPSrc named src to some pad of GstQueue named audio_source_queue
This seems to correspond with the stream not playing on the webrtc client. My guess is there’s some hiccup in the audio portion of the stream and maybe the audio pad isn’t there for the rtspsrc, which is causing the queue to fail to link. The stream does have audio. I’m unsure what I need to do to handle this.