summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorWim Taymans <wtaymans@redhat.com>2016-08-02 16:34:44 +0200
committerWim Taymans <wtaymans@redhat.com>2016-08-02 16:34:44 +0200
commit3ace7e9648c57b2838d27dfcddd87258e8df2b5f (patch)
tree14785cf919bdb24e5e5ea23816a0d4cebf2529d8 /doc
parent05829f33e61499793a1e6714bea27941c530e96d (diff)
More work on implementing remote protocol
Rework things so that we negotiate buffer pools beforehand and only pass buffer ids around We can then remove the refcount of buffers, events and commands. More work on buffer reuse Use the node state changes to trigger the next step in the configuration sequence. Move most of the client-node to a plugin Do buffer allocation in the port link.
Diffstat (limited to 'doc')
-rw-r--r--doc/design.txt30
1 files changed, 13 insertions, 17 deletions
diff --git a/doc/design.txt b/doc/design.txt
index f7c3b8e8..26ed958e 100644
--- a/doc/design.txt
+++ b/doc/design.txt
@@ -395,7 +395,7 @@ communication channel
node-update
port-update
- state-configure
+ state change CONFIGURE
2) Set formats S->C CONFIGURE
@@ -409,7 +409,7 @@ communication channel
3) Buffer requirements update C->S
Update port status
- state-ready if enough formats are set
+ state change READY if enough formats are set
4) Start S->C READY
@@ -418,43 +418,39 @@ communication channel
remove_mem
add_buffer
remove_buffer
- start->streaming
+ command START/PAUSE
-5) Pause S->C STREAMING
+5) Pause S->C PAUSED
- stop-streaming
+ state change STREAMING
+ set-format to NULL -> state change to CONFIGURE
-5) data transfer C->S
+5) data transfer C->S STREAMING
need-input
have-output
- add_mem
- add_buffer
process_buffer
reuse_buffer
- remove_buffer
- remove_mem
+ state change PAUSED
6) data transfer S->C
- add_mem
- add_buffer
process_buffer
reuse_buffer
- remove_buffer
- remove_mem
7) format change C->S
port-update
- state-configure
+ state change CONFIGURE
8) format change S->C
Send set-format change on ports -> READY if new memory requirements
- -> RUNNING if all ok
+ -> PAUSED/STREAMING if all ok
+
+9) format-change to NULL
-9) format-change to NULL -> CONFIGURE
+ state change CONFIGURE
10) ERROR