[pulseaudio-discuss] [PATCH v2 14/14] tests: Remove mix-special-test

Peter Meerwald pmeerw at pmeerw.net
Wed Sep 10 07:40:15 PDT 2014


From: Peter Meerwald <p.meerwald at bct-electronic.com>

code has been moved to cpu-mix-test

Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
---
 src/.gitignore               |   1 -
 src/Makefile.am              |   8 +-
 src/tests/mix-special-test.c | 326 -------------------------------------------
 3 files changed, 1 insertion(+), 334 deletions(-)
 delete mode 100644 src/tests/mix-special-test.c

diff --git a/src/.gitignore b/src/.gitignore
index a90c7dc..5ca8013 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -55,7 +55,6 @@ mainloop-test-glib
 mcalign-test
 memblockq-test
 memblock-test
-mix-special-test
 mix-test
 once-test
 pacat-simple
diff --git a/src/Makefile.am b/src/Makefile.am
index 2ff4967..8d49af3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -249,8 +249,7 @@ TESTS_default = \
 		cpu-sconv-test \
 		cpu-volume-test \
 		lock-autospawn-test \
-		mult-s16-test \
-		mix-special-test
+		mult-s16-test
 
 TESTS_norun = \
 		ipacl-test \
@@ -538,11 +537,6 @@ mult_s16_test_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINOR@.la libpulse.la li
 mult_s16_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
 mult_s16_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
 
-mix_special_test_SOURCES = tests/mix-special-test.c tests/runtime-test-util.h
-mix_special_test_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINOR@.la libpulse.la libpulsecommon- at PA_MAJORMINOR@.la
-mix_special_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
-mix_special_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
-
 rtstutter_SOURCES = tests/rtstutter.c
 rtstutter_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINOR@.la libpulse.la libpulsecommon- at PA_MAJORMINOR@.la
 rtstutter_CFLAGS = $(AM_CFLAGS)
