We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 251e68f + c7830d8 commit f0adccbCopy full SHA for f0adccb
1 file changed
src/audio/dai.c
@@ -543,8 +543,18 @@ static int dai_comp_trigger(struct comp_dev *dev, int cmd)
543
switch (cmd) {
544
case COMP_TRIGGER_START:
545
trace_dai("tsa");
546
- if (!dd->pointer_init)
+ if (!dd->pointer_init) {
547
dai_pointer_init(dev);
548
+ } else {
549
+ /* recover state for ALSA XRUN */
550
+ if (dd->xrun == 0) {
551
+ /* set valid buffer pointer */
552
+ dai_buffer_process(dev);
553
+
554
+ /* recover valid start position */
555
+ ret = dma_release(dd->dma, dd->chan);
556
+ }
557
558
/* only start the DAI if we are not XRUN handling */
559
if (dd->xrun == 0) {
560
/* start the DAI */
0 commit comments