mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
Another alternative to the src. Please correct.
Original commit message from CVS: Another alternative to the src. Please correct.
This commit is contained in:
parent
d8e23920eb
commit
a588e5748b
1 changed files with 54 additions and 1 deletions
|
@ -30,7 +30,7 @@ Chained (current implementation):
|
||||||
! gst_pad_push
|
! gst_pad_push
|
||||||
!---------------->!
|
!---------------->!
|
||||||
!
|
!
|
||||||
! gst_pad_chain (pad1->peer)
|
! pad1->chainfunc (pad1->peer)
|
||||||
!------------------------------->!
|
!------------------------------->!
|
||||||
! !
|
! !
|
||||||
: :
|
: :
|
||||||
|
@ -190,6 +190,59 @@ again in the next iteration.
|
||||||
:
|
:
|
||||||
|
|
||||||
|
|
||||||
|
(alternative implementation):
|
||||||
|
|
||||||
|
|
||||||
|
bin cothread1 src pad1 pad2 cothread2 plugin
|
||||||
|
! (src) (= pad1->peer) (plugin)
|
||||||
|
gst_bin_iterate
|
||||||
|
!
|
||||||
|
! (first entry)
|
||||||
|
!
|
||||||
|
! cothread_switch
|
||||||
|
!---------------->! gst_pad_pull
|
||||||
|
!------------------------------------------------>!
|
||||||
|
? !
|
||||||
|
!<------------------------------!
|
||||||
|
!
|
||||||
|
! (create buffer)
|
||||||
|
!
|
||||||
|
! gst_pad_push
|
||||||
|
!------------------------------>!
|
||||||
|
! (bufpen filled)
|
||||||
|
(return buffer) !
|
||||||
|
!<------------------------------------------------!
|
||||||
|
!
|
||||||
|
! pad_chain
|
||||||
|
!--------------------------------------! cothread switch
|
||||||
|
|---------------------->!
|
||||||
|
! gst_pad_pull (pad2)
|
||||||
|
!
|
||||||
|
!<----------!
|
||||||
|
!
|
||||||
|
! (get buffer from bufpen)
|
||||||
|
!
|
||||||
|
!---------->!
|
||||||
|
! pad2->chainfunc
|
||||||
|
!------------->!
|
||||||
|
!
|
||||||
|
:
|
||||||
|
|
||||||
|
:
|
||||||
|
!<-------------!
|
||||||
|
! gst_pad_pull (pad2)
|
||||||
|
!<----------!
|
||||||
|
!
|
||||||
|
! (bufpen empty)
|
||||||
|
!<-----------!
|
||||||
|
! cothread switch
|
||||||
|
!<------------------------------------!
|
||||||
|
!<----------------!
|
||||||
|
!
|
||||||
|
iteration ends
|
||||||
|
!
|
||||||
|
:
|
||||||
|
|
||||||
-----------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------
|
||||||
1b) Simple push-function based with multiple output
|
1b) Simple push-function based with multiple output
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue