Mercurial > libavformat.hg
changeset 4248:6e4ce186db2e libavformat
matroskadec: parse the WAVEFORMATEX header and discard it from extradata
author | aurel |
---|---|
date | Sun, 18 Jan 2009 17:13:12 +0000 |
parents | 54271b8b5e00 |
children | ffedcd3d4bed |
files | matroskadec.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/matroskadec.c Sun Jan 18 01:48:14 2009 +0000 +++ b/matroskadec.c Sun Jan 18 17:13:12 2009 +0000 @@ -1201,8 +1201,13 @@ } else if (!strcmp(track->codec_id, "A_MS/ACM") && track->codec_priv.size >= 18 && track->codec_priv.data != NULL) { - uint16_t tag = AV_RL16(track->codec_priv.data); - codec_id = codec_get_id(codec_wav_tags, tag); + ByteIOContext b; + init_put_byte(&b, track->codec_priv.data, track->codec_priv.size, + URL_RDONLY, NULL, NULL, NULL, NULL); + get_wav_header(&b, st->codec, track->codec_priv.size); + codec_id = st->codec->codec_id; + extradata_offset = 18; + track->codec_priv.size -= extradata_offset; } else if (!strcmp(track->codec_id, "V_QUICKTIME") && (track->codec_priv.size >= 86) && (track->codec_priv.data != NULL)) {