From: Jaroslav Kysela Date: Thu, 25 Oct 2001 13:51:26 +0000 (+0000) Subject: Added missing DRAINING state to snd_pcm_state_name() X-Git-Tag: v1.0.3~623 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=7d335794f143640fb28312031584c7bd3cc64428;p=alsa-lib.git Added missing DRAINING state to snd_pcm_state_name() --- diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index 4ff5df8c..aacdc85d 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -99,7 +99,7 @@ int snd_pcm_close(snd_pcm_t *pcm) int err; assert(pcm); if (pcm->setup) { - if (pcm->mode & SND_PCM_NONBLOCK || + if ((pcm->mode & SND_PCM_NONBLOCK) || pcm->stream == SND_PCM_STREAM_CAPTURE) snd_pcm_drop(pcm); else @@ -201,12 +201,13 @@ int snd_pcm_hw_free(snd_pcm_t *pcm) { int err; assert(pcm->setup); - assert(snd_pcm_state(pcm) <= SND_PCM_STATE_PREPARED); if (pcm->mmap_channels) { err = snd_pcm_munmap(pcm); if (err < 0) return err; } + assert(snd_pcm_state(pcm) == SND_PCM_STATE_SETUP || + snd_pcm_state(pcm) == SND_PCM_STATE_PREPARED); err = pcm->ops->hw_free(pcm->op_arg); pcm->setup = 0; if (err < 0) @@ -592,6 +593,7 @@ static const char *snd_pcm_state_names[] = { STATE(PREPARED), STATE(RUNNING), STATE(XRUN), + STATE(DRAINING), STATE(PAUSED), STATE(SUSPENDED), };