/*
- * Copyright (C) 2005-2006 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "para.h"
#include "list.h"
+#include "sched.h"
#include "filter.h"
#include "string.h"
+/** size of the output buffer */
#define WAV_OUTBUF_SIZE 81920
+/** a wav header is always 44 bytes */
#define WAV_HEADER_LEN 44
+/** always write 16 bit header */
#define BITS 16
-/* derived from oggdec.c of the vorbis-tools-1.0.1 package */
+/**
+ * write a 32 bit unsigned value to a buffer
+ *
+ * \param buf the buffer to write to
+ * \param x the value to write
+ */
#define WRITE_U32(buf, x) (buf)[0] = (unsigned char)((x) & 0xff);\
(buf)[1] = (unsigned char)(((x) >> 8) & 0xff);\
(buf)[2] = (unsigned char)(((x) >> 16) & 0xff);\
(buf)[3] = (unsigned char)(((x) >> 24) & 0xff);
+
+/**
+ * write a 16 bit unsigned value to a buffer
+ *
+ * \param buf the buffer to write to
+ * \param x the value to write
+ */
#define WRITE_U16(buf, x) (buf)[0] = (unsigned char)((x) & 0xff);
static void make_wav_header(int channels, int samplerate, struct filter_node *fn)
int *bof = fn->private_data;
if (*bof) {
- make_wav_header(fn->fci->channels, fn->fci->samplerate, fn);
+ make_wav_header(fn->fc->channels, fn->fc->samplerate, fn);
fn->loaded = WAV_HEADER_LEN;
*bof = 0;
// return 0;
fn->private_data = para_malloc(sizeof(int));
bof = fn->private_data;
*bof = 1;
- PARA_DEBUG_LOG("wav filter node: %p, output buffer: %p, loaded: %zd\n",
+ PARA_INFO_LOG("wav filter node: %p, output buffer: %p, loaded: %zd\n",
fn, fn->buf, fn->loaded);
}
+/**
+ * the init function of the wav filter
+ *
+ * \param f struct to initialize
+ */
void wav_init(struct filter *f)
{
f->convert = wav_convert;