#include <math.h>
#include <string.h>
#include <regex.h>
+#include <sys/select.h>
#include "para.h"
#include "error.h"
/* parse spectral coefficients : just RLE encoding */
for (ch = 0; ch < pwd->ahi.channels; ch++) {
struct vlc *coef_vlc;
- int level, run, sign, tindex;
+ int level, run, tindex;
int16_t *ptr, *eptr;
const uint16_t *level_table, *run_table;
run = run_table[code];
level = level_table[code];
}
- sign = get_bit(&pwd->gb);
- if (!sign)
+ if (!get_bit(&pwd->gb))
level = -level;
ptr += run;
if (ptr >= eptr) {
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)