diff options
author | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2020-06-08 13:21:23 +0100 |
---|---|---|
committer | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2020-06-17 12:03:39 +0100 |
commit | 006b233f3f7684380bfe3e52c8c9a52ef7704dde (patch) | |
tree | c0eb75ef5879b5d297bba1643f35835a60ffa927 | |
parent | 0aa89cc4d4d3b9fa485d79ff8e7d92d6f8552355 (diff) |
ALSA: compress: Fix gapless playback state machine
For gapless playback call to snd_compr_drain_notify() after
partial drain should put the state to SNDRV_PCM_STATE_RUNNING
rather than SNDRV_PCM_STATE_SETUP as the driver is ready to
process the buffers for new track.
With existing code, if we are playing 3 tracks, setting
snd_compr_next_track() for track 3 will fail after
partial drain finished on previous track 1.
Fixes: f44f2a5417b2 ("ALSA: compress: fix drain calls blocking other compress functions (v6)")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-rw-r--r-- | include/sound/compress_driver.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h index 6ce8effa0b128..eabac33864c2c 100644 --- a/include/sound/compress_driver.h +++ b/include/sound/compress_driver.h @@ -182,7 +182,7 @@ static inline void snd_compr_drain_notify(struct snd_compr_stream *stream) if (snd_BUG_ON(!stream)) return; - stream->runtime->state = SNDRV_PCM_STATE_SETUP; + stream->runtime->state = SNDRV_PCM_STATE_RUNNING; wake_up(&stream->runtime->sleep); } |