diff mbox series

[FFmpeg-devel,v2,1/4] avcodec/ttmlenc: split header writing into its own function

Message ID 20210414065725.8828-2-jeebjp@gmail.com
State New
Headers show
Series Initial region (styling) support for TTML
Related show

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

Jan Ekström April 14, 2021, 6:57 a.m. UTC
From: Jan Ekström <jan.ekstrom@24i.com>

Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
---
 libavcodec/ttmlenc.c | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/ttmlenc.c b/libavcodec/ttmlenc.c
index 3972b4368c..e3c155fdd1 100644
--- a/libavcodec/ttmlenc.c
+++ b/libavcodec/ttmlenc.c
@@ -173,16 +173,8 @@  static av_cold int ttml_encode_close(AVCodecContext *avctx)
     return 0;
 }
 
-static av_cold int ttml_encode_init(AVCodecContext *avctx)
+static int ttml_write_header_content(AVCodecContext *avctx)
 {
-    TTMLContext *s = avctx->priv_data;
-
-    s->avctx   = avctx;
-
-    if (!(s->ass_ctx = ff_ass_split(avctx->subtitle_header))) {
-        return AVERROR_INVALIDDATA;
-    }
-
     if (!(avctx->extradata = av_mallocz(TTMLENC_EXTRADATA_SIGNATURE_SIZE +
                                         1 + AV_INPUT_BUFFER_PADDING_SIZE))) {
         return AVERROR(ENOMEM);
@@ -192,8 +184,25 @@  static av_cold int ttml_encode_init(AVCodecContext *avctx)
     memcpy(avctx->extradata, TTMLENC_EXTRADATA_SIGNATURE,
            TTMLENC_EXTRADATA_SIGNATURE_SIZE);
 
+    return 0;
+}
+
+static av_cold int ttml_encode_init(AVCodecContext *avctx)
+{
+    TTMLContext *s = avctx->priv_data;
+    int ret = AVERROR_BUG;
+    s->avctx   = avctx;
+
     av_bprint_init(&s->buffer, 0, AV_BPRINT_SIZE_UNLIMITED);
 
+    if (!(s->ass_ctx = ff_ass_split(avctx->subtitle_header))) {
+        return AVERROR_INVALIDDATA;
+    }
+
+    if ((ret = ttml_write_header_content(avctx)) < 0) {
+        return ret;
+    }
+
     return 0;
 }