PULL mode and PUSH mode

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

PULL mode and PUSH mode

arnabsamanta
PULL mode and PUSH mode

 Hello Developers,

 I have a very basic doubt mentioned below . Kindly clarify.

 Can we have a pipeline with some of its elements in PULL mode and
 some of its elements in PUSH mode ?

 lets say we have a pipeline as follows

 gst-launch src ! B ! C ! D ! E ! sink 

 In which, D is the plugin in PULL mode and rest all plugins are in PUSH mode .
 In this case , i guess the gst_pad_push() of plugin C is not dependant on gst_pad_push()
 of plugin E as in between the plugin D itself pulls the data and the gst_pad_push() of plugin C
 returns irrespective of wheather the gst_pad_push() of plugin E is done or not .

 Is my above understanding correct ? Please clarify.

 I am sorry if my understanding sounds wired.  

 Thanks and Regards,
 Arnab

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.


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: PULL mode and PUSH mode

lrn-2
On 23.06.2009 17:01, Arnab Samanta wrote:

>   Hello Developers,
>
>   I have a very basic doubt mentioned below . Kindly clarify.
>
>   Can we have a pipeline with some of its elements in PULL mode and
>   some of its elements in PUSH mode ?
>
>   lets say we have a pipeline as follows
>
>   gst-launch src ! B ! C ! D ! E ! sink
>
>   In which, D is the plugin in PULL mode and rest all plugins are in PUSH mode .
>   In this case , i guess the gst_pad_push() of plugin C is not dependant on gst_pad_push()
>   of plugin E as in between the plugin D itself pulls the data and the gst_pad_push() of plugin C
>   returns irrespective of wheather the gst_pad_push() of plugin E is done or not .
>
>   Is my above understanding correct ? Please clarify.
>    
gst_pad_push() of plugin C seems to be irrelevant, because "src ! B ! C
! D" part of the pipeline works in pull mode, which means that
gst_pad_push() will never be called.

Push mode: gst_pad_push() -> _chain()
Pull mode: _get_range() <- gst_pad_pull_range()
Pull in upstream, push in downstream: _get_range() <-
gst_pad_pull_range(), _get_range() <- gst_pad_pull_range(),
gst_pad_push() -> _chain(), gst_pad_push() -> _chain()

P.S. At least i think so.

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel