- /* peek the entire tag */
- if( stream_Peek( p_demux->s, &p_peek, i_size ) < i_size ) break;
-
- msg_Dbg( p_demux, "found ID3v1 tag" );
- ParseID3Tag( p_demux, p_peek, i_size );
+ /* FIXME list are separated by '\0' */
+ char *psz_value = strndup( (char*)&p_data[0], i_size );
+
+ EnsureUTF8( psz_name );
+ EnsureUTF8( psz_value );
+#define IS(s) (!strcasecmp( psz_name, s ) )
+ if( IS( "Title" ) )
+ vlc_meta_SetTitle( p_meta, psz_value );
+ else if( IS( "Artist" ) )
+ vlc_meta_SetArtist( p_meta, psz_value );
+ else if( IS( "Album" ) )
+ vlc_meta_SetAlbum( p_meta, psz_value );
+ else if( IS( "Publisher" ) )
+ vlc_meta_SetPublisher( p_meta, psz_value );
+ else if( IS( "Track" ) )
+ {
+ char *p = strchr( psz_value, '/' );
+ if( p )
+ *p++ = '\0';
+ vlc_meta_SetTrackNum( p_meta, psz_value );
+ }
+ else if( IS( "Comment" ) )
+ vlc_meta_SetDescription( p_meta, psz_value );
+ else if( IS( "Copyright" ) )
+ vlc_meta_SetCopyright( p_meta, psz_value );
+ else if( IS( "Year" ) )
+ vlc_meta_SetDate( p_meta, psz_value );
+ else if( IS( "Genre" ) )
+ vlc_meta_SetGenre( p_meta, psz_value );
+ else if( IS( "Language" ) )
+ vlc_meta_SetLanguage( p_meta, psz_value );
+ else
+ vlc_meta_AddExtra( p_meta, psz_name, psz_value );
+#undef IS
+ free( psz_value );