[gst-devel] Controlling the queue behaviour
nicolas.m.zhang at gmail.com
Mon Dec 29 04:41:46 CET 2008
Normally, it should be no problem if you just change your gstreamer from
0.10.9 to 0.10.21. "max-size-buffers" should also work.
So, I think you should provide more debug infos and do some tests(E.g:
put a probe before your video/audio sinks and see whether there is buffers
flow into them; Turn on debug infos on basesink and your sink elements and
see what the sinks exactly do during preroll) yourself and figure out why
the preroll can't be performed.
2008/12/28 Sameer Naik <sameer.subscriptions at damagehead.com>
> I have written a gstreamer plugin that does video decoding on specialized
> hardware, and also written a videosink plugin that opens the framebuffer
> device,etc . For optimizing the entire pipeline the videosink plugin has
> _pad_alloc functionality, that directly makes available the framebuffer
> to the decoder plugin, so that the output images can directly be written to
> the video memory. I would also mention, that the videosink can make
> 3 such buffers (triple buffering) to the decoder, so effectively the
> should not request for more than three buffers at the same time, in which
> if it does the _pad_alloc function will not return any buffer.
> Now, if i construct my pipeline as such
> gst-launch filesrc location=file.mpeg ! demultiplexer name=demux !
> ! queue ! videosink demux. ! audiodecoder ! audioconvert ! queue !
> what happens is, due to the queue element (after the videodecoder), the
> of the bin goes into its own thread. as a result, the videodecoder ends up
> making a lot more buffer requests to the videosink, than the videosink can
> really allocate.
> Due to this, in gstreamer version 0.10.9 i would add the queue before the
> videodecoder. like so
> gst-launch filesrc location=file.mpeg ! demultiplexer name=demux ! queue !
> videodecoder ! videosink demux. ! audiodecoder ! audioconvert ! queue !
> and everything works fine.
> But the current version 0.10.21 does not allow me to do this, as in the
> pipeline does not PREROLL.
> I would like to know, whether it is possible to control how the queue
> functions so that it does not store more than 3 buffers. i tried specifying
> max-size-buffers=3 on the queue, but it did not help.
> I would also be interested in knowing any other ways this can be taken care
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel