1 /*
2 	id3: ID3v2.3 and ID3v2.4 parsing (a relevant subset)
3 
4 	copyright 2006-2007 by the mpg123 project - free software under the terms of the LGPL 2.1
5 	see COPYING and AUTHORS files in distribution or http://mpg123.org
6 	initially written by Thomas Orgis
7 */
8 
9 #ifndef MPG123_ID3_H
10 #define MPG123_ID3_H
11 
12 /* really need it _here_! */
13 #include "frame.h"
14 
15 #ifdef NO_ID3V2
16 # ifdef init_id3
17 #  undef init_id3
18 # endif
19 # define init_id3(fr)
20 # ifdef exit_id3
21 #  undef exit_id3
22 # endif
23 # define exit_id3(fr)
24 # ifdef reset_id3
25 #  undef reset_id3
26 # endif
27 # define reset_id3(fr)
28 # ifdef id3_link
29 #  undef id3_link
30 # endif
31 # define id3_link(fr)
32 #else
33 void init_id3(mpg123_handle *fr);
34 void exit_id3(mpg123_handle *fr);
35 void reset_id3(mpg123_handle *fr);
36 void id3_link(mpg123_handle *fr);
37 #endif
38 int  parse_new_id3(mpg123_handle *fr, unsigned long first4bytes);
39 /* Convert text from some ID3 encoding to UTf-8.
40    On error, sb->fill is 0. The noquiet flag enables warning/error messages. */
41 void id3_to_utf8(mpg123_string *sb, unsigned char encoding, const unsigned char *source, size_t source_size, int noquiet);
42 
43 #endif
44