[gst-devel] querry : how the chain function and the activate_push function is called by the gstreamer core?

sudarshan bisht bisht.sudarshan at gmail.com
Mon Oct 6 09:28:12 CEST 2008


Hi Arnb ,
             Actually gst_plugin_src_activate_push function is used to
activate src pad in push mode , that means src pad can only push the data to
next element , and  gst_plugin_chain funcion does all the processing and
 pushes the data to next element using gst_pad_push funcion  .
          So gst_plugin_src_activate_push will be called only once in order
to set some variables but gst_plugin_chain will be called till the data is
there in the file .  And by default filesrc element sends 4096 bytes of data
eveytime to next element . but that can be changed using "blocksize"
property of filesrc  .



On Mon, Oct 6, 2008 at 12:39 PM, arnabsamanta
<arnabsamanta at tataelxsi.co.in>wrote:

>  Hi ,
>        there are two functions in the queue element namely
>                        gst_queue_chain() which does all the data processing
>                        gst_queue_src_activate_push() which pushes away the
> data out of the
> plugin
>
>        Can any body tell me how exactly these two functions -
> gst_plugin_chain()
> and gst_plugin_src_activate_push() will be      called ?
>
>        both the functions are declared in the plugin_init ()
>
>        is it like once the chain() is called and then the src_activate_push
> () is
> called and the loop gets repeated with chain                            ()
> and src_activate_push()
> alternately ? but then i added a counter in both these functions and
> displayed once they are called and observed that only the chain() function
> is displayed and not the                                other one in the
> src_activate_push
>                                                        or,
>                        the chain() function is called and after its data
> processing is
> completely over , then the
>  src_activate_push () is called ? if this is
> the case , then how the data is sent to the source
>              element from the
> filesrc element which send 4K bytes each time ? because to my understanding
> if the                          chain() is executed at a time , then the
> entire file has to be
> read and stord at once , which is                               quite not
> possible. am i right ?
>
>
>        I am unable to understand the squence by which the gstreamer core
> calls the
> functions declared in the init()
>
>
> The information contained in this electronic message and any attachments to
> this message are intended for the exclusive use of the addressee(s) and may
> contain proprietary, confidential or privileged information. If you are not
> the intended recipient, you should not disseminate, distribute or copy this
> e-mail. Please notify the sender immediately and destroy all copies of this
> message and any attachments contained in it.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



-- 
Regards,

Sudarshan Bisht
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20081006/692a976c/attachment.htm>


More information about the gstreamer-devel mailing list