Browse Source

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

Bug-Id: 950

Signed-off-by: Anton Khirnov <anton@khirnov.net>
tags/n3.3
Hendrik Leppkes Anton Khirnov 13 years ago
parent
commit
7f549b8338
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      libavformat/riffdec.c

+ 5
- 1
libavformat/riffdec.c View File

@@ -57,7 +57,11 @@ enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid)
static void parse_waveformatex(AVIOContext *pb, AVCodecParameters *par)
{
ff_asf_guid subformat;
par->bits_per_coded_sample = avio_rl16(pb);
int bps;

bps = avio_rl16(pb);
if (bps)
par->bits_per_coded_sample = bps;
par->channel_layout = avio_rl32(pb); /* dwChannelMask */

ff_get_guid(pb, &subformat);


Loading…
Cancel
Save