Author: anthm Date: Fri Jan 30 17:43:12 2009 New Revision: 11572 Log: revert silence gen code for comparison Modified: freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Fri Jan 30 17:43:12 2009 @@ -201,6 +201,7 @@ } } +#if SILENCE_METHOD_ONE SWITCH_DECLARE(void) switch_generate_sln_silence(int16_t *data, uint32_t samples, uint32_t divisor) { int16_t x; @@ -223,6 +224,31 @@ data++; } } +#else + +SWITCH_DECLARE(void) switch_generate_sln_silence(int16_t *data, uint32_t samples, uint32_t divisor) +{ + int16_t rnd = 0, rnd2, x; + uint32_t i; + int sum_rnd = 0; + + assert(divisor); + + rnd2 = (int16_t) (intptr_t) &data + switch_epoch_time_now(NULL); + + for (i = 0; i < samples; i++, sum_rnd = 0) { + for (x = 0; x < 10; x++) { + rnd += ((x + i) * rnd2); + sum_rnd += rnd; + } + switch_normalize_to_16bit(sum_rnd); + *data = (int16_t) ((int16_t) sum_rnd / (int) divisor); + + data++; + } +} + +#endif SWITCH_DECLARE(uint32_t) switch_merge_sln(int16_t *data, uint32_t samples, int16_t *other_data, uint32_t other_samples) {