crossfade: copy tag

If the source chunk has a tag, merge it into the destination chunk.
The source chunk gets deleted after that, and this is our last chance
to grab the tag.
This commit is contained in:
Max Kellermann 2008-11-02 17:07:13 +01:00
parent 0f80428fda
commit aa9b31f1cf

View File

@ -22,6 +22,7 @@
#include "pcm_utils.h"
#include "pipe.h"
#include "audio_format.h"
#include "tag.h"
#include <assert.h>
#include <string.h>
@ -58,6 +59,10 @@ void cross_fade_apply(struct music_chunk *a, const struct music_chunk *b,
assert(current_chunk <= num_chunks);
if (a->tag == NULL && b->tag != NULL)
/* merge the tag into the destination chunk */
a->tag = tag_dup(b->tag);
size = b->length > a->length
? a->length
: b->length;