diff options
Diffstat (limited to 'src/crossfade.c')
-rw-r--r-- | src/crossfade.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/crossfade.c b/src/crossfade.c index 7989b1dc9..b494b64b6 100644 --- a/src/crossfade.c +++ b/src/crossfade.c @@ -131,46 +131,3 @@ unsigned cross_fade_calc(float duration, float total_time, return chunks; } - -void cross_fade_apply(struct music_chunk *a, const struct music_chunk *b, - const struct audio_format *format, - float mix_ratio) -{ - size_t size; - - assert(a != NULL); - assert(b != NULL); - assert(a->length == 0 || b->length == 0 || - audio_format_equals(&a->audio_format, &b->audio_format)); - - 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; - - pcm_mix(a->data, - b->data, - size, - format, - mix_ratio); - - if (b->length > a->length) { - /* the second buffer is larger than the first one: - there is unmixed rest at the end. Copy it over. - The output buffer API guarantees that there is - enough room in a->data. */ - -#ifndef NDEBUG - if (a->length == 0) - a->audio_format = b->audio_format; -#endif - - memcpy(a->data + a->length, - b->data + a->length, - b->length - a->length); - a->length = b->length; - } -} |