[FFmpeg-devel] [PATCH 1/3] id3v2: make ff_id3v2_parse static

Anton Khirnov anton
Thu Jan 20 09:35:58 CET 2011


---
 libavformat/id3v2.c |   56 +++++++++++++++++++++++++-------------------------
 libavformat/id3v2.h |    6 -----
 2 files changed, 28 insertions(+), 34 deletions(-)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 3f9ada2..9e748b5 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -50,33 +50,6 @@ int ff_id3v2_tag_len(const uint8_t * buf)
     return len;
 }
 
-void ff_id3v2_read(AVFormatContext *s, const char *magic)
-{
-    int len, ret;
-    uint8_t buf[ID3v2_HEADER_SIZE];
-    int     found_header;
-    int64_t off;
-
-    do {
-        /* save the current offset in case there's nothing to read/skip */
-        off = url_ftell(s->pb);
-        ret = get_buffer(s->pb, buf, ID3v2_HEADER_SIZE);
-        if (ret != ID3v2_HEADER_SIZE)
-            return;
-            found_header = ff_id3v2_match(buf, magic);
-            if (found_header) {
-            /* parse ID3v2 header */
-            len = ((buf[6] & 0x7f) << 21) |
-                  ((buf[7] & 0x7f) << 14) |
-                  ((buf[8] & 0x7f) << 7) |
-                   (buf[9] & 0x7f);
-            ff_id3v2_parse(s, len, buf[3], buf[5]);
-        } else {
-            url_fseek(s->pb, off, SEEK_SET);
-        }
-    } while (found_header);
-}
-
 static unsigned int get_size(ByteIOContext *s, int len)
 {
     int v = 0;
@@ -187,7 +160,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c
         av_metadata_set2(&s->metadata, key, val, 0);
 }
 
-void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
+static void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
 {
     int isv34, tlen, unsync;
     char tag[5];
@@ -301,6 +274,33 @@ void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)
     av_free(buffer);
 }
 
+void ff_id3v2_read(AVFormatContext *s, const char *magic)
+{
+    int len, ret;
+    uint8_t buf[ID3v2_HEADER_SIZE];
+    int     found_header;
+    int64_t off;
+
+    do {
+        /* save the current offset in case there's nothing to read/skip */
+        off = url_ftell(s->pb);
+        ret = get_buffer(s->pb, buf, ID3v2_HEADER_SIZE);
+        if (ret != ID3v2_HEADER_SIZE)
+            return;
+            found_header = ff_id3v2_match(buf, magic);
+            if (found_header) {
+            /* parse ID3v2 header */
+            len = ((buf[6] & 0x7f) << 21) |
+                  ((buf[7] & 0x7f) << 14) |
+                  ((buf[8] & 0x7f) << 7) |
+                   (buf[9] & 0x7f);
+            ff_id3v2_parse(s, len, buf[3], buf[5]);
+        } else {
+            url_fseek(s->pb, off, SEEK_SET);
+        }
+    } while (found_header);
+}
+
 const AVMetadataConv ff_id3v2_metadata_conv[] = {
     { "TALB", "album"},
     { "TAL",  "album"},
diff --git a/libavformat/id3v2.h b/libavformat/id3v2.h
index 27403f8..3f89aca 100644
--- a/libavformat/id3v2.h
+++ b/libavformat/id3v2.h
@@ -61,12 +61,6 @@ int ff_id3v2_match(const uint8_t *buf, const char *magic);
 int ff_id3v2_tag_len(const uint8_t *buf);
 
 /**
- * ID3v2 parser
- * Handles ID3v2.2, 2.3 and 2.4.
- */
-void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags);
-
-/**
  * Read an ID3v2 tag
  */
 void ff_id3v2_read(AVFormatContext *s, const char *magic);
-- 
1.7.2.3




More information about the ffmpeg-devel mailing list