[FFmpeg-devel] [PATCH 3/3] lavf/aiffdec: handle ID3 chunk

Matthieu Bouron matthieu.bouron at gmail.com
Sun Jul 1 20:00:59 CEST 2012


On Sun, Jul 01, 2012 at 04:33:50PM +0200, Michael Niedermayer wrote:
> On Sun, Jul 01, 2012 at 11:16:43AM +0200, Matthieu Bouron wrote:
> > ---
> >  libavformat/aiffdec.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
> > index 9764f82..bbf93f4 100644
> > --- a/libavformat/aiffdec.c
> > +++ b/libavformat/aiffdec.c
> > @@ -26,6 +26,7 @@
> >  #include "pcm.h"
> >  #include "aiff.h"
> >  #include "isom.h"
> > +#include "id3v2.h"
> >  
> >  #define AIFF                    0
> >  #define AIFF_C_VERSION1         0xA2805140
> > @@ -195,6 +196,7 @@ static int aiff_read_header(AVFormatContext *s)
> >      AVIOContext *pb = s->pb;
> >      AVStream * st;
> >      AIFFInputContext *aiff = s->priv_data;
> > +    ID3v2ExtraMeta *id3v2_extra_meta = NULL;
> >  
> >      /* check FORM header */
> >      filesize = get_tag(pb, &tag);
> > @@ -231,6 +233,10 @@ static int aiff_read_header(AVFormatContext *s)
> >              if (offset > 0) // COMM is after SSND
> >                  goto got_sound;
> >              break;
> > +        case MKTAG('I', 'D', '3', ' '):
> > +            ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
> 
> > +            av_freep(&id3v2_extra_meta);
> 
> why does this not use ff_id3v2_free_extra_meta() ?
> it doesnt look correct like that or am i missing something?
> 
I just forgot to use this function :(
New patch attached.
-------------- next part --------------
>From 036e3197d7a94572b24b7caba21b50f79e236e9d Mon Sep 17 00:00:00 2001
From: Matthieu Bouron <matthieu.bouron at gmail.com>
Date: Sat, 30 Jun 2012 19:05:05 +0200
Subject: [PATCH 3/3] lavf/aiffdec: handle ID3 chunk

---
 libavformat/aiffdec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index 9764f82..fc9cdc7 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -26,6 +26,7 @@
 #include "pcm.h"
 #include "aiff.h"
 #include "isom.h"
+#include "id3v2.h"
 
 #define AIFF                    0
 #define AIFF_C_VERSION1         0xA2805140
@@ -195,6 +196,7 @@ static int aiff_read_header(AVFormatContext *s)
     AVIOContext *pb = s->pb;
     AVStream * st;
     AIFFInputContext *aiff = s->priv_data;
+    ID3v2ExtraMeta *id3v2_extra_meta = NULL;
 
     /* check FORM header */
     filesize = get_tag(pb, &tag);
@@ -231,6 +233,10 @@ static int aiff_read_header(AVFormatContext *s)
             if (offset > 0) // COMM is after SSND
                 goto got_sound;
             break;
+        case MKTAG('I', 'D', '3', ' '):
+            ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
+            ff_id3v2_free_extra_meta(&id3v2_extra_meta);
+            break;
         case MKTAG('F', 'V', 'E', 'R'):     /* Version chunk */
             version = avio_rb32(pb);
             break;
-- 
1.7.11



More information about the ffmpeg-devel mailing list