--- esound-0.2.36/esddsp.c +++ esound-0.2.36/esddsp.c @@ -47,6 +47,7 @@ #include #include #include +#include #ifdef HAVE_MACHINE_SOUNDCARD_H # include @@ -336,6 +337,17 @@ fmt |= (*arg) ? ESD_STEREO : ESD_MONO; break; +#ifdef SNDCTL_DSP_CHANNELS + case SNDCTL_DSP_CHANNELS: + if (*arg != 1 && *arg != 2) { + errno = ENOTSUP; + return -1; + } + fmt &= ~ESD_MONO; + fmt |= (*arg == 2) ? ESD_STEREO : ESD_MONO; + break; +#endif + case SNDCTL_DSP_GETBLKSIZE: if (mmapemu) *arg = MMAPEMU_FRAGSIZE;