- ret = find_esds(padd);
- if (ret < 0)
- goto out;
-
- p = padd->inbuf + padd->consumed;
- ret = E_AACDEC_INIT;
- if (NeAACDecInit2(padd->decoder, p, ret, &rate, &channels) < 0) {
- PARA_INFO_LOG("header not found, consumed: %d\n",
- padd->consumed);
- goto out;
+ padd->decoder_length = find_esds(padd);
+ if (padd->decoder_length < 0) {
+ ret = NeAACDecInit(padd->decoder, padd->inbuf,
+ padd->inbuf_len, &rate, &channels);
+ if (ret < 0) {
+ ret = E_AACDEC_INIT;
+ goto out;
+ }
+ padd->consumed = ret;
+ } else {
+ p = padd->inbuf + padd->consumed;
+ ret = E_AACDEC_INIT;
+ if (NeAACDecInit2(padd->decoder, p,
+ padd->decoder_length, &rate,
+ &channels) < 0)
+ goto out;