[FFmpeg-devel] [PATCH] lavf/aacdec: read ape tags
Paul B Mahol
onemda at gmail.com
Tue Jun 4 00:19:38 CEST 2013
Closes #2634.
Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
libavformat/Makefile | 2 +-
libavformat/aacdec.c | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 7af1589..94f6074 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -50,7 +50,7 @@ OBJS-$(CONFIG_SHARED) += log2_tab.o
# muxers/demuxers
OBJS-$(CONFIG_A64_MUXER) += a64.o rawenc.o
-OBJS-$(CONFIG_AAC_DEMUXER) += aacdec.o rawdec.o
+OBJS-$(CONFIG_AAC_DEMUXER) += aacdec.o apetag.o rawdec.o
OBJS-$(CONFIG_AC3_DEMUXER) += ac3dec.o rawdec.o
OBJS-$(CONFIG_AC3_MUXER) += rawenc.o
OBJS-$(CONFIG_ACT_DEMUXER) += act.o
diff --git a/libavformat/aacdec.c b/libavformat/aacdec.c
index 9d7c6d7..d93e75e 100644
--- a/libavformat/aacdec.c
+++ b/libavformat/aacdec.c
@@ -25,7 +25,7 @@
#include "internal.h"
#include "rawdec.h"
#include "id3v1.h"
-
+#include "apetag.h"
static int adts_aac_probe(AVProbeData *p)
{
@@ -75,6 +75,12 @@ static int adts_aac_read_header(AVFormatContext *s)
st->need_parsing = AVSTREAM_PARSE_FULL_RAW;
ff_id3v1_read(s);
+ if (s->pb->seekable &&
+ !av_dict_get(s->metadata, "", NULL, AV_DICT_IGNORE_SUFFIX)) {
+ int64_t cur = avio_tell(s->pb);
+ ff_ape_parse_tag(s);
+ avio_seek(s->pb, cur, SEEK_SET);
+ }
//LCM of all possible ADTS sample rates
avpriv_set_pts_info(st, 64, 1, 28224000);
--
1.7.11.2
More information about the ffmpeg-devel
mailing list