Signed-off-by: Alex Henrie <alexhenrie24@xxxxxxxxx> --- include/pcm.h | 4 +++- src/pcm/pcm.c | 2 ++ src/pcm/pcm_local.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/pcm.h b/include/pcm.h index e300b951..c6c5d8f8 100644 --- a/include/pcm.h +++ b/include/pcm.h @@ -307,7 +307,9 @@ typedef enum _snd_pcm_state { SND_PCM_STATE_SUSPENDED, /** Hardware is disconnected */ SND_PCM_STATE_DISCONNECTED, - SND_PCM_STATE_LAST = SND_PCM_STATE_DISCONNECTED, + /** State cannot be queried */ + SND_PCM_STATE_UNKNOWN, + SND_PCM_STATE_LAST = SND_PCM_STATE_UNKNOWN, /** Private - used internally in the library - do not use*/ SND_PCM_STATE_PRIVATE1 = 1024 } snd_pcm_state_t; diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index 24030b31..5fafc2a0 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -680,6 +680,8 @@ static int pcm_state_to_error(snd_pcm_state_t state) return -ESTRPIPE; case SND_PCM_STATE_DISCONNECTED: return -ENODEV; + case SND_PCM_STATE_UNKNOWN: + return -ENOSYS; default: return 0; } diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h index fe77e50d..04f89623 100644 --- a/src/pcm/pcm_local.h +++ b/src/pcm/pcm_local.h @@ -444,7 +444,7 @@ static inline int __snd_pcm_start(snd_pcm_t *pcm) static inline snd_pcm_state_t __snd_pcm_state(snd_pcm_t *pcm) { if (!pcm->fast_ops->state) - return -ENOSYS; + return SND_PCM_STATE_UNKNOWN; return pcm->fast_ops->state(pcm->fast_op_arg); } -- 2.29.2.368.ge46b91665e.dirty