#include "sched.h"
#include "filter.h"
#include "bitstream.h"
-#include "mdct.h"
+#include "imdct.h"
#include "wma.h"
#include "wmadata.h"
int i;
for (i = 0; i < s->nb_block_sizes; i++)
- mdct_end(s->mdct_ctx[i]);
+ imdct_end(s->mdct_ctx[i]);
if (s->use_exp_vlc)
free_vlc(&s->exp_vlc);
struct private_wmadec_data *s;
int ret, i;
- if (len < 18)
- return 0;
-
PARA_NOTICE_LOG("initial buf: %d bytes\n", len);
s = para_calloc(sizeof(*s));
ret = read_asf_header(initial_buf, len, &s->ahi);
- if (ret < 0)
+ if (ret <= 0) {
+ free(s);
return ret;
+ }
s->use_exp_vlc = s->ahi.flags2 & 0x0001;
s->use_bit_reservoir = s->ahi.flags2 & 0x0002;
return ret;
/* init MDCT */
for (i = 0; i < s->nb_block_sizes; i++) {
- ret = mdct_init(s->frame_len_bits - i + 1, 1, &s->mdct_ctx[i]);
+ ret = imdct_init(s->frame_len_bits - i + 1, 1, &s->mdct_ctx[i]);
if (ret < 0)
return ret;
}