id3v2: make ff_id3v2_parse static
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 46a2da7698634214eed6d269fc72d284e3d3700f)
This commit is contained in:
		
							parent
							
								
									9256dc28ab
								
							
						
					
					
						commit
						b3158f7a42
					
				@ -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"},
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user