/*
- * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
* <skortze@sourceforge.net>
*/
+#include <regex.h>
#include <sys/types.h>
#include <dirent.h>
#include <CoreAudio/CoreAudio.h>
+
#include "para.h"
#include "fd.h"
#include "string.h"
#include "list.h"
#include "sched.h"
+#include "ggo.h"
#include "write.h"
#include "osx_write.cmdline.h"
#include "error.h"
ptrptr = &powd->to;
for (i = 0; i < conf->numbuffers_arg; i++) {
- *ptrptr = malloc(sizeof(struct osx_buffer));
+ *ptrptr = para_malloc(sizeof(struct osx_buffer));
(*ptrptr)->size = 0;
(*ptrptr)->remaining = 0;
(*ptrptr)->buffer = NULL;
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(
/* flags specific to each format */
format.mFormatFlags = kLinearPCMFormatFlagIsFloat
| kLinearPCMFormatFlagIsPacked
- | kLinearPCMFormatFlagIsBigEndian;
+ | ENDIAN_FLAGS;
if (!conf->channels_given && wng->channels)
powd->channels = *wng->channels;
else
{
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;