[SCM] libav/experimental: Handle ID3v1 tag while decoding mp[123] frames

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:21:42 UTC 2013


The following commit has been merged in the experimental branch:
commit c19a216af3ffc965752e600ac5fc298807d92857
Author: Clément Bœsch <ubitux at gmail.com>
Date:   Mon Jan 10 11:36:11 2011 +0000

    Handle ID3v1 tag while decoding mp[123] frames
    
    patch by Clément Bœsch (ubitux at gmail)
    
    Originally committed as revision 26297 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index 769be89..76fdffb 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -27,6 +27,7 @@
 #include "avcodec.h"
 #include "get_bits.h"
 #include "dsputil.h"
+#include "libavformat/id3v1.h"
 
 /*
  * TODO:
@@ -2043,6 +2044,13 @@ static int decode_frame(AVCodecContext * avctx,
 
     header = AV_RB32(buf);
     if(ff_mpa_check_header(header) < 0){
+
+        if (buf_size == ID3v1_TAG_SIZE
+            && buf[0] == 'T' && buf[1] == 'A' && buf[2] == 'G') {
+            *data_size = 0;
+            return ID3v1_TAG_SIZE;
+        }
+
         av_log(avctx, AV_LOG_ERROR, "Header missing\n");
         return -1;
     }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list