[FFmpeg-devel] [PATCH 15/23] lavc/movtextenc: fix unclosed style records

John Stebbins jstebbins at jetheaddev.com
Mon Apr 6 20:52:10 EEST 2020


The last record at the end of each dialog was never closed
---
 libavcodec/movtextenc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/movtextenc.c b/libavcodec/movtextenc.c
index 05532cd544..d389111419 100644
--- a/libavcodec/movtextenc.c
+++ b/libavcodec/movtextenc.c
@@ -309,6 +309,12 @@ static void mov_text_color_cb(void *priv, unsigned int color, unsigned int color
      */
 }
 
+static void mov_text_end_cb(void *priv)
+{
+    // End of text, close any open style record
+    mov_text_style_start((MovTextContext*)priv);
+}
+
 static uint16_t utf8_strlen(const char *text, int len)
 {
     uint16_t i = 0, ret = 0;
@@ -352,6 +358,7 @@ static const ASSCodesCallbacks mov_text_callbacks = {
     .new_line = mov_text_new_line_cb,
     .style    = mov_text_style_cb,
     .color    = mov_text_color_cb,
+    .end      = mov_text_end_cb,
 };
 
 static int mov_text_encode_frame(AVCodecContext *avctx, unsigned char *buf,
-- 
2.25.1



More information about the ffmpeg-devel mailing list