mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-27 10:20:42 +00:00
Added the first part of a uses case doc on caps nego
Original commit message from CVS: Added the first part of a uses case doc on caps nego
This commit is contained in:
parent
60be08c066
commit
2193791c6b
298
docs/random/wtay/capsnego-cases
Normal file
298
docs/random/wtay/capsnego-cases
Normal file
|
@ -0,0 +1,298 @@
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
--- -> ---
|
||||||
|
|
||||||
|
always compatible
|
||||||
|
|
||||||
|
--+ -> ---
|
||||||
|
|
||||||
|
call negotiate function, set the resulting caps
|
||||||
|
|
||||||
|
-+- -> ---
|
||||||
|
|
||||||
|
always compatible
|
||||||
|
|
||||||
|
-++ -> ---
|
||||||
|
|
||||||
|
call negotiate function, set the resulting caps
|
||||||
|
|
||||||
|
+-- -> ---
|
||||||
|
|
||||||
|
always compatible, caps are those of the pad
|
||||||
|
|
||||||
|
+-+ -> ---
|
||||||
|
|
||||||
|
always compatible, caps are those of the pad
|
||||||
|
|
||||||
|
++- -> ---
|
||||||
|
|
||||||
|
always compatible, caps are those of the pad
|
||||||
|
|
||||||
|
+++ -> ---
|
||||||
|
|
||||||
|
always compatible, caps are those of the pad
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> --+
|
||||||
|
|
||||||
|
call negotiate function, set the resulting caps
|
||||||
|
|
||||||
|
--+ -> --+
|
||||||
|
|
||||||
|
negotiate until agreed
|
||||||
|
|
||||||
|
-+- -> --+
|
||||||
|
|
||||||
|
call negotiate until caps match padtemplate
|
||||||
|
|
||||||
|
-++ -> --+
|
||||||
|
|
||||||
|
negotiate until agreed, caps only got send to the
|
||||||
|
other pad if they match the padtemplate
|
||||||
|
|
||||||
|
+-- -> --+
|
||||||
|
|
||||||
|
call negotiate function with src caps, set caps if ok
|
||||||
|
|
||||||
|
+-+ -> --+
|
||||||
|
|
||||||
|
call negotiate function with src caps, negotiate until agreed
|
||||||
|
|
||||||
|
++- -> --+
|
||||||
|
|
||||||
|
call negotiate function with src caps, set caps if ok
|
||||||
|
|
||||||
|
+++ -> --+
|
||||||
|
|
||||||
|
call negotiate function with src caps, negotiate until agreed
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> -+-
|
||||||
|
|
||||||
|
always compatible
|
||||||
|
|
||||||
|
--+ -> -+-
|
||||||
|
|
||||||
|
call negotiate until caps match padtemplate
|
||||||
|
|
||||||
|
-+- -> -+-
|
||||||
|
|
||||||
|
check padtemplates, if compatible connect
|
||||||
|
|
||||||
|
-++ -> -+-
|
||||||
|
|
||||||
|
check templates, if compatible,
|
||||||
|
call negotiate, until it matches the padtemplate
|
||||||
|
|
||||||
|
+-- -> -+-
|
||||||
|
|
||||||
|
check caps against padtemplate, if compatible, connect
|
||||||
|
|
||||||
|
+-+ -> -+-
|
||||||
|
|
||||||
|
check caps against padtemplate, if compatible: connect
|
||||||
|
alse call negotiate until it matches template
|
||||||
|
|
||||||
|
++- -> -+-
|
||||||
|
|
||||||
|
check caps against padtemplate, if match, connect
|
||||||
|
|
||||||
|
+++ -> -+-
|
||||||
|
|
||||||
|
check caps against padtemplate, if match, connect
|
||||||
|
alse check padtemplates if compatible,
|
||||||
|
call negotiate until match template
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> -++
|
||||||
|
|
||||||
|
call negotiate, set resulting caps
|
||||||
|
|
||||||
|
--+ -> -++
|
||||||
|
|
||||||
|
call negotiate until agree, check src caps against
|
||||||
|
padtemplate before calling sink negotiate
|
||||||
|
|
||||||
|
-+- -> -++
|
||||||
|
|
||||||
|
check padtemplates, if match call negotiate until
|
||||||
|
match src padtemplate.
|
||||||
|
|
||||||
|
-++ -> -++
|
||||||
|
|
||||||
|
check padtemplates, if match call negotiate until
|
||||||
|
agree
|
||||||
|
|
||||||
|
+-- -> -++
|
||||||
|
|
||||||
|
check caps against padtemplate
|
||||||
|
call negotiate with caps, if agree, set caps
|
||||||
|
|
||||||
|
+-+ -> -++
|
||||||
|
|
||||||
|
check caps against padtemplate
|
||||||
|
call negotiate with caps, negotiate until agree
|
||||||
|
|
||||||
|
++- -> -++
|
||||||
|
|
||||||
|
check caps against padtemplate
|
||||||
|
call negotiate with caps, call negotiate until
|
||||||
|
sink caps match src padtemplate
|
||||||
|
|
||||||
|
+++ -> -++
|
||||||
|
|
||||||
|
check caps against padtemplate
|
||||||
|
call negotiate with caps, negotiate until agree
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> +--
|
||||||
|
|
||||||
|
connection fails
|
||||||
|
|
||||||
|
--+ -> +--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-+- -> +--
|
||||||
|
|
||||||
|
|
||||||
|
-++ -> +--
|
||||||
|
|
||||||
|
|
||||||
|
+-- -> +--
|
||||||
|
|
||||||
|
|
||||||
|
+-+ -> +--
|
||||||
|
|
||||||
|
|
||||||
|
++- -> +--
|
||||||
|
|
||||||
|
|
||||||
|
+++ -> +--
|
||||||
|
|
||||||
|
check caps,
|
||||||
|
call src negotiate with caps
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
--+ -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
-+- -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
-++ -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
+-- -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
+-+ -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
++- -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
+++ -> +-+
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
--+ -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
-+- -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
-++ -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
+-- -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
+-+ -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
++- -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
+++ -> ++-
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
pad has caps
|
||||||
|
| pad has template
|
||||||
|
|/ pad has negotiate function
|
||||||
|
||/
|
||||||
|
|
||||||
|
--- -> +++
|
||||||
|
|
||||||
|
|
||||||
|
--+ -> +++
|
||||||
|
|
||||||
|
|
||||||
|
-+- -> +++
|
||||||
|
|
||||||
|
|
||||||
|
-++ -> +++
|
||||||
|
|
||||||
|
|
||||||
|
+-- -> +++
|
||||||
|
|
||||||
|
|
||||||
|
+-+ -> +++
|
||||||
|
|
||||||
|
|
||||||
|
++- -> +++
|
||||||
|
|
||||||
|
|
||||||
|
+++ -> +++
|
||||||
|
|
||||||
|
|
||||||
|
=====================================
|
Loading…
Reference in a new issue