diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c index 8e3f76285e..a98d5d1922 100644 --- a/libao2/ao_oss.c +++ b/libao2/ao_oss.c @@ -454,6 +454,8 @@ static void reset(void){ #endif oss_format = format2oss(ao_data.format); + if(ao_data.format == AF_FORMAT_AC3) + ioctl (audio_fd, SNDCTL_DSP_SPEED, &ao_data.samplerate); ioctl (audio_fd, SNDCTL_DSP_SETFMT, &oss_format); if(ao_data.format != AF_FORMAT_AC3) { if (ao_data.channels > 2)