PcmMix: use negative value instead of NaN for addition

Avoid NaN to allow -ffast-math.
This commit is contained in:
Max Kellermann
2013-10-30 17:23:49 +01:00
parent c4d3030d24
commit 50dc98367c
3 changed files with 6 additions and 7 deletions
+2 -2
View File
@@ -194,9 +194,9 @@ pcm_mix(void *buffer1, const void *buffer2, size_t size,
int vol1;
float s;
/* portion1 is between 0.0 and 1.0 for crossfading, MixRamp uses NaN
/* portion1 is between 0.0 and 1.0 for crossfading, MixRamp uses -1
* to signal mixing rather than fading */
if (isnan(portion1))
if (portion1 < 0)
return pcm_add(buffer1, buffer2, size, format);
s = sin(M_PI_2 * portion1);
+3 -2
View File
@@ -36,8 +36,9 @@
* @param size the size of both buffers in bytes
* @param format the sample format of both buffers
* @param portion1 a number between 0.0 and 1.0 specifying the portion
* of the first buffer in the mix; portion2 = (1.0 - portion1). The value
* NaN is used by the MixRamp code to specify that simple addition is required.
* of the first buffer in the mix; portion2 = (1.0 - portion1).
* Negative values are used by the MixRamp code to specify that simple
* addition is required.
*
* @return true on success, false if the format is not supported
*/