From: Aurelien Jacobs Date: Mon, 20 Nov 2006 20:16:32 +0000 (+0000) Subject: add support for tta in matroska X-Git-Tag: v0.5~10940 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0d6d96329466b78b92adbb9444dba1e75317b347;p=platform%2Fupstream%2Flibav.git add support for tta in matroska Originally committed as revision 7138 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/matroska.c b/libavformat/matroska.c index dd9f062..44d07dd 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -225,6 +225,7 @@ static CodecTags codec_tags[]={ {"A_VORBIS" , CODEC_ID_VORBIS}, {"A_AAC" , CODEC_ID_AAC}, {"A_WAVPACK4" , CODEC_ID_WAVPACK}, + {"A_TTA1" , CODEC_ID_TTA}, {NULL , CODEC_ID_NONE} /* TODO: AC3-9/10 (?), Real, Musepack, Quicktime */ }; @@ -2264,6 +2265,23 @@ matroska_read_header (AVFormatContext *s, } } + else if (codec_id == CODEC_ID_TTA) { + MatroskaAudioTrack *audiotrack = (MatroskaAudioTrack *) track; + ByteIOContext b; + extradata_size = 30; + extradata = av_mallocz(extradata_size); + if (extradata == NULL) + return AVERROR_NOMEM; + init_put_byte(&b, extradata, extradata_size, 1, + NULL, NULL, NULL, NULL); + put_buffer(&b, (uint8_t *) "TTA1", 4); + put_le16(&b, 1); + put_le16(&b, audiotrack->channels); + put_le16(&b, audiotrack->bitdepth); + put_le32(&b, audiotrack->samplerate); + put_le32(&b, matroska->ctx->duration * audiotrack->samplerate); + } + else if (codec_id == CODEC_ID_RV10 || codec_id == CODEC_ID_RV20 || codec_id == CODEC_ID_RV30 || codec_id == CODEC_ID_RV40) { extradata_offset = 26;