#include <math.h>
#include <string.h>
#include <regex.h>
+#include <sys/select.h>
#include "para.h"
#include "error.h"
#define VLCBITS 9
#define VLCMAX ((22 + VLCBITS - 1) / VLCBITS)
-DECLARE_ALIGNED(16, float, ff_sine_128[128]);
-DECLARE_ALIGNED(16, float, ff_sine_256[256]);
-DECLARE_ALIGNED(16, float, ff_sine_512[512]);
-DECLARE_ALIGNED(16, float, ff_sine_1024[1024]);
-DECLARE_ALIGNED(16, float, ff_sine_2048[2048]);
-DECLARE_ALIGNED(16, float, ff_sine_4096[4096]);
+#define SINE_WINDOW(x) float ff_sine_ ## x[x] __aligned(16)
+
+SINE_WINDOW(128);
+SINE_WINDOW(256);
+SINE_WINDOW(512);
+SINE_WINDOW(1024);
+SINE_WINDOW(2048);
+SINE_WINDOW(4096);
static float *ff_sine_windows[6] = {
ff_sine_128, ff_sine_256, ff_sine_512, ff_sine_1024,
samples += pwd->ahi.channels * pwd->frame_len;
}
PARA_DEBUG_LOG("frame_count: %d frame_len: %d, block_len: %d, "
- "outbytes: %d, eaten: %d\n",
+ "outbytes: %zd, eaten: %d\n",
frame_count, pwd->frame_len, pwd->block_len,
(int8_t *) samples - (int8_t *) data, pwd->ahi.block_align);
*data_size = (int8_t *)samples - (int8_t *)data;
if (out_size < 128 * 1024)
return 0;
+ if (len <= WMA_FRAME_SKIP)
+ return 0;
if (!pwd) {
ret = wma_decode_init(inbuffer, len, &pwd);
if (ret <= 0)