diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2001-09-24 23:26:46 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2001-09-24 23:26:46 +0000 |
commit | 46a3d0685df667158628a8037faa0383f9bd4c22 (patch) | |
tree | 2beb53820c1270a5d56e0417a21a56c27ea89a29 /libav/avidec.c | |
parent | 96baaa6affc11ebd71b8f84c11086c92e1c7248b (diff) | |
download | ffmpeg-46a3d0685df667158628a8037faa0383f9bd4c22.tar.gz |
correct pcm audio format handling
Originally committed as revision 147 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libav/avidec.c')
-rw-r--r-- | libav/avidec.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libav/avidec.c b/libav/avidec.c index 342bfd0f07..a3d5a8fa6d 100644 --- a/libav/avidec.c +++ b/libav/avidec.c @@ -51,7 +51,7 @@ int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) ByteIOContext *pb = &s->pb; UINT32 tag, tag1; int codec_type, stream_index, size, frame_period, bit_rate; - int i; + int i, bps; AVStream *st; avi = malloc(sizeof(AVIContext)); @@ -169,14 +169,16 @@ int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) tag1 = get_le16(pb); st->codec.codec_type = CODEC_TYPE_AUDIO; st->codec.codec_tag = tag1; - st->codec.codec_id = codec_get_id(codec_wav_tags, tag1); #ifdef DEBUG printf("audio: 0x%x\n", tag1); #endif st->codec.channels = get_le16(pb); st->codec.sample_rate = get_le32(pb); st->codec.bit_rate = get_le32(pb) * 8; - url_fskip(pb, size - 3 * 4); + get_le16(pb); /* block align */ + bps = get_le16(pb); + st->codec.codec_id = wav_codec_get_id(tag1, bps); + url_fskip(pb, size - 4 * 4); break; default: url_fskip(pb, size); |