[FFmpeg-cvslog] r19630 - in trunk/libavformat: Makefile mpc.c

kostya subversion
Tue Aug 11 19:18:10 CEST 2009


Author: kostya
Date: Tue Aug 11 19:18:10 2009
New Revision: 19630

Log:
Parse APE metadata tags in Musepack SV7 files

Patch by Matti Hamalainen (to get his mail address remove common endings from
 "mhamalainen at studentsnen.oamknen.finen")
Thread: [PATCH]5/6 Add APE tag metadata reading support in Musepack SV7 demuxer

Modified:
   trunk/libavformat/Makefile
   trunk/libavformat/mpc.c

Modified: trunk/libavformat/Makefile
==============================================================================
--- trunk/libavformat/Makefile	Tue Aug 11 19:08:09 2009	(r19629)
+++ trunk/libavformat/Makefile	Tue Aug 11 19:18:10 2009	(r19630)
@@ -95,7 +95,7 @@ OBJS-$(CONFIG_MOV_MUXER)                
 OBJS-$(CONFIG_MP2_MUXER)                 += mp3.o id3v1.o
 OBJS-$(CONFIG_MP3_DEMUXER)               += mp3.o id3v1.o id3v2.o
 OBJS-$(CONFIG_MP3_MUXER)                 += mp3.o id3v1.o
-OBJS-$(CONFIG_MPC_DEMUXER)               += mpc.o id3v1.o id3v2.o
+OBJS-$(CONFIG_MPC_DEMUXER)               += mpc.o id3v1.o id3v2.o apetag.o
 OBJS-$(CONFIG_MPC8_DEMUXER)              += mpc8.o
 OBJS-$(CONFIG_MPEG1SYSTEM_MUXER)         += mpegenc.o
 OBJS-$(CONFIG_MPEG1VCD_MUXER)            += mpegenc.o

Modified: trunk/libavformat/mpc.c
==============================================================================
--- trunk/libavformat/mpc.c	Tue Aug 11 19:08:09 2009	(r19629)
+++ trunk/libavformat/mpc.c	Tue Aug 11 19:18:10 2009	(r19630)
@@ -22,6 +22,7 @@
 #include "libavcodec/get_bits.h"
 #include "avformat.h"
 #include "id3v2.h"
+#include "apetag.h"
 
 #define MPC_FRAMESIZE  1152
 #define DELAY_FRAMES   32
@@ -111,6 +112,13 @@ static int mpc_read_header(AVFormatConte
     s->start_time = 0;
     s->duration = (int64_t)c->fcount * MPC_FRAMESIZE * AV_TIME_BASE / st->codec->sample_rate;
 
+    /* try to read APE tags */
+    if (!url_is_streamed(s->pb)) {
+        int64_t pos = url_ftell(s->pb);
+        ff_ape_parse_tag(s);
+        url_fseek(s->pb, pos, SEEK_SET);
+    }
+
     return 0;
 }
 



More information about the ffmpeg-cvslog mailing list