diff -upr alsa-lib-1.1.7/src/pcm/interval_inline.h alsa-lib-1.1.7/src/pcm/interval_inline.h --- alsa-lib-1.1.7/src/pcm/interval_inline.h 2018-10-16 10:08:35.000000000 +0200 +++ alsa-lib-1.1.7/src/pcm/interval_inline.h 2018-10-24 17:33:10.000000000 +0200 @@ -51,12 +51,14 @@ INTERVAL_INLINE int snd_interval_single( { assert(!snd_interval_empty(i)); return (i->min == i->max || - (i->min + 1 == i->max && i->openmax)); + (i->min + 1 == i->max && (i->openmin || i->openmax))); } INTERVAL_INLINE int snd_interval_value(const snd_interval_t *i) { assert(snd_interval_single(i)); + if (i->openmin && !i->openmax) + return i->max; return i->min; }