aboutsummaryrefslogtreecommitdiffstats
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/player.c b/src/player.c
index e6da9aeb9..3ddd21062 100644
--- a/src/player.c
+++ b/src/player.c
@@ -478,16 +478,16 @@ Song * playerCurrentDecodeSong() {
sizeof(MetadataChunk)))))
{
printf("metadata in the PLAYER!\n");
+ if(prev) free(prev);
+ prev = malloc(sizeof(MetadataChunk));
+ memcpy(prev, &(pc->metadataChunk), sizeof(MetadataChunk));
+ resetPlayerMetadata();
if(song) freeJustSong(song);
song = newNullSong();
if(song->utf8url) free(song->utf8url);
song->utf8url = strdup(pc->currentUrl);
- song->tag = metadataChunkToMpdTagDup(&(pc->metadataChunk));
+ song->tag = metadataChunkToMpdTagDup(prev);
validateUtf8Tag(song->tag);
- if(prev) free(prev);
- prev = malloc(sizeof(MetadataChunk));
- memcpy(prev, &(pc->metadataChunk), sizeof(MetadataChunk));
- resetPlayerMetadata();
return song;
}