diff options
Diffstat (limited to '')
-rw-r--r-- | src/player.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/player.c b/src/player.c index 0682a537a..4188243e6 100644 --- a/src/player.c +++ b/src/player.c @@ -473,11 +473,8 @@ Song * playerCurrentDecodeSong() { Song * ret = NULL; PlayerControl * pc = &(getPlayerData()->playerControl); - if(pc->metadataState == PLAYER_METADATA_STATE_READ && - ((!song || strcmp(song->utf8url, pc->currentUrl)) - || (!prev || memcmp(prev, &(pc->metadataChunk), - sizeof(MetadataChunk))))) - { + if(pc->metadataState == PLAYER_METADATA_STATE_READ) { + DEBUG("playerCurrentDecodeSong: caught new metadata!\n"); if(prev) free(prev); prev = malloc(sizeof(MetadataChunk)); memcpy(prev, &(pc->metadataChunk), sizeof(MetadataChunk)); @@ -488,9 +485,8 @@ Song * playerCurrentDecodeSong() { song->tag = metadataChunkToMpdTagDup(prev); validateUtf8Tag(song->tag); ret = song; + resetPlayerMetadata(); } - resetPlayerMetadata(); - return ret; } |