Search code examples
gstreamer

Why does gstreamer tee fail with udpsrc?


This gstreamer pipeline, with 1 sink, works:

gst-launch-1.0 udpsrc port=5600 do-timestamp=true ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink

This pipeline, with 2 sinks, also works:

gst-launch-1.0 videotestsrc ! tee name=t ! queue ! autovideosink t. ! queue ! autovideosink

But this pipeline, with 2 sinks, stalls:

gst-launch-1.0 udpsrc port=5600 do-timestamp=true ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! queue ! rtph264depay ! h264parse ! tee name=t queue ! avdec_h264 ! autovideosink t. ! queue ! avdec_h264 ! autovideosink

Why?

Version info:

$ gst-launch-1.0 --version
gst-launch-1.0 version 1.16.2
GStreamer 1.16.2
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0

Thanks!


Solution

  • ! tee name=t queue !

    You are missing a ! between the tee and the queue.