Commit 7b8da69
module-adapter: allow different statuses
The following problem is observed when testing pause functionality:
in a case of a playback stream host -> mixin -> mixout -> DAI where
host and mixin belong to the pipeline A and mixout and DAI belong to
pipeline B, pipeline B is scheduled before A. So at start we get:
scheduler start
B: no data
A: read 1 period of data
scheduler sleep
(1 period of data pending in pipeline A)
scheduler start
B: send 1 period of data out
A: read 1 period of data
scheduler sleep
(1 period of data pending in pipeline A)
PAUSE
RELEASE
scheduler start
B: old data before sleep isn't sent because A is PAUSED
A: read 1 period of data
scheduler sleep
(2 periods of data pending in pipeline A)
...
With repeated pause-release cycles this leads to buffer overrun. To
fix this allow sending out data by pipeline B when A is still paused.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>1 parent aaac08a commit 7b8da69
1 file changed
+0
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
622 | 622 | | |
623 | 623 | | |
624 | 624 | | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | 625 | | |
632 | 626 | | |
633 | 627 | | |
| |||
665 | 659 | | |
666 | 660 | | |
667 | 661 | | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | 662 | | |
675 | 663 | | |
676 | 664 | | |
| |||
0 commit comments