#define VLCBITS 9
#define VLCMAX DIV_ROUND_UP(22, VLCBITS)
+/** \cond sine_winows */
+
#define SINE_WINDOW(x) static float sine_ ## x[x] __a_aligned(16)
SINE_WINDOW(128);
static float *sine_windows[6] = {
sine_128, sine_256, sine_512, sine_1024, sine_2048, sine_4096
};
+/** \endcond sine_windows */
/* Generate a sine window. */
static void sine_window_init(float *window, int n)
#define WMA_OUTPUT_BUFFER_SIZE (128 * 1024)
-static void wmadec_post_select(__a_unused struct sched *s, struct task *t)
+static int wmadec_post_select(__a_unused struct sched *s, struct task *t)
{
struct filter_node *fn = container_of(t, struct filter_node, task);
int ret, converted, out_size;
next_buffer:
converted = 0;
- t->error = 0;
ret = btr_node_status(btrn, fn->min_iqs, BTR_NT_INTERNAL);
if (ret < 0)
goto err;
if (ret == 0)
- return;
+ return 0;
btr_merge(btrn, fn->min_iqs);
len = btr_next_buffer(btrn, (char **)&in);
ret = -E_WMADEC_EOF;
converted += ret + WMA_FRAME_SKIP;
success:
btr_consume(btrn, converted);
- return;
+ return 0;
err:
assert(ret < 0);
- t->error = ret;
btr_remove_node(&fn->btrn);
+ return ret;
}
static void wmadec_open(struct filter_node *fn)