Help needed regarding buffering

Wim Taymans wim.taymans at gmail.com
Tue Oct 30 02:46:28 PDT 2012


On 10/30/2012 07:14 AM, Vijay Vikram wrote:
> Hi ,
> Thanks for your response to my queries but my prob still remains in the
> same state.
> I would restate my issue first.
> I have a pipeline which has the following elements in the same sequence
> as mentioned below
> httpsrc->queue2->demux
> For queue, my code snippet looks like this-
> GstElement *queue = gst_element_factory_make( "queue2", "data" );
> g_object_set (G_OBJECT (queue ), "max-size-bytes", 10MB,
> "max-size-time", 0, "max-size-buffers", 0, "use-buffering", true, NULL);
> httpsrc pushes data in chunks. I am expecting the queue to hold the data
> chunks till 1MB(10 percent of the max size) is filled. But what i see is
> , queue pushes data to the demux as soon as it gets the first chunk.
> I tried using "temp-location" property, but in that case data is always
> pushed to the file specified in the "temp-location", and it never comes
> to the queue.
> Please suggest (if possible with code snippet) how to achieve it.
> Please correct me if I am going wrong with my pipe itself.

You need to watch for buffering messages and keep the pipeline paused 
while buffering. This is explained here:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-buffering.html

Wim

> Regards,
> Vikram
>
> On Tue, Oct 23, 2012 at 5:41 PM, Bernhard Graaf <bernhard.graaf at gmx.de
> <mailto:bernhard.graaf at gmx.de>> wrote:
>
>     Hi Vikram,____
>
>     __ __
>
>     I’ve implemented the buffer with setting all max values (bytes,
>     frames and time) and set only the min value for time. It’s runs fine
>     for me.____
>
>     __ __
>
>     Regards____
>
>     Bernhard____
>
>     __ __
>
>     ------------------------------------------------------------------------
>
>     *Von:*gstreamer-devel-bounces+bernhard.graaf=gmx.de at lists.freedesktop.org
>     <mailto:gmx.de at lists.freedesktop.org>
>     [mailto:gstreamer-devel-bounces+bernhard.graaf
>     <mailto:gstreamer-devel-bounces%2Bbernhard.graaf>=gmx.de at lists.freedesktop.org
>     <mailto:gmx.de at lists.freedesktop.org>] *Im Auftrag von *Vijay Vikram
>     *Gesendet:* Dienstag, 23. Oktober 2012 12:58
>     *An:* Discussion of the development of and with GStreamer
>     *Betreff:* Re: Help needed regarding buffering____
>
>     __ __
>
>     Hi Wim,____
>
>     Thanks a lot for your prompt reply.____
>
>     ____
>
>     I have tried this thing with queue2 too.____
>
>     ____
>
>     The steps are mentioned below____
>
>     1. Set max-size-bytes= 10MB(for queue's max capacity)____
>
>     2. Set low-percent=high-percent=5 initially.____
>
>     ____
>
>     Now I am listening to bus messages. On GST_MESSAGE_BUFFERING, when I
>     get the percent vlaue, I am always getting either 0 or 100. ____
>
>     ____
>
>     Is it that restrictin based on number of bytes is not correct.
>     rather we should restrict the percentage values based on time as
>     explained in the link you have shared?____
>
>     ____
>
>     Or Is there something wrong with my understanding?____
>
>     ____
>
>     Regards,____
>
>     Vikram____
>
>     On Tue, Oct 23, 2012 at 3:23 PM, Wim Taymans <wim.taymans at gmail.com
>     <mailto:wim.taymans at gmail.com>> wrote:____
>
>     On 10/23/2012 11:45 AM, Vijay Vikram wrote:____
>
>     Hi,
>     I am trying to use queue element in my pipeline for buffering. My
>     goal is to start playback of content after some bytes are queued up.
>     According to my understanding of the queue, I was trying the following
>     1. Set max-size-bytes= some bytes(for queue's max capacity)
>     2. Set min-threshold-bytes=some bytes(say 100k)
>     souphttpsrc is downloading the data.
>     Now I was thinking that chunks will be queued up inside queue till
>     the min-threshold(100k bytes) is reached and queue will start
>     pushing the data downstream(thats a demux) after that.
>     But while testing, I realized that queue starts pushing as soon as
>     it gets the first chunk.
>     Looks like my understanding of queue is not correct.
>     Can someone help me out regarding this? If you can share some
>     insight or some documentation to help me do this, that would be
>     great of you.____
>
>     __ __
>
>     Don't use queue for this, the min-threshold-* is useless. Use queue2
>     to implement buffering and
>     check out the buffering documentation here:
>
>     http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-buffering.html
>
>     Wim
>
>     ____
>
>     Regards,
>     Vikram
>
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel____
>
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel____
>
>     __ __
>
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>



More information about the gstreamer-devel mailing list