Mercurial > libavformat.hg
changeset 1534:4bf9dc98e127 libavformat
add support for tta in matroska
author | aurel |
---|---|
date | Mon, 20 Nov 2006 20:16:32 +0000 |
parents | 15482c2cd208 |
children | a3fbb2b1fccf |
files | matroska.c |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/matroska.c Mon Nov 20 00:33:47 2006 +0000 +++ b/matroska.c Mon Nov 20 20:16:32 2006 +0000 @@ -225,6 +225,7 @@ {"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 @@ } } + 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;