<div>Hi , </div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; If your pipeline&nbsp;does not PREROLL&nbsp;, that means there is some problem in caps negotiation in the pipeline , and try to use&nbsp;both the queues only after&nbsp; the demuxer element .&nbsp;&nbsp;&nbsp; </div>
<div>&nbsp;</div>
<div>&nbsp;That looks like this :- </div>
<div>&nbsp;</div>
<div>gst-launch filesrc location=file.mpeg ! demultiplexer name=demux ! queue !<br>videodecoder ! videosink&nbsp; demux. ! queue ! &nbsp;audiodecoder&nbsp; ! &nbsp;audioconvert&nbsp; !&nbsp; audiosink</div>
<div>&nbsp;</div>
<div><br><br>&nbsp;</div>
<div class="gmail_quote">On Mon, Dec 29, 2008 at 9:11 AM, Eric Zhang <span dir="ltr">&lt;<a href="mailto:nicolas.m.zhang@gmail.com">nicolas.m.zhang@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi, gstreamer-devel:<br><br>&nbsp;&nbsp;&nbsp; Normally, it should be no problem if you just change your gstreamer from 0.10.9 to 0.10.21. &quot;max-size-buffers&quot; should also work.<br>
<br>&nbsp;&nbsp;&nbsp; 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&#39;t be performed. <br>
<br>Eric Zhang<br><br>
<div class="gmail_quote">2008/12/28 Sameer Naik <span dir="ltr">&lt;<a href="mailto:sameer.subscriptions@damagehead.com" target="_blank">sameer.subscriptions@damagehead.com</a>&gt;</span> 
<div>
<div></div>
<div class="Wj3C7c"><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi,<br>I have written a &nbsp;gstreamer plugin that does video decoding on specialized<br>hardware, and also written a videosink plugin that opens the framebuffer<br>
device,etc . For optimizing the entire pipeline the videosink plugin has the<br>_pad_alloc functionality, that directly makes available the framebuffer memory<br>to the decoder plugin, so that the output images can directly be written to<br>
the video memory. I would also mention, that the videosink can make available<br>3 such buffers (triple buffering) to the decoder, so effectively the decoder<br>should not request for more than three buffers at the same time, in which case<br>
if it does the _pad_alloc function will not return any buffer.<br>Now, if i construct my pipeline as such<br><br>gst-launch filesrc location=file.mpeg ! demultiplexer name=demux ! videodecoder<br>! queue ! videosink &nbsp;demux. ! audiodecoder ! audioconvert ! queue ! audiosink<br>
<br>what happens is, due to the queue element (after the videodecoder), the part<br>of the bin goes into its own thread. as a result, the videodecoder ends up<br>making a lot more buffer requests to the videosink, than the videosink can<br>
really allocate.<br>Due to this, in gstreamer version 0.10.9 i would add the queue before the<br>videodecoder. like so<br><br>gst-launch filesrc location=file.mpeg ! demultiplexer name=demux ! queue !<br>videodecoder ! videosink &nbsp;demux. ! audiodecoder ! audioconvert ! queue !<br>
audiosink<br><br>and everything works fine.<br><br>But the current version 0.10.21 does not allow me to do this, as in the<br>pipeline does not PREROLL.<br><br>I would like to know, whether it is possible to control how the queue<br>
functions so that it does not store more than 3 buffers. i tried specifying<br>max-size-buffers=3 on the queue, but it did not help.<br>I would also be interested in knowing any other ways this can be taken care<br>of.<br>
<br>Reagrds<br>~Sameer<br><br><br>------------------------------------------------------------------------------<br>_______________________________________________<br>gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br></blockquote></div></div></div><br><br>------------------------------------------------------------------------------<br>
<br>_______________________________________________<br>gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Regards,<br><br>Sudarshan Bisht<br>