1
0
Fork 0
forked from len0rd/rockbox

Replace limiter with dynamic range compressor

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22832 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jeffrey Goode 2009-09-25 15:46:38 +00:00
parent b9a17dd0ce
commit cf19ba5599
21 changed files with 577 additions and 507 deletions

View file

@ -1170,30 +1170,6 @@ bool pcmbuf_is_crossfade_enabled(void)
* Commit any remaining samples in the PCM buffer for playback. */
void pcmbuf_play_remainder(void)
{
pcmbuf_flush_limiter_buffer();
if (audiobuffer_fillpos)
pcmbuf_flush_fillpos();
}
/** FLUSH LIMITER BUFFER
* Empty the limiter buffer and commit its contents
* to the PCM buffer for playback. */
void pcmbuf_flush_limiter_buffer(void)
{
char *dest;
int out_count = LIMITER_BUFFER_SIZE;
/* create room at the end of the PCM buffer for any
samples that may be held back in the limiter buffer */
while ((dest = pcmbuf_request_buffer(&out_count)) == NULL)
{
cancel_cpu_boost();
sleep(1);
}
/* flush the limiter buffer into the PCM buffer */
out_count = dsp_flush_limiter_buffer(dest);
if (out_count > 0)
pcmbuf_write_complete(out_count);
}