Confusing behavior from queue element
Nicolas Dufresne
nicolas at ndufresne.ca
Wed Mar 21 15:25:52 UTC 2018
Le mercredi 21 mars 2018 à 00:55 -0500, Michael Jones a écrit :
> 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?
With two queues, you have doubled the capacity. Default encoding
settings for x264enc will introduce a very large delay, while the
maximum queue size default to 10s or 10MB or 200 buffers (whatever is
met first, see max-size-time, max-size-bytes and max-size-buffers
property). If you would like to use this insanely high quality default
settings of x264enc with a single queue, you'll have to increase this
settings until it works.
>
> 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?
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list