| Commit message (Collapse) | Author | Files | Lines |
|
The crossfading code shouldn't depend on the audio output code. Pass
the current audio format to cross_fade_calc() and let it compare
directly, instead of using isCurrentAudioFormat().
|
|
Moved the software mixing code (used by crossfading) to a separate
library.
|
|
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.
|
|
Rename all variables and struct members.
|
|
.. and rename dc.audioFormat to dc.in_audio_format. The music pipe
does not need to know the audio format, and its former "audioFormat"
property indicated the format of the most recently added chunk, which
might be confusing when you are reading the oldest chunks.
|
|
.. and rename ob_chunk to struct music_chunk.
|
|
The last bit of CamelCase in audio_format.h. Additionally, rename a
bunch of local variables.
|
|
When there are standardized headers, use these instead of the bloated
os_compat.h.
|
|
pcm_mix() might overflow the destination buffer if it is smaller than
the second buffer. This is ok because the physical buffer size passed
by cross_fade_apply() is always big enough, but clutters pcm_mix()
with complicated length checks and contains a dangerous buffer
overflow pitfall. Simplify pcm_mix()/pcm_add() and pass only the
smaller buffer size; let cross_fade_apply() do the memcpy().
|
|
Get rid of CamelCase, and don't use a typedef, so we can
forward-declare it, and unclutter the include dependencies.
|
|
decode.c should be a lot smaller; start by moving all code which
handles cross-fading to crossfade.c. Also includes camelCase
conversion.
|