+ if (in_size > buf_size) {
+ av_log(avctx, AV_LOG_ERROR, "Frame data is larger than input buffer\n");
+ return -1;
+ }
+
+ /* get output buffer */
+ frame->nb_samples = out_size;
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
+ av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
+ return ret;
+ }
+ samples = frame->data[0];
+ samples_end = samples + out_size;
+