Support channel layout when demuxing aif files.

This commit is contained in:
Carl Eugen Hoyos 2011-04-23 10:31:03 +02:00
parent 8bb5d1c39c
commit 8f2e438e52
2 changed files with 7 additions and 1 deletions

View File

@ -23,7 +23,7 @@ OBJS-$(CONFIG_AC3_DEMUXER) += ac3dec.o rawdec.o
OBJS-$(CONFIG_AC3_MUXER) += rawenc.o
OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o
OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o
OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o
OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o caf.o
OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o
OBJS-$(CONFIG_AMR_DEMUXER) += amr.o
OBJS-$(CONFIG_AMR_MUXER) += amr.o

View File

@ -23,6 +23,7 @@
#include "avformat.h"
#include "pcm.h"
#include "aiff.h"
#include "caf.h"
#define AIFF 0
#define AIFF_C_VERSION1 0xA2805140
@ -253,6 +254,11 @@ static int aiff_read_header(AVFormatContext *s,
st->codec->extradata_size = size;
avio_read(pb, st->codec->extradata, size);
break;
case MKTAG('C','H','A','N'):
if (size < 12)
return AVERROR_INVALIDDATA;
ff_read_chan_chunk(s, size, st->codec);
break;
default: /* Jump */
if (size & 1) /* Always even aligned */
size++;