Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
demux: Support inactive cross-pipeline sinks
It may happen that a demux is configured to write to a buffer in a stopped pipeline (consider echo cancellation when the mic is not in use: the output reference stream has nowhere to go). This doesn't work in the tree currently; the general pipeline design is to try to turn on pipes that are required, but that's incomplete for the case (again, echo cancellation) where the pipelines are oriented in different directions and in any case is undesirable as a microphone stream shouldn't be required to be active for playback to work. Instead, detect the situation at PRE_START time, configure the output buffers overrun_permitted (as there may not be a reader), and drop the unconfigured streams dynamically at process() time, as the target pipeline may be started up at arbitrary moments. When it starts, we'll begin emitting output at the first process callback as desired. Signed-off-by: Andy Ross <[email protected]>
- Loading branch information