mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 16:22:37 +00:00
riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data.
According to the specification on the MSDN [1], 0 is valid for that particular field, and it should be ignored in that case. [1]: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757714(v=vs.85).aspx Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
cb08b6efc9
commit
24e7a22e1f
@ -596,7 +596,9 @@ int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size)
|
||||
cbSize = FFMIN(size, cbSize);
|
||||
if (cbSize >= 22 && id == 0xfffe) { /* WAVEFORMATEXTENSIBLE */
|
||||
ff_asf_guid subformat;
|
||||
codec->bits_per_coded_sample = avio_rl16(pb);
|
||||
int bps = avio_rl16(pb);
|
||||
if (bps)
|
||||
codec->bits_per_coded_sample = bps;
|
||||
codec->channel_layout = avio_rl32(pb); /* dwChannelMask */
|
||||
ff_get_guid(pb, &subformat);
|
||||
if (!memcmp(subformat + 4, (const uint8_t[]){FF_MEDIASUBTYPE_BASE_GUID}, 12)) {
|
||||
|
Loading…
Reference in New Issue
Block a user