61      [33] = 
"Instrumental",
 
   74      [46] = 
"Instrumental Pop",
 
   75      [47] = 
"Instrumental Rock",
 
   79      [51] = 
"Techno-Industrial",
 
   84      [56] = 
"Southern Rock",
 
   89      [61] = 
"Christian Rap",
 
   92      [64] = 
"Native American",
 
  106      [78] = 
"Rock & Roll",
 
  110      [82] = 
"National Folk",
 
  112      [84] = 
"Fast Fusion",
 
  119      [91] = 
"Gothic Rock",
 
  120      [92] = 
"Progressive Rock",
 
  121      [93] = 
"Psychedelic Rock",
 
  122      [94] = 
"Symphonic Rock",
 
  126      [98] = 
"Easy Listening",
 
  132     [104] = 
"Chamber Music",
 
  135     [107] = 
"Booty Bass",
 
  137     [109] = 
"Porn Groove",
 
  145     [117] = 
"Power Ballad",
 
  146     [118] = 
"Rhythmic Soul",
 
  152     [124] = 
"Euro-House",
 
  153     [125] = 
"Dance Hall",
 
  155     [127] = 
"Drum & Bass",
 
  156     [128] = 
"Club-House",
 
  162     [134] = 
"Polsk Punk",
 
  164     [136] = 
"Christian Gangsta",
 
  165     [137] = 
"Heavy Metal",
 
  166     [138] = 
"Black Metal",
 
  168     [140] = 
"Contemporary Christian",
 
  169     [141] = 
"Christian Rock",
 
  172     [144] = 
"Thrash Metal",
 
  182     char *q, str[512], *first_free_space = 
NULL;
 
  185     for(i = 0; i < buf_size; i++) {
 
  189         if ((q - str) >= 
sizeof(str) - 1)
 
  192             if (!first_free_space)
 
  193                 first_free_space = q;
 
  195             first_free_space = 
NULL;
 
  201     if (first_free_space)
 
  202         *first_free_space = 
'\0';
 
  217     if (!(buf[0] == 
'T' &&
 
  226     if (buf[125] == 0 && buf[126] != 0) {
 
  244         if (filesize > 128) {
 
int64_t avio_size(AVIOContext *s)
Get the filesize. 
void ff_id3v1_read(AVFormatContext *s)
Read an ID3v1 tag. 
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext. 
static av_always_inline int64_t avio_tell(AVIOContext *s)
ftell() equivalent for AVIOContext. 
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf. 
AVDictionary * metadata
Metadata that applies to the whole file. 
int seekable
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable. 
#define AVIO_SEEKABLE_NORMAL
Seeking works like for a local file. 
static void get_string(AVFormatContext *s, const char *key, const uint8_t *buf, int buf_size)
Libavcodec external API header. 
AVIOContext * pb
I/O context. 
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry. 
static int parse_tag(AVFormatContext *s, const uint8_t *buf)
Parse an ID3v1 tag. 
int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags)
Convenience wrapper for av_dict_set that converts the value to a string and stores it...
const char *const ff_id3v1_genre_str[ID3v1_GENRE_MAX+1]
ID3v1 genres.