Confusing behavior from queue element

Michael Jones jonesmz at jonesmz.com
Wed Mar 21 05:55:14 UTC 2018


Here's my gstreamer version:

gst-launch-1.0 --version
gst-launch-1.0 version 1.12.4
GStreamer 1.12.4
https://packages.gentoo.org/package/media-libs/gstreamer

I have two examples of queue working contrary to expectations

gst-launch-1.0 -v -e \
    videotestsrc ! tee name=t0 \
    t0. ! queue ! x264enc ! matroskamux ! filesink location="test.mkv" \
    t0. ! queue ! queue ! autovideosink

Works, with both the file, and the on-screen display working

gst-launch-1.0 -v -e \
    videotestsrc ! tee name=t0 \
    t0. ! queue ! x264enc ! matroskamux ! filesink location="test.mkv" \
    t0. ! queue ! autovideosink

Does not work. The autovideosink shows a single frame, and the mkv file is
zero bytes. What makes the second queue needed on the last line?

Here's another set of examples.

gst-launch-1.0 -v -e \
    videotestsrc ! tee name=t0 \
    t0. ! queue ! autovideosink \
    t0. ! queue ! autovideosink

Works.

gst-launch-1.0 -v -e \
    videotestsrc ! tee name=t0 \
    t0. ! queue ! autovideosink \
    t0. ! autovideosink

Doesn't. Why not? Why do both outputs from the tee need to be queues? At
worst, I'd expect one autovideosink to work and the other to be blank, but
instead one displays a single frame and the other is black.

But the following DOES work. What's going on?

gst-launch-1.0 -v -e \
    videotestsrc ! tee name=t0 \
    t0. ! queue ! autovideosink \
    t0. ! queue ! autovideosink \
    t0. ! autovideosink

Why does adding a third output negate the need for a queue on all of them?

Does anyone know why queue behaves like this?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180321/921bce4d/attachment-0001.html>


More information about the gstreamer-devel mailing list