diff options
author | Wim Taymans <wtaymans@redhat.com> | 2016-08-02 16:34:44 +0200 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2016-08-02 16:34:44 +0200 |
commit | 3ace7e9648c57b2838d27dfcddd87258e8df2b5f (patch) | |
tree | 14785cf919bdb24e5e5ea23816a0d4cebf2529d8 /doc | |
parent | 05829f33e61499793a1e6714bea27941c530e96d (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.txt | 30 |
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 |