mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-12-16 08:56:42 -05:00
A small cleanup to 32-bit mix routine as Abramo suggested
This commit is contained in:
parent
6235dab516
commit
87538939bd
1 changed files with 6 additions and 6 deletions
|
|
@ -197,7 +197,7 @@ static void mix_areas2(unsigned int size,
|
||||||
register signed int sample, old_sample;
|
register signed int sample, old_sample;
|
||||||
|
|
||||||
while (size-- > 0) {
|
while (size-- > 0) {
|
||||||
sample = *src >> 8;
|
sample = *src / 256;
|
||||||
old_sample = *sum;
|
old_sample = *sum;
|
||||||
if (*dst == 0)
|
if (*dst == 0)
|
||||||
sample -= old_sample;
|
sample -= old_sample;
|
||||||
|
|
@ -205,12 +205,12 @@ static void mix_areas2(unsigned int size,
|
||||||
do {
|
do {
|
||||||
old_sample = *sum;
|
old_sample = *sum;
|
||||||
if (old_sample > 0x7fffff)
|
if (old_sample > 0x7fffff)
|
||||||
sample = 0x7fffff;
|
sample = 0x7fffffff;
|
||||||
else if (old_sample < -0x800000)
|
else if (old_sample < -0x800000)
|
||||||
sample = -0x800000;
|
sample = -0x80000000;
|
||||||
else
|
else
|
||||||
sample = old_sample;
|
sample = old_sample * 256;
|
||||||
*dst = sample << 8;
|
*dst = sample;
|
||||||
} while (*sum != old_sample);
|
} while (*sum != old_sample);
|
||||||
((char *)src) += src_step;
|
((char *)src) += src_step;
|
||||||
((char *)dst) += dst_step;
|
((char *)dst) += dst_step;
|
||||||
|
|
@ -709,7 +709,7 @@ static snd_pcm_sframes_t snd_pcm_dmix_forward(snd_pcm_t *pcm, snd_pcm_uframes_t
|
||||||
{
|
{
|
||||||
snd_pcm_sframes_t avail;
|
snd_pcm_sframes_t avail;
|
||||||
|
|
||||||
avail = snd_pcm_mmap_avail(pcm);
|
avail = snd_pcm_mmap_playback_avail(pcm);
|
||||||
if (avail < 0)
|
if (avail < 0)
|
||||||
return 0;
|
return 0;
|
||||||
if (frames > (snd_pcm_uframes_t)avail)
|
if (frames > (snd_pcm_uframes_t)avail)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue