diff raw.c @ 5046:b4b0df2c408b libavformat

Add support for id3 tag parsing for ADTS AAC streams Patch by Patrick Dehne ( patrick mysonicweb com )
author superdump
date Fri, 19 Jun 2009 14:36:47 +0000
parents 62d8279280a8
children fcb33a4b62d3
line wrap: on
line diff
--- a/raw.c	Fri Jun 19 14:03:35 2009 +0000
+++ b/raw.c	Fri Jun 19 14:36:47 2009 +0000
@@ -27,6 +27,7 @@
 #include "avformat.h"
 #include "raw.h"
 #include "id3v2.h"
+#include "id3v1.h"
 
 /* simple formats */
 
@@ -625,6 +626,26 @@
     else if(max_frames>=1) return 1;
     else                   return 0;
 }
+
+static int adts_aac_read_header(AVFormatContext *s,
+                                AVFormatParameters *ap)
+{
+    AVStream *st;
+
+    st = av_new_stream(s, 0);
+    if (!st)
+        return AVERROR(ENOMEM);
+
+    st->codec->codec_type = CODEC_TYPE_AUDIO;
+    st->codec->codec_id = s->iformat->value;
+    st->need_parsing = AVSTREAM_PARSE_FULL;
+
+    ff_id3v1_read(s);
+    ff_id3v2_read(s);
+
+    return 0;
+}
+
 #endif
 
 /* Note: Do not forget to add new entries to the Makefile as well. */
@@ -635,7 +656,7 @@
     NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
     0,
     adts_aac_probe,
-    audio_read_header,
+    adts_aac_read_header,
     ff_raw_read_partial_packet,
     .flags= AVFMT_GENERIC_INDEX,
     .extensions = "aac",