struct btr_node *btrn = fn->btrn;
struct private_aacdec_data *padd = fn->private_data;
int i, ret;
- char *p, *inbuf, *outbuffer;
- char *btr_buf;
+ char *inbuf, *outbuf, *btrbuf;
size_t len, consumed, loaded;
next_buffer:
PARA_INFO_LOG("decoder init: %d\n", ret);
if (ret < 0) {
ret = -E_AACDEC_INIT;
- goto out;
+ goto err;
}
consumed = ret;
padd->sample_rate = rate;
}
if (consumed >= len)
goto success;
- p = inbuf + consumed;
//PARA_CRIT_LOG("consumed: %zu (%zu + %zu), have: %zu\n", padd->consumed_total + consumed,
// padd->consumed_total, consumed, len - consumed);
- outbuffer = NeAACDecDecode(padd->handle, &padd->frame_info,
- (unsigned char *)p, len - consumed);
+ outbuf = NeAACDecDecode(padd->handle, &padd->frame_info,
+ (unsigned char *)inbuf + consumed, len - consumed);
if (padd->frame_info.error) {
int err = padd->frame_info.error;
ret = -E_AAC_DECODE;
consumed += padd->frame_info.bytesconsumed;
if (!padd->frame_info.samples)
goto success;
- btr_buf = para_malloc(2 * padd->frame_info.samples);
+ btrbuf = para_malloc(2 * padd->frame_info.samples);
loaded = 0;
for (i = 0; i < padd->frame_info.samples; i++) {
- short sh = ((short *)outbuffer)[i];
- write_int16_host_endian(btr_buf + loaded, sh);
+ short sh = ((short *)outbuf)[i];
+ write_int16_host_endian(btrbuf + loaded, sh);
loaded += 2;
}
- btr_add_output(btr_buf, loaded, btrn);
+ btr_add_output(btrbuf, loaded, btrn);
success:
ret = consumed;
-out:
- if (ret >= 0) {
- padd->consumed_total += ret;
- btr_consume(btrn, ret);
- goto next_buffer;
- }
+ padd->consumed_total += ret;
+ btr_consume(btrn, ret);
+ goto next_buffer;
err:
assert(ret < 0);
btr_remove_node(&fn->btrn);