diff --git a/src/simple-tone-generator.c b/src/simple-tone-generator.c index bc459f3..fe72872 100644 --- a/src/simple-tone-generator.c +++ b/src/simple-tone-generator.c @@ -49,10 +49,12 @@ simpleaudio_tone_init( unsigned int new_sin_table_len, float mag ) unsigned int i; unsigned short mag_s = 32767.0 * tone_mag + 0.5f; - if ( mag_s < 2 ) // "short epsilon" - mag_s = 2; + if ( tone_mag > 1.0f ) // clamp to 1.0 to avoid overflow + mag_s = 32767; + if ( mag_s < 1 ) // "short epsilon" + mag_s = 1; for ( i=0; i 1.0f ) // clamp to 1.0 to avoid overflow + mag_s = 32767; + if ( mag_s < 1 ) // "short epsilon" + mag_s = 1; for ( i=0; i