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:
		@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user