diff options
Diffstat (limited to 'audio/out')
-rw-r--r-- | audio/out/ao_oss.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/audio/out/ao_oss.c b/audio/out/ao_oss.c index b1f2028af2..3d05414a5f 100644 --- a/audio/out/ao_oss.c +++ b/audio/out/ao_oss.c @@ -437,10 +437,11 @@ static void reset(struct ao *ao) ioctl(p->audio_fd, SNDCTL_DSP_SPEED, &ao->samplerate); ioctl(p->audio_fd, SNDCTL_DSP_SETFMT, &oss_format); if (!AF_FORMAT_IS_AC3(ao->format)) { + int c = ao->channels.num; if (ao->channels.num > 2) - ioctl(p->audio_fd, SNDCTL_DSP_CHANNELS, &ao->channels.num); + ioctl(p->audio_fd, SNDCTL_DSP_CHANNELS, &c); else { - int c = ao->channels.num - 1; + c--; ioctl(p->audio_fd, SNDCTL_DSP_STEREO, &c); } ioctl(p->audio_fd, SNDCTL_DSP_SPEED, &ao->samplerate); |