]> code.delx.au - pulseaudio/blobdiff - src/tests/mix-test.c
daemon: before exec'ing ourselves, make sure nobody plays games with /proc/self/exe
[pulseaudio] / src / tests / mix-test.c
index ac4b57b5b0c43fd2e91583db274c17b2bfe9780e..3f65cbacb306270c3c2f4e71c0b7b197cb104dfb 100644 (file)
@@ -79,6 +79,18 @@ static void dump_block(const pa_sample_spec *ss, const pa_memchunk *chunk) {
             break;
         }
 
+        case PA_SAMPLE_S24NE:
+        case PA_SAMPLE_S24RE: {
+            uint8_t *u = d;
+
+            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
+               printf("0x%02x%02x%02xx ", *u, *(u+1), *(u+2));
+                u += 3;
+            }
+
+            break;
+        }
+
         case PA_SAMPLE_FLOAT32NE:
         case PA_SAMPLE_FLOAT32RE: {
             float *u = d;
@@ -113,73 +125,66 @@ static pa_memblock* generate_block(pa_mempool *pool, const pa_sample_spec *ss) {
         case PA_SAMPLE_U8:
         case PA_SAMPLE_ULAW:
         case PA_SAMPLE_ALAW: {
-            uint8_t *u = d;
+           static const uint8_t u8_samples[] =
+             { 0x00, 0xFF, 0x7F, 0x80, 0x9f,
+               0x3f, 0x01, 0xF0, 0x20, 0x21 };
 
-            u[0] = 0x00;
-            u[1] = 0xFF;
-            u[2] = 0x7F;
-            u[3] = 0x80;
-            u[4] = 0x9f;
-            u[5] = 0x3f;
-            u[6] = 0x1;
-            u[7] = 0xF0;
-            u[8] = 0x20;
-            u[9] = 0x21;
+           memcpy(d, &u8_samples[0], sizeof(u8_samples));
             break;
         }
 
         case PA_SAMPLE_S16NE:
         case PA_SAMPLE_S16RE: {
-            uint16_t *u = d;
+           static const uint16_t u16_samples[] =
+             { 0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff,
+               0x3fff, 0x0001, 0xF000, 0x0020, 0x0021 };
 
-            u[0] = 0x0000;
-            u[1] = 0xFFFF;
-            u[2] = 0x7FFF;
-            u[3] = 0x8000;
-            u[4] = 0x9fff;
-            u[5] = 0x3fff;
-            u[6] = 0x1;
-            u[7] = 0xF000;
-            u[8] = 0x20;
-            u[9] = 0x21;
+           memcpy(d, &u16_samples[0], sizeof(u16_samples));
             break;
         }
 
         case PA_SAMPLE_S32NE:
         case PA_SAMPLE_S32RE: {
-            uint32_t *u = d;
+           static const uint32_t u32_samples[] =
+             { 0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005,
+               0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A };
+
+           memcpy(d, &u32_samples[0], sizeof(u32_samples));
+            break;
+        }
 
-            u[0] = 0x00000001;
-            u[1] = 0xFFFF0002;
-            u[2] = 0x7FFF0003;
-            u[3] = 0x80000004;
-            u[4] = 0x9fff0005;
-            u[5] = 0x3fff0006;
-            u[6] =    0x10007;
-            u[7] = 0xF0000008;
-            u[8] =   0x200009;
-            u[9] =   0x21000A;
+        case PA_SAMPLE_S24NE:
+        case PA_SAMPLE_S24RE: {
+           /* Need to be on a byte array because they are not aligned */
+           static const uint8_t u24_samples[] =
+             { 0x00, 0x00, 0x01,
+               0xFF, 0xFF, 0x02,
+               0x7F, 0xFF, 0x03,
+               0x80, 0x00, 0x04,
+               0x9f, 0xff, 0x05,
+               0x3f, 0xff, 0x06,
+               0x01, 0x00, 0x07,
+               0xF0, 0x00, 0x08,
+               0x20, 0x00, 0x09,
+               0x21, 0x00, 0x0A };
+
+           memcpy(d, &u24_samples[0], sizeof(u24_samples));
             break;
         }
 
         case PA_SAMPLE_FLOAT32NE:
         case PA_SAMPLE_FLOAT32RE: {
             float *u = d;
+           static const float float_samples[] =
+             { 0.0f, -1.0f, 1.0f, 4711.0f, 0.222f,
+               0.33f, -.3f, 99.0f, -0.555f, -.123f };
 
-            u[0] = 0.0f;
-            u[1] = -1.0f;
-            u[2] = 1.0f;
-            u[3] = 4711.0f;
-            u[4] = 0.222f;
-            u[5] = 0.33f;
-            u[6] = -.3f;
-            u[7] = 99.0f;
-            u[8] = -0.555f;
-            u[9] = -.123f;
-
-            if (ss->format == PA_SAMPLE_FLOAT32RE)
+            if (ss->format == PA_SAMPLE_FLOAT32RE) {
                 for (i = 0; i < 10; i++)
-                    u[i] = swap_float(u[i]);
+                    u[i] = swap_float(float_samples[i]);
+           } else {
+             memcpy(d, &float_samples[0], sizeof(float_samples));
+           }
 
             break;
         }