X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=osx_write.c;h=4bdb0ceb9e1ec5c31ac1ea93e64bc2456633f74b;hp=6001b8597d8823f1c7d528439580836088b269cf;hb=05ac3a8322555355fac0e224305a4a10a5d7caa2;hpb=806fcbb5a8c00d6b8c1a228b9b4d6b6758f613ca diff --git a/osx_write.c b/osx_write.c index 6001b859..4bdb0ceb 100644 --- a/osx_write.c +++ b/osx_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2008 Andre Noll + * Copyright (C) 2006-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -19,6 +19,7 @@ #include "string.h" #include "list.h" #include "sched.h" +#include "ggo.h" #include "write.h" #include "osx_write.cmdline.h" #include "error.h" @@ -148,6 +149,12 @@ static OSStatus osx_callback(void * inClientData, return 0; } +#ifdef WORDS_BIGENDIAN /* ppc */ +#define ENDIAN_FLAGS kLinearPCMFormatFlagIsBigEndian +#else +#define ENDIAN_FLAGS 0 +#endif + static int osx_write_open(struct writer_node *wn) { struct private_osx_write_data *powd = para_calloc( @@ -195,7 +202,7 @@ static int osx_write_open(struct writer_node *wn) /* flags specific to each format */ format.mFormatFlags = kLinearPCMFormatFlagIsFloat | kLinearPCMFormatFlagIsPacked - | kLinearPCMFormatFlagIsBigEndian; + | ENDIAN_FLAGS; if (!conf->channels_given && wng->channels) powd->channels = *wng->channels; else @@ -272,7 +279,7 @@ static int osx_write_post_select(__a_unused struct sched *s, { struct private_osx_write_data *powd = wn->private_data; struct writer_node_group *wng = wn->wng; - short *data = (short*)wng->buf; + short *data = (short*)*wng->bufp; if (!need_new_buffer(wn)) return 1;