Mercurial > libavformat.hg
changeset 931:7420a756dc7a libavformat
read/write adts aac
author | mru |
---|---|
date | Wed, 08 Feb 2006 00:51:55 +0000 |
parents | 3d1db6d5f8ed |
children | 06514f2b05ce |
files | raw.c |
diffstat | 1 files changed, 46 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/raw.c Sat Feb 04 16:57:58 2006 +0000 +++ b/raw.c Wed Feb 08 00:51:55 2006 +0000 @@ -256,6 +256,23 @@ return 0; } +/* aac read */ +static int aac_read_header(AVFormatContext *s, + AVFormatParameters *ap) +{ + AVStream *st; + + st = av_new_stream(s, 0); + if (!st) + return AVERROR_NOMEM; + + st->codec->codec_type = CODEC_TYPE_AUDIO; + st->codec->codec_id = CODEC_ID_AAC; + st->need_parsing = 1; + /* the parameters will be extracted from the compressed bitstream */ + return 0; +} + /* mpeg1/h263 input */ static int video_read_header(AVFormatContext *s, AVFormatParameters *ap) @@ -389,6 +406,32 @@ .extensions = "dts", }; +AVInputFormat aac_iformat = { + "aac", + "ADTS AAC", + 0, + NULL, + aac_read_header, + raw_read_partial_packet, + raw_read_close, + .extensions = "aac", +}; + +#ifdef CONFIG_MUXERS +AVOutputFormat aac_oformat = { + "aac", + "ADTS AAC", + "audio/aac", + "aac", + 0, + CODEC_ID_AAC, + 0, + raw_write_header, + raw_write_packet, + raw_write_trailer, +}; +#endif + AVInputFormat h261_iformat = { "h261", "raw h261", @@ -739,6 +782,9 @@ av_register_input_format(&ac3_iformat); av_register_output_format(&ac3_oformat); + av_register_input_format(&aac_iformat); + av_register_output_format(&aac_oformat); + av_register_input_format(&dts_iformat); av_register_input_format(&h261_iformat);