mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
9987a75b1b
Original commit message from CVS: Implemented some test cases... they all fail :-( Added a flag to identity to for loop_based behaviour. Added a signal to fakesink when a buffer is consumed.
1041 lines
51 KiB
Text
1041 lines
51 KiB
Text
* = loopbased
|
|
|
|
/**************************************************************************************/
|
|
* 1 bin
|
|
**************************************************************************************/
|
|
|
|
1)
|
|
|
|
|
|
[-bin-------------------------------]
|
|
! [--------] [--------] !
|
|
! !faksesrc! !fakesink! !
|
|
! ! src -------- sink ! !
|
|
! [--------] [--------] !
|
|
[-----------------------------------]
|
|
|
|
2)
|
|
|
|
|
|
[-bin-----------------------------------------------]
|
|
! [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !fakesink! !
|
|
! ! src --- sink src ----- sink ! !
|
|
! [--------] [--------] [--------] !
|
|
[---------------------------------------------------]
|
|
|
|
3)
|
|
|
|
|
|
[-bin-----------------------------------------------]
|
|
! [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !fakesink! !
|
|
! ! src --- sink * src ----- sink ! !
|
|
! [--------] [--------] [--------] !
|
|
[---------------------------------------------------]
|
|
|
|
4)
|
|
|
|
[-bin--------------------------------------------------------------]
|
|
! [--------] [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !identity! !fakesink! !
|
|
! ! src --- sink src -- sink src -- sink ! !
|
|
! [--------] [--------] [--------] [--------] !
|
|
[------------------------------------------------------------------]
|
|
|
|
4b)
|
|
|
|
[-bin--------------------------------------------------------------]
|
|
! [--------] [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !identity! !fakesink! !
|
|
! ! src --- sink * src -- sink src -- sink ! !
|
|
! [--------] [--------] [--------] [--------] !
|
|
[------------------------------------------------------------------]
|
|
|
|
5)
|
|
|
|
[------------------------------------------------------------------]
|
|
! [--------] [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !identity! !fakesink! !
|
|
! ! src --- sink src -- sink * src -- sink ! !
|
|
! [--------] [--------] [--------] [--------] !
|
|
[------------------------------------------------------------------]
|
|
|
|
5b)
|
|
|
|
[------------------------------------------------------------------]
|
|
! [--------] [--------] [--------] [--------] !
|
|
! !faksesrc! !identity! !identity! !fakesink! !
|
|
! ! src --- sink * src -- sink * src -- sink ! !
|
|
! [--------] [--------] [--------] [--------] !
|
|
[------------------------------------------------------------------]
|
|
|
|
|
|
/**************************************************************************************/
|
|
* bin-in-bin based
|
|
**************************************************************************************/
|
|
|
|
6)
|
|
|
|
[-bin-----------------------------------]
|
|
[ [-bin-------------------------------] ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ ! !faksesrc! !fakesink! ! ]
|
|
[ ! ! src -------- sink ! ! ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ [-----------------------------------] ]
|
|
[---------------------------------------]
|
|
|
|
7)
|
|
|
|
[-bin-----------------------------------]
|
|
[ [-bin----------] ]
|
|
[ ! [--------] ] [--------] ]
|
|
[ ! !faksesrc! ] !fakesink! ]
|
|
[ ! ! src -------- sink ! ]
|
|
[ ! [--------] ] [--------] ]
|
|
[ [--------------] ]
|
|
[---------------------------------------]
|
|
|
|
|
|
8)
|
|
|
|
[-bin-----------------------------------]
|
|
[ [-bin-------------] ]
|
|
[ [--------] [ [--------] ! ]
|
|
[ !faksesrc! [ !fakesink! ! ]
|
|
[ ! src -------- sink ! ! ]
|
|
[ [--------] [ [--------] ! ]
|
|
[ [-----------------] ]
|
|
[---------------------------------------]
|
|
|
|
|
|
9)
|
|
|
|
[-bin---------------------------------------------------]
|
|
[ [-bin-------------] !
|
|
[ [--------] [--------] ! [--------] ! !
|
|
[ !faksesrc! !identity! ! !fakesink! ! !
|
|
[ ! src --- sink src ----- sink ! ! !
|
|
[ [--------] [--------] ! [--------] ! !
|
|
[ [-----------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
10)
|
|
|
|
[-bin---------------------------------------------------]
|
|
[ [-bin-------------] !
|
|
[ [--------] [--------] ! [--------] ! !
|
|
[ !faksesrc! !identity! ! !fakesink! ! !
|
|
[ ! src --- sink * src ----- sink ! ! !
|
|
[ [--------] [--------] ! [--------] ! !
|
|
[ [-----------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
11)
|
|
|
|
[-bin---------------------------------------------------]
|
|
[ [-bin--------------------------------] !
|
|
[ [--------] ! [--------] [--------] ! !
|
|
[ !faksesrc! ! !identity! !fakesink! ! !
|
|
[ ! src --- sink src ----- sink ! ! !
|
|
[ [--------] ! [--------] [--------] ! !
|
|
[ [------------------------------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
12)
|
|
|
|
[-bin---------------------------------------------------]
|
|
[ [-bin--------------------------------] !
|
|
[ [--------] ! [--------] [--------] ! !
|
|
[ !faksesrc! ! !identity! !fakesink! ! !
|
|
[ ! src --- sink * src ----- sink ! ! !
|
|
[ [--------] ! [--------] [--------] ! !
|
|
[ [------------------------------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
13)
|
|
|
|
[-bin---------------------------------------------------]
|
|
[ [-bin-----------------------------] !
|
|
[ [ [--------] [--------] ! [--------] !
|
|
[ [ !faksesrc! !identity! ! !fakesink! !
|
|
[ [ ! src --- sink src ----- sink ! !
|
|
[ [ [--------] [--------] ! [--------] !
|
|
[ [---------------------------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
14)
|
|
|
|
[-bin---------------------------------------------------]
|
|
! [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [--------] !
|
|
! ! !faksesrc! !identity! ! !fakesink! !
|
|
! ! ! src --- sink * src ----- sink ! !
|
|
! ! [--------] [--------] ! [--------] !
|
|
! [---------------------------------] !
|
|
[-------------------------------------------------------]
|
|
|
|
|
|
15)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !identity! !fakesink! !
|
|
! ! ! src --- sink src -- sink src -- sink ! !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
16)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin----------------------------] !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! ! !identity! !fakesink! ! !
|
|
! ! src --- sink src -- sink src -- sink ! ! !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
17)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin----------------------------] !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! ! !identity! !fakesink! ! !
|
|
! ! src --- sink src -- sink * src -- sink ! ! !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
18)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin----------------------------] !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! ! !identity! !fakesink! ! !
|
|
! ! src --- sink * src -- sink * src -- sink ! ! !
|
|
! [--------] [--------] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
19)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !identity! !fakesink! !
|
|
! ! ! src --- sink * src -- sink src -- sink ! !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
20)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !identity! !fakesink! !
|
|
! ! ! src --- sink src -- sink * src -- sink ! !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
21)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !identity! !fakesink! !
|
|
! ! ! src --- sink * src -- sink * src -- sink ! !
|
|
! ! [--------] [--------] ! [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
22)
|
|
|
|
[-bin--------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[------------------------------------------------------------------------]
|
|
|
|
|
|
23)
|
|
|
|
[-bin--------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[------------------------------------------------------------------------]
|
|
|
|
|
|
24)
|
|
|
|
[-bin--------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[------------------------------------------------------------------------]
|
|
|
|
|
|
25)
|
|
|
|
[-bin--------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[------------------------------------------------------------------------]
|
|
|
|
|
|
/**************************************************************************************/
|
|
* threads
|
|
**************************************************************************************/
|
|
|
|
26)
|
|
|
|
[-bin-----------------------------------]
|
|
[ [-thread----------------------------] ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ ! !faksesrc! !fakesink! ! ]
|
|
[ ! ! src -------- sink ! ! ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ [-----------------------------------] ]
|
|
[---------------------------------------]
|
|
|
|
27)
|
|
|
|
[-thread--------------------------------]
|
|
[ [-bin-------------------------------] ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ ! !faksesrc! !fakesink! ! ]
|
|
[ ! ! src -------- sink ! ! ]
|
|
[ ! [--------] [--------] ! ]
|
|
[ [-----------------------------------] ]
|
|
[---------------------------------------]
|
|
|
|
28)
|
|
|
|
[-bin--------------------------------------------]
|
|
[ [-thread-------] ]
|
|
[ ! [--------] ] [-----] [--------] ]
|
|
[ ! !faksesrc! ] !queue! !fakesink! ]
|
|
[ ! ! src --- sink src -- sink ! ]
|
|
[ ! [--------] ] [-----] [--------] ]
|
|
[ [--------------] ]
|
|
[------------------------------------------------]
|
|
|
|
|
|
29)
|
|
|
|
[-bin--------------------------------------------]
|
|
[ [-thread--------] ]
|
|
[ [--------] [-----] [ [--------] ! ]
|
|
[ !faksesrc! !queue! [ !fakesink! ! ]
|
|
[ ! src -- sink src --- sink ! ! ]
|
|
[ [--------] [-----] [ [--------] ! ]
|
|
[ [---------------] ]
|
|
[------------------------------------------------]
|
|
|
|
|
|
30)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
[ [-thread--------] !
|
|
[ [--------] [--------] [-----] ! [--------] ! !
|
|
[ !faksesrc! !identity! !queue! ! !fakesink! ! !
|
|
[ ! src --- sink src -- sink src --- sink ! ! !
|
|
[ [--------] [--------] [-----] ! [--------] ! !
|
|
[ [---------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
31)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
[ [-thread--------] !
|
|
[ [--------] [--------] [-----] ! [--------] ! !
|
|
[ !faksesrc! !identity! !queue! ! !fakesink! ! !
|
|
[ ! src --- sink * src -- sink src --- sink ! ! !
|
|
[ [--------] [--------] [-----] ! [--------] ! !
|
|
[ [---------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
|
|
32)
|
|
|
|
[-bin------------------------------------------------------------------]
|
|
[ [-thread-----------------------------] !
|
|
[ [--------] [-----] ! [--------] [--------] ! !
|
|
[ !faksesrc! !queue! ! !identity! !fakesink! ! !
|
|
[ ! src --- sink src --- sink src ----- sink ! ! !
|
|
[ [--------] [-----] ! [--------] [--------] ! !
|
|
[ [------------------------------------] !
|
|
[----------------------------------------------------------------------]
|
|
|
|
|
|
33)
|
|
|
|
[-bin------------------------------------------------------------------]
|
|
[ [-thread-----------------------------] !
|
|
[ [--------] [-----] ! [--------] [--------] ! !
|
|
[ !faksesrc! !queue! ! !identity! !fakesink! ! !
|
|
[ ! src --- sink src --- sink * src ----- sink ! ! !
|
|
[ [--------] [-----] ! [--------] [--------] ! !
|
|
[ [------------------------------------] !
|
|
[----------------------------------------------------------------------]
|
|
|
|
|
|
34)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
[ [-thread--------------------------] !
|
|
[ [ [--------] [--------] ! [-----] [--------] !
|
|
[ [ !faksesrc! !identity! ! !queue! !fakesink! !
|
|
[ [ ! src --- sink src --- sink src -- sink ! !
|
|
[ [ [--------] [--------] ! [-----] [--------] !
|
|
[ [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
35)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
[ [-thread--------------------------] !
|
|
[ [ [--------] [--------] ! [-----] [--------] !
|
|
[ [ !faksesrc! !identity! ! !queue! !fakesink! !
|
|
[ [ ! src --- sink * src --- sink src -- sink ! !
|
|
[ [ [--------] [--------] ! [-----] [--------] !
|
|
[ [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
36)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! !
|
|
! ! ! src --- sink src -- sink src -- sink src -- sink ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
37)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! !
|
|
! ! ! src --- sink * src -- sink src -- sink src -- sink ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
38)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! !
|
|
! ! ! src --- sink src -- sink src -- sink * src -- sink ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
39)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! !
|
|
! ! ! src --- sink * src -- sink src -- sink * src -- sink ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [--------] !
|
|
! [---------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
40)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! !
|
|
! ! src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
41)
|
|
|
|
[-bin-------------------------------------------------------------------------------]
|
|
! [-thread--------------------------] !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! !
|
|
! ! src --- sink src -- sink src -- sink * src -- sink ! ! !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[-----------------------------------------------------------------------------------]
|
|
|
|
42)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! !
|
|
! ! src --- sink * src -- sink src -- sink src -- sink ! ! !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
43)
|
|
|
|
[-bin------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! !
|
|
! ! src --- sink * src -- sink src -- sink * src -- sink ! ! !
|
|
! [--------] [--------] [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] !
|
|
[----------------------------------------------------------------------------------]
|
|
|
|
|
|
|
|
/**********************************************************************************
|
|
* two threads in bin
|
|
**********************************************************************************/
|
|
|
|
44)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
45)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
46)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
47)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
48)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-thread-------] [-thread--------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
49)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-thread-------] [-thread--------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
50)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
51)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
52)
|
|
|
|
[-bin----------------------------------------------]
|
|
! [-thread-------] [-thread---------] !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! [--------------] [----------------] !
|
|
[--------------------------------------------------]
|
|
|
|
52b)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
52c)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
52d)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
52e)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
|
|
|
|
/**********************************************************************************
|
|
* thread-bin in bin
|
|
**********************************************************************************/
|
|
|
|
/** thread first ******/
|
|
|
|
53)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
54)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
55)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
56)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin-----------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
57)
|
|
|
|
[-bin----------------------------------------------]
|
|
! [-thread-------] [-bin------------] !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! [--------------] [----------------] !
|
|
[--------------------------------------------------]
|
|
|
|
|
|
58)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-thread-------] [-bin-----------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
59)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-thread-------] [-bin-----------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
60)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
61)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
/* non blocking queue ? */
|
|
|
|
61a)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
61b)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
61c)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
61d)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-thread-------------------------] [-bin------------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
/** bin first ******/
|
|
|
|
62)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
63)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
64)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
65)
|
|
|
|
[-bin---------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread--------------------------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------------------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------------------------]
|
|
|
|
|
|
66)
|
|
|
|
[-bin----------------------------------------------]
|
|
! [-bin----------] [-thread---------] !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] ! !
|
|
! [--------------] [----------------] !
|
|
[--------------------------------------------------]
|
|
|
|
|
|
67)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-bin----------] [-thread--------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
68)
|
|
|
|
[-bin---------------------------------------------------------------]
|
|
! [-bin----------] [-thread--------------------------] !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! !
|
|
! ! ! src --- sink src -- sink * src -- sink ! ! !
|
|
! ! [--------] ! [-----] ! [--------] [--------] ! !
|
|
! [--------------] [---------------------------------] !
|
|
[-------------------------------------------------------------------]
|
|
|
|
|
|
69)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
70)
|
|
|
|
[-bin----------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------]
|
|
|
|
|
|
71)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
72)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
73)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
74)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
75)
|
|
|
|
[-bin----------------------------------------------------------------------------------------------]
|
|
! [-bin----------------------------] [-thread---------] !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! !
|
|
! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! !
|
|
! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! !
|
|
! [--------------------------------] [----------------] !
|
|
[--------------------------------------------------------------------------------------------------]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|