filter/AutoConvert: modify child_audio_format, not in_audio_format

This prevented using the "volume_normalization" feature with some
codecs (e.g. mp3), because the normalization code requires 16 bit
samples.  If the codec happens to deliver formats other than S16, the
AutoConvert filter succeeds to initialize the conversion filter, but
the returned input audio format was wrong.
This commit is contained in:
Max Kellermann 2013-11-04 07:59:15 +01:00
parent bf2c1f3e9e
commit 2ce3900071
2 changed files with 4 additions and 2 deletions

2
NEWS
View File

@ -1,4 +1,6 @@
ver 0.18.1 (2013/11/??) ver 0.18.1 (2013/11/??)
* filter:
- autoconvert: fix "volume_normalization" with mp3 files
ver 0.18 (2013/10/31) ver 0.18 (2013/10/31)
* configuration: * configuration:

View File

@ -60,8 +60,8 @@ AutoConvertFilter::Open(AudioFormat &in_audio_format, Error &error)
/* open the "real" filter */ /* open the "real" filter */
const AudioFormat child_audio_format = in_audio_format; AudioFormat child_audio_format = in_audio_format;
AudioFormat out_audio_format = filter->Open(in_audio_format, error); AudioFormat out_audio_format = filter->Open(child_audio_format, error);
if (!out_audio_format.IsDefined()) if (!out_audio_format.IsDefined())
return out_audio_format; return out_audio_format;