From 46a2da7698634214eed6d269fc72d284e3d3700f Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 20 Jan 2011 08:35:58 +0000 Subject: [PATCH] id3v2: make ff_id3v2_parse static Signed-off-by: Mans Rullgard --- 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 b32ca7d94f..9cfff27210 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; @@ -162,7 +135,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]; @@ -276,6 +249,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 4c3041fa3c..25ee53e9b8 100644 --- a/libavformat/id3v2.h +++ b/libavformat/id3v2.h @@ -53,12 +53,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 */