diff --git a/src/tests/mix-special-test.c b/src/tests/mix-special-test.c
deleted file mode 100644
index 08ac812..0000000
--- a/src/tests/mix-special-test.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/***
-  This file is part of PulseAudio.
-
-  PulseAudio is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2.1 of the License,
-  or (at your option) any later version.
-
-  PulseAudio is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with PulseAudio; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-  USA.
-***/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <check.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <math.h>
-
-#include <pulse/rtclock.h>
-#include <pulsecore/random.h>
-#include <pulsecore/macro.h>
-#include <pulsecore/mix.h>
-#include <pulsecore/sample-util.h>
-
-#include "runtime-test-util.h"
-
-static void acquire_mix_streams(pa_mix_info streams[], unsigned nstreams) {
-    unsigned i;
-
-    for (i = 0; i < nstreams; i++)
-        streams[i].ptr = pa_memblock_acquire_chunk(&streams[i].chunk);
-}
-
-static void release_mix_streams(pa_mix_info streams[], unsigned nstreams) {
-    unsigned i;
-
-    for (i = 0; i < nstreams; i++)
-        pa_memblock_release(streams[i].chunk.memblock);
-}
-
-/* special case: mix 2 s16ne streams, 1 channel each */
-static void pa_mix2_ch1_s16ne(pa_mix_info streams[], int16_t *data, unsigned length) {
-    const int16_t *ptr0 = streams[0].ptr;
-    const int16_t *ptr1 = streams[1].ptr;
-
-    const int32_t cv0 = streams[0].linear[0].i;
-    const int32_t cv1 = streams[1].linear[0].i;
-
-    length /= sizeof(int16_t);
-
-    for (; length > 0; length--) {
-        int32_t sum;
-
-        sum = pa_mult_s16_volume(*ptr0++, cv0);
-        sum += pa_mult_s16_volume(*ptr1++, cv1);
-
-        sum = PA_CLAMP_UNLIKELY(sum, -0x8000, 0x7FFF);
-        *data++ = sum;
-    }
-}
-
-/* special case: mix 2 s16ne streams, 2 channels each */
-static void pa_mix2_ch2_s16ne(pa_mix_info streams[], int16_t *data, unsigned length) {
-    const int16_t *ptr0 = streams[0].ptr;
-    const int16_t *ptr1 = streams[1].ptr;
-
-    length /= sizeof(int16_t) * 2;
-
-    for (; length > 0; length--) {
-        int32_t sum;
-
-        sum = pa_mult_s16_volume(*ptr0++, streams[0].linear[0].i);
-        sum += pa_mult_s16_volume(*ptr1++, streams[1].linear[0].i);
-
-        sum = PA_CLAMP_UNLIKELY(sum, -0x8000, 0x7FFF);
-        *data++ = sum;
-
-        sum = pa_mult_s16_volume(*ptr0++, streams[0].linear[1].i);
-        sum += pa_mult_s16_volume(*ptr1++, streams[1].linear[1].i);
-
-        sum = PA_CLAMP_UNLIKELY(sum, -0x8000, 0x7FFF);
-        *data++ = sum;
-    }
-}
-
-/* special case: mix 2 s16ne streams */
-static void pa_mix2_s16ne(pa_mix_info streams[], unsigned channels, int16_t *data, unsigned length) {
-    const int16_t *ptr0 = streams[0].ptr;
-    const int16_t *ptr1 = streams[1].ptr;
-    unsigned channel = 0;
-
-    length /= sizeof(int16_t);
-
-    for (; length > 0; length--) {
-        int32_t sum;
-
-        sum = pa_mult_s16_volume(*ptr0++, streams[0].linear[channel].i);
-        sum += pa_mult_s16_volume(*ptr1++, streams[1].linear[channel].i);
-
-        sum = PA_CLAMP_UNLIKELY(sum, -0x8000, 0x7FFF);
-        *data++ = sum;
-
-        if (PA_UNLIKELY(++channel >= channels))
-            channel = 0;
-    }
-}
-
-/* special case: mix s16ne streams, 2 channels each */
-static void pa_mix_ch2_s16ne(pa_mix_info streams[], unsigned nstreams, int16_t *data, unsigned length) {
-
-    length /= sizeof(int16_t) * 2;
-
-    for (; length > 0; length--) {
-        int32_t sum0 = 0, sum1 = 0;
-        unsigned i;
-
-        for (i = 0; i < nstreams; i++) {
-            pa_mix_info *m = streams + i;
-            int32_t cv0 = m->linear[0].i;
-            int32_t cv1 = m->linear[1].i;
-
-            sum0 += pa_mult_s16_volume(*((int16_t*) m->ptr), cv0);
-            m->ptr = (uint8_t*) m->ptr + sizeof(int16_t);
-
-            sum1 += pa_mult_s16_volume(*((int16_t*) m->ptr), cv1);
-            m->ptr = (uint8_t*) m->ptr + sizeof(int16_t);
-        }
-
-        *data++ = PA_CLAMP_UNLIKELY(sum0, -0x8000, 0x7FFF);
-        *data++ = PA_CLAMP_UNLIKELY(sum1, -0x8000, 0x7FFF);
-    }
-}
-
-static void pa_mix_generic_s16ne(pa_mix_info streams[], unsigned nstreams, unsigned channels, int16_t *data, unsigned length) {
-    unsigned channel = 0;
-
-    length /= sizeof(int16_t);
-
-    for (; length > 0; length--) {
-        int32_t sum = 0;
-        unsigned i;
-
-        for (i = 0; i < nstreams; i++) {
-            pa_mix_info *m = streams + i;
-            int32_t cv = m->linear[channel].i;
-
-            if (PA_LIKELY(cv > 0))
-                sum += pa_mult_s16_volume(*((int16_t*) m->ptr), cv);
-            m->ptr = (uint8_t*) m->ptr + sizeof(int16_t);
-        }
-
-        sum = PA_CLAMP_UNLIKELY(sum, -0x8000, 0x7FFF);
-        *data++ = sum;
-
-        if (PA_UNLIKELY(++channel >= channels))
-            channel = 0;
-    }
-}
-
-#define SAMPLES 1028
-#define TIMES 1000
-#define TIMES2 100
-
-START_TEST (mix_special_1ch_test) {
-    int16_t samples0[SAMPLES];
-    int16_t samples1[SAMPLES];
-    int16_t out[SAMPLES];
-    int16_t out_ref[SAMPLES];
-    pa_mempool *pool;
-    pa_memchunk c0, c1;
-    pa_mix_info m[2];
-    unsigned nsamples = SAMPLES;
-
-    fail_unless((pool = pa_mempool_new(false, 0)) != NULL, NULL);
-
-    pa_random(samples0, nsamples * sizeof(int16_t));
-    c0.memblock = pa_memblock_new_fixed(pool, samples0, nsamples * sizeof(int16_t), false);
-    c0.length = pa_memblock_get_length(c0.memblock);
-    c0.index = 0;
-
-    pa_random(samples1, nsamples * sizeof(int16_t));
-    c1.memblock = pa_memblock_new_fixed(pool, samples1, nsamples * sizeof(int16_t), false);
-    c1.length = pa_memblock_get_length(c1.memblock);
-    c1.index = 0;
-
-    m[0].chunk = c0;
-    m[0].volume.channels = 1;
-    m[0].volume.values[0] = PA_VOLUME_NORM;
-    m[0].linear[0].i = 0x5555;
-
-    m[1].chunk = c1;
-    m[1].volume.channels = 1;
-    m[1].volume.values[0] = PA_VOLUME_NORM;
-    m[1].linear[0].i = 0x6789;
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 generic 1 channel", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix_generic_s16ne(m, 2, 1, out_ref, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 2 streams 1 channel", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix2_ch1_s16ne(m, out, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    fail_unless(memcmp(out, out_ref, nsamples * sizeof(int16_t)) == 0);
-
-    pa_memblock_unref(c0.memblock);
-    pa_memblock_unref(c1.memblock);
-
-    pa_mempool_free(pool);
-}
-END_TEST
-
-START_TEST (mix_special_2ch_test) {
-    int16_t samples0[SAMPLES*2];
-    int16_t samples1[SAMPLES*2];
-    int16_t out[SAMPLES*2];
-    int16_t out_ref[SAMPLES*2];
-    int i;
-    pa_mempool *pool;
-    pa_memchunk c0, c1;
-    pa_mix_info m[2];
-    unsigned nsamples = SAMPLES * 2;
-
-    fail_unless((pool = pa_mempool_new(false, 0)) != NULL, NULL);
-
-    pa_random(samples0, nsamples * sizeof(int16_t));
-    c0.memblock = pa_memblock_new_fixed(pool, samples0, nsamples * sizeof(int16_t), false);
-    c0.length = pa_memblock_get_length(c0.memblock);
-    c0.index = 0;
-
-    pa_random(samples1, nsamples * sizeof(int16_t));
-    c1.memblock = pa_memblock_new_fixed(pool, samples1, nsamples * sizeof(int16_t), false);
-    c1.length = pa_memblock_get_length(c1.memblock);
-    c1.index = 0;
-
-    m[0].chunk = c0;
-    m[0].volume.channels = 2;
-    for (i = 0; i < m[0].volume.channels; i++) {
-        m[0].volume.values[i] = PA_VOLUME_NORM;
-        m[0].linear[i].i = 0x5555;
-    }
-
-    m[1].chunk = c1;
-    m[1].volume.channels = 2;
-    for (i = 0; i < m[1].volume.channels; i++) {
-        m[1].volume.values[i] = PA_VOLUME_NORM;
-        m[1].linear[i].i = 0x6789;
-    }
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 generic 2 channels", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix_generic_s16ne(m, 2, 2, out_ref, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 2 channels", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix_ch2_s16ne(m, 2, out, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    fail_unless(memcmp(out, out_ref, nsamples * sizeof(int16_t)) == 0);
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 2 streams", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix2_s16ne(m, 2, out, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    fail_unless(memcmp(out, out_ref, nsamples * sizeof(int16_t)) == 0);
-
-    PA_RUNTIME_TEST_RUN_START("mix s16 2 streams 2 channels", TIMES, TIMES2) {
-        acquire_mix_streams(m, 2);
-        pa_mix2_ch2_s16ne(m, out, nsamples * sizeof(int16_t));
-        release_mix_streams(m, 2);
-    } PA_RUNTIME_TEST_RUN_STOP
-
-    fail_unless(memcmp(out, out_ref, nsamples * sizeof(int16_t)) == 0);
-
-    pa_memblock_unref(c0.memblock);
-    pa_memblock_unref(c1.memblock);
-
-    pa_mempool_free(pool);
-}
-END_TEST
-
-int main(int argc, char *argv[]) {
-    int failed = 0;
-    Suite *s;
-    TCase *tc;
-    SRunner *sr;
-
-    if (!getenv("MAKE_CHECK"))
-        pa_log_set_level(PA_LOG_DEBUG);
-
-    s = suite_create("Mix-special");
-    tc = tcase_create("mix-special 1ch");
-    tcase_add_test(tc, mix_special_1ch_test);
-    tcase_set_timeout(tc, 120);
-    suite_add_tcase(s, tc);
-    tc = tcase_create("mix-special 2ch");
-    tcase_add_test(tc, mix_special_2ch_test);
-    tcase_set_timeout(tc, 120);
-    suite_add_tcase(s, tc);
-
-    sr = srunner_create(s);
-    srunner_run_all(sr, CK_NORMAL);
-    failed = srunner_ntests_failed(sr);
-    srunner_free(sr);
-
-    return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
-- 
1.9.1



More information about the pulseaudio-discuss mailing list