diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-10-25 20:11:35 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-10-25 20:11:35 +0000 |
commit | fececcea3c6e492d9d9d828d64f012bb1fdf793c (patch) | |
tree | 173cf7ed98efe64bc095934cab1c40cafc570cb1 /src/decode.c | |
parent | ce10ba4b119faac3eb7c5d1251b1a875d28056c1 (diff) | |
download | mpd-fececcea3c6e492d9d9d828d64f012bb1fdf793c.tar.gz mpd-fececcea3c6e492d9d9d828d64f012bb1fdf793c.tar.xz mpd-fececcea3c6e492d9d9d828d64f012bb1fdf793c.zip |
parse metadata and send to output when playing another stream
git-svn-id: https://svn.musicpd.org/mpd/trunk@2338 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/decode.c')
-rw-r--r-- | src/decode.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/decode.c b/src/decode.c index 55252c46e..a02dfe063 100644 --- a/src/decode.c +++ b/src/decode.c @@ -159,9 +159,7 @@ int waitOnDecode(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb, if((tag = metadataChunkToMpdTagDup(&(pc->fileMetadataChunk)))) { sendMetdataToAudioDevice(tag); - printMpdTag(stdout, tag); freeMpdTag(tag); - tag = NULL; } pc->totalTime = pc->fileTime; @@ -428,7 +426,15 @@ void handleMetadata(OutputBuffer * cb, PlayerControl * pc, int * previous, if(!(*currentChunkSent) && pc->metadataState == PLAYER_METADATA_STATE_WRITE) { + MpdTag * tag = NULL; + *currentChunkSent = 1; + + if((tag = metadataChunkToMpdTagDup(currentChunk))) { + sendMetdataToAudioDevice(tag); + freeMpdTag(tag); + } + memcpy(&(pc->metadataChunk), currentChunk, sizeof(MetadataChunk)); pc->metadataState = PLAYER_METADATA_STATE_READ; |