Mercurial > libavformat.hg
diff mov.c @ 3622:ab0641ec543b libavformat
support big endian lpcm with audio stsd v2
author | bcoudurier |
---|---|
date | Sat, 02 Aug 2008 03:45:23 +0000 |
parents | 0415fc41780a |
children | 022f5a9504db |
line wrap: on
line diff
--- a/mov.c Sat Aug 02 03:43:36 2008 +0000 +++ b/mov.c Sat Aug 02 03:45:23 2008 +0000 @@ -832,7 +832,7 @@ } else st->codec->palctrl = NULL; } else if(st->codec->codec_type==CODEC_TYPE_AUDIO) { - int bits_per_sample; + int bits_per_sample, flags; uint16_t version = get_be16(pb); st->codec->codec_id = id; @@ -862,9 +862,11 @@ st->codec->channels = get_be32(pb); get_be32(pb); /* always 0x7F000000 */ st->codec->bits_per_sample = get_be32(pb); /* bits per channel if sound is uncompressed */ - get_be32(pb); /* lcpm format specific flag */ + flags = get_be32(pb); /* lcpm format specific flag */ sc->bytes_per_frame = get_be32(pb); /* bytes per audio packet if constant */ sc->samples_per_frame = get_be32(pb); /* lpcm frames per audio packet if constant */ + if (flags & 2) // big endian + st->codec->codec_id = CODEC_ID_PCM_S16BE; } }