[alsa-devel] Playback in infinitely loop - bug in alsa-jack-plugins?
Valentin Corfu
corfuvalentin at gmail.com
Fri Jan 16 10:42:46 CET 2015
Hello guys,
Few days ago I have started to look over a new challenging issue with alsa..
The problem is that the sound entry in a loop infinitely and it seems
that the last samples in the buffer are just repeated over and over again.
This behaviour it happens when I have too less and only sporadically
data ready to be playbacked on my embedded system configured with alsa
jack pcm plugin.
To solve this issue, (I don't want to use snd_pcm_drain()), I see 2 ways:
1) to clear(or overwrite with silence) the "just played" frames
from the ring buffer
2) when I am in this situation, to gracefully stop/close the alsa
opened port
In both situations I have tried without success,
_set_silence_threshold(), set_stop_threshold and other googled solutions..
More over, I also tested with "default" device and the result is as
expected... the sound can be hear just once, then it's going into
underrun state.
I also created a small test(based on pcm_min.c example), where I
intentionally put a ~1s(can be more) delay after _writei() function, to
see the issue reproduced. (http://pastebin.com/4KyUG0BA)
log with pcm jack plugin: http://pastebin.com/MtKQ4ASz
log with "default": http://pastebin.com/G0zq6fmJ
Now I'm suspecting one issue with the underrun, over alsa jack plugin...
(In case I'm not wrong with the test case or my assumption..)
- Isn't it implemented underrun detection over jack plugin or it is a
new bug here?
Best Regards,
Valentin Corfu
More information about the Alsa-devel
mailing list