<div>Hi Wim,</div>
<div>As I have mentioned in my previous emails, after handling buffering messages I am always getting either 0% or 100% from <strong>gst_message_parse_buffering</strong>.</div>
<div> </div>
<div>I would like to understand how queue sets its low and high watermark.</div>
<div> </div>
<div>As I have mentioned in my previous mail, my queue has "max-size-bytes" set to 10MB.</div>
<div>And by default low-percent=10 and high-percent=99.</div>
<div> </div>
<div> </div>
<div>So does that mean that the data will be pushed out of the queue when queue has 1MB data queued i.e. to say </div>
<div>is low watermark = 1MB, </div>
<div>and high watermark = 9.9MB</div>
<div> </div>
<div>As explained in the documentation, a BUFFERING message with 100% will be posted only when high watermark is reached. But as I have already told queue pushes data down stream as soon as first chunk(about 1KB) is queued up.</div>
<div> </div>
<div>I am sure I am missing some minute details of the queue. </div>
<div> </div>
<div>Regards,</div>
<div>Vikram<br><br></div>
<div class="gmail_quote">On Tue, Oct 30, 2012 at 3:16 PM, Wim Taymans <span dir="ltr"><<a href="mailto:wim.taymans@gmail.com" target="_blank">wim.taymans@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
<div>On 10/30/2012 07:14 AM, Vijay Vikram wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Hi ,<br>Thanks for your response to my queries but my prob still remains in the<br>same state.<br>I would restate my issue first.<br>
I have a pipeline which has the following elements in the same sequence<br>as mentioned below<br>httpsrc->queue2->demux<br>For queue, my code snippet looks like this-<br>GstElement *queue = gst_element_factory_make( "queue2", "data" );<br>
g_object_set (G_OBJECT (queue ), "max-size-bytes", 10MB,<br>"max-size-time", 0, "max-size-buffers", 0, "use-buffering", true, NULL);<br>httpsrc pushes data in chunks. I am expecting the queue to hold the data<br>
chunks till 1MB(10 percent of the max size) is filled. But what i see is<br>, queue pushes data to the demux as soon as it gets the first chunk.<br>I tried using "temp-location" property, but in that case data is always<br>
pushed to the file specified in the "temp-location", and it never comes<br>to the queue.<br>Please suggest (if possible with code snippet) how to achieve it.<br>Please correct me if I am going wrong with my pipe itself.<br>
</blockquote><br></div>You need to watch for buffering messages and keep the pipeline paused while buffering. This is explained here:<br><br><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-buffering.html" target="_blank">http://gstreamer.freedesktop.<u></u>org/data/doc/gstreamer/head/<u></u>manual/html/chapter-buffering.<u></u>html</a><br>
<br>Wim<br><br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Regards,<br>Vikram<br><br>
<div>On Tue, Oct 23, 2012 at 5:41 PM, Bernhard Graaf <<a href="mailto:bernhard.graaf@gmx.de" target="_blank">bernhard.graaf@gmx.de</a><br></div><mailto:<a href="mailto:bernhard.graaf@gmx.de" target="_blank">bernhard.graaf@gmx.de</a>><u></u>> wrote:<br>
<br> Hi Vikram,____<br><br> __ __
<div><br><br> I’ve implemented the buffer with setting all max values (bytes,<br> frames and time) and set only the min value for time. It’s runs fine<br></div> for me.____<br><br> __ __<br><br> Regards____<br>
<br> Bernhard____<br><br> __ __<br><br> ------------------------------<u></u>------------------------------<u></u>------------<br><br> *Von:*gstreamer-devel-bounces+<u></u>bernhard.graaf=<a href="mailto:gmx.de@lists.freedesktop.org" target="_blank">gmx.de@lists.<u></u>freedesktop.org</a><br>
<mailto:<a href="mailto:gmx.de@lists.freedesktop.org" target="_blank">gmx.de@lists.<u></u>freedesktop.org</a>><br> [mailto:<a href="mailto:gstreamer-devel-bounces%2Bbernhard.graaf" target="_blank">gstreamer-devel-<u></u>bounces+bernhard.graaf</a><br>
<mailto:<a href="mailto:gstreamer-devel-bounces%252Bbernhard.graaf" target="_blank">gstreamer-devel-<u></u>bounces%2Bbernhard.graaf</a>>=<a href="mailto:gmx.de@lists.freedesktop.org" target="_blank">gmx.<u></u>de@lists.freedesktop.org</a><br>
<mailto:<a href="mailto:gmx.de@lists.freedesktop.org" target="_blank">gmx.de@lists.<u></u>freedesktop.org</a>>] *Im Auftrag von *Vijay Vikram<br> *Gesendet:* Dienstag, 23. Oktober 2012 12:58<br> *An:* Discussion of the development of and with GStreamer<br>
*Betreff:* Re: Help needed regarding buffering____<br><br> __ __<br><br> Hi Wim,____<br><br> Thanks a lot for your prompt reply.____<br><br> ____<br><br> I have tried this thing with queue2 too.____<br>
<br> ____<br><br> The steps are mentioned below____<br><br> 1. Set max-size-bytes= 10MB(for queue's max capacity)____<br><br> 2. Set low-percent=high-percent=5 initially.____<br><br> ____
<div><br><br> Now I am listening to bus messages. On GST_MESSAGE_BUFFERING, when I<br></div> get the percent vlaue, I am always getting either 0 or 100. ____<br><br> ____
<div><br><br> Is it that restrictin based on number of bytes is not correct.<br> rather we should restrict the percentage values based on time as<br></div> explained in the link you have shared?____<br><br> ____<br>
<br> Or Is there something wrong with my understanding?____<br><br> ____<br><br> Regards,____<br><br> Vikram____
<div><br><br> On Tue, Oct 23, 2012 at 3:23 PM, Wim Taymans <<a href="mailto:wim.taymans@gmail.com" target="_blank">wim.taymans@gmail.com</a><br></div> <mailto:<a href="mailto:wim.taymans@gmail.com" target="_blank">wim.taymans@gmail.com</a>><u></u>> wrote:____<br>
<br> On 10/23/2012 11:45 AM, Vijay Vikram wrote:____
<div><br><br> Hi,<br> I am trying to use queue element in my pipeline for buffering. My<br> goal is to start playback of content after some bytes are queued up.<br> According to my understanding of the queue, I was trying the following<br>
1. Set max-size-bytes= some bytes(for queue's max capacity)<br> 2. Set min-threshold-bytes=some bytes(say 100k)<br> souphttpsrc is downloading the data.<br> Now I was thinking that chunks will be queued up inside queue till<br>
the min-threshold(100k bytes) is reached and queue will start<br> pushing the data downstream(thats a demux) after that.<br> But while testing, I realized that queue starts pushing as soon as<br> it gets the first chunk.<br>
Looks like my understanding of queue is not correct.<br> Can someone help me out regarding this? If you can share some<br> insight or some documentation to help me do this, that would be<br></div> great of you.____<br>
<br> __ __
<div><br><br> Don't use queue for this, the min-threshold-* is useless. Use queue2<br> to implement buffering and<br> check out the buffering documentation here:<br><br> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-buffering.html" target="_blank">http://gstreamer.freedesktop.<u></u>org/data/doc/gstreamer/head/<u></u>manual/html/chapter-buffering.<u></u>html</a><br>
<br> Wim<br><br></div> ____
<div><br><br> Regards,<br> Vikram<br><br><br> ______________________________<u></u>_________________<br> gstreamer-devel mailing list<br> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br>
</div> <mailto:<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a>><br> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel____" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel____</a>
<div><br><br><br> ______________________________<u></u>_________________<br> gstreamer-devel mailing list<br> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br>
</div> <mailto:<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a>><br> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel____" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel____</a><br>
<br> __ __
<div><br><br><br> ______________________________<u></u>_________________<br> gstreamer-devel mailing list<br> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br>
</div> <mailto:<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a>>
<div><br> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel</a><br><br><br><br><br>______________________________<u></u>_________________<br>
gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel</a><br>
<br></div></blockquote>
<div>
<div><br>______________________________<u></u>_________________<br>gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel</a><br></div></div></blockquote></div><br>