osx_writer: swap bytes.
authorAndre Noll <maan@sipadan.fml.local>
Fri, 11 Aug 2006 15:40:03 +0000 (17:40 +0200)
committerAndre Noll <maan@sipadan.fml.local>
Fri, 11 Aug 2006 15:40:03 +0000 (17:40 +0200)
This finally makes the damn thing work. Requires some more cleanups though.

osx_writer.c

index df41941..4162bad 100644 (file)
@@ -113,9 +113,14 @@ static void fill_buffer(osx_buffer *b, short *source, long size)
                b->size = size;
        }
        dest = b->buffer;
-       while (size--)
+       while (size--) {
+               char *tmp = (char *)source;
+               char c = *tmp;
+               *tmp = *(tmp + 1);
+               *(tmp + 1) = c;
                /* *dest++ = ((*source++) + 32768) / 65536.0; */
                *dest++ = (*source++) / 32768.0;
+       }
        b->ptr = b->buffer;
        b->remaining = b->size;
 }
@@ -240,7 +245,7 @@ static int osx_writer_open(struct writer_node *wn)
                        kAudioUnitScope_Input, 0, &inputCallback,
                        sizeof(inputCallback)) < 0)
                goto e3;
-       return 0;
+       return 1;
 e3:
        destroy_buffers(powd);
 e2: