diff options
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r-- | libavcodec/utils.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 7e95560f30..e61ace6e75 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1069,8 +1069,15 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx, if (fs_tmp) avctx->frame_size = fs_tmp; } - if (!ret) + if (!ret) { + if (!user_packet && avpkt->data) { + uint8_t *new_data = av_realloc(avpkt->data, avpkt->size); + if (new_data) + avpkt->data = new_data; + } + avctx->frame_number++; + } if (ret < 0 || !*got_packet_ptr) av_free_packet(avpkt); |