diff options
Diffstat (limited to '')
-rw-r--r-- | src/song.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/song.c b/src/song.c index 9d2a09e54..c1f465177 100644 --- a/src/song.c +++ b/src/song.c @@ -59,7 +59,9 @@ Song * newSong(char * utf8url, SONG_TYPE type) { if(song->type == SONG_TYPE_FILE) { InputPlugin * plugin; if((plugin = isMusic(utf8url,&(song->mtime)))) { - song->tag = plugin->tagDupFunc(utf8url); + song->tag = plugin->tagDupFunc( + rmp2amp(utf8ToFsCharset(utf8url))); + if(song->tag) validateUtf8Tag(song->tag); } if(!song->tag || song->tag->time<0) { freeSong(song); @@ -267,7 +269,9 @@ int updateSongInfo(Song * song) { song->tag = NULL; if((plugin = isMusic(utf8url,&(song->mtime)))) { - song->tag = plugin->tagDupFunc(utf8url); + song->tag = plugin->tagDupFunc( + rmp2amp(utf8ToFsCharset(utf8url))); + if(song->tag) validateUtf8Tag(song->tag); } if(!song->tag || song->tag->time<0) return -1; else addSongToTables(song); |