ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Wed Apr 13 14:07:48 
2022 +0200| [f67403edb379ea906cdcaf296977abc894ce2916] | committer: Paul B Mahol

avcodec/mlpenc: fix encoding after receiving last frame

This happened when major header needed to be written
after input EOF.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f67403edb379ea906cdcaf296977abc894ce2916
---

 libavcodec/mlpenc.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c
index 0dc0ecf036..52ddec3a21 100644
--- a/libavcodec/mlpenc.c
+++ b/libavcodec/mlpenc.c
@@ -2122,10 +2122,11 @@ static int mlp_encode_frame(AVCodecContext *avctx, 
AVPacket *avpkt,
 
 input_and_return:
 
-    if (frame)
+    if (frame) {
         ctx->shorten_by = avctx->frame_size - frame->nb_samples;
-    ctx->next_major_frame_size += avctx->frame_size;
-    ctx->next_major_number_of_frames++;
+        ctx->next_major_frame_size += avctx->frame_size;
+        ctx->next_major_number_of_frames++;
+    }
     if (data)
         input_data(ctx, data, frame->nb_samples);
 
@@ -2166,7 +2167,7 @@ input_and_return:
         }
     }
 
-    if (!frame)
+    if (!frame && ctx->last_frames < ctx->max_restart_interval - 1)
         avctx->frame_number++;
 
     if (bytes_written > 0) {

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to