]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
reduce cpu requirement for generated comfort noise
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 3 Dec 2008 23:38:12 +0000 (23:38 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 3 Dec 2008 23:38:12 +0000 (23:38 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10584 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_resample.c

index 49efe6413953b83e804c19d77299501210884800..9c33004f90db82aaae447632458029526044b98b 100644 (file)
@@ -203,15 +203,17 @@ SWITCH_DECLARE(void) switch_swap_linear(int16_t *buf, int len)
 
 SWITCH_DECLARE(void) switch_generate_sln_silence(int16_t *data, uint32_t samples, uint32_t divisor)
 {
-       int16_t rnd, x;
+       int16_t rnd = 0, rnd2, x;
        uint32_t i;
        int sum_rnd = 0;
 
        assert(divisor);
 
+       rnd2 = (int16_t) (intptr_t) &data + switch_timestamp(NULL);
+
        for (i = 0; i < samples; i++, sum_rnd = 0) {
-               for (x = 0; x < 7; x++) {
-                       rnd = (int16_t) (rand() * sizeof(int16_t));
+               for (x = 0; x < 10; x++) {
+                       rnd += ((x + i) * rnd2);
                        sum_rnd += rnd;
                }
                switch_normalize_to_16bit(sum_rnd);