diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-03-19 23:37:11 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-03-22 23:57:20 +0100 |
commit | 2ccb45511fa9f1c7f57d171d3e7f41a604e07a71 (patch) | |
tree | 2d80efd2879ab7b8128de90996acc5f813815a2b | |
parent | a24bccc23859b37e03cbf395b3349cb4f707b3e0 (diff) | |
download | ffmpeg-2ccb45511fa9f1c7f57d171d3e7f41a604e07a71.tar.gz |
avformat/ttmlenc: Avoid unnecessary block
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavformat/ttmlenc.c | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/libavformat/ttmlenc.c b/libavformat/ttmlenc.c index af2e2b85a5..1ffbd66f80 100644 --- a/libavformat/ttmlenc.c +++ b/libavformat/ttmlenc.c @@ -124,38 +124,35 @@ static int ttml_set_header_values_from_extradata( static int ttml_write_header(AVFormatContext *ctx) { TTMLMuxContext *ttml_ctx = ctx->priv_data; + AVStream *st = ctx->streams[0]; + AVIOContext *pb = ctx->pb; + + const AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL, + 0); + const char *printed_lang = (lang && lang->value) ? lang->value : ""; + ttml_ctx->document_written = 0; + ttml_ctx->input_type = ff_is_ttml_stream_paragraph_based(st->codecpar) ? + PACKET_TYPE_PARAGRAPH : + PACKET_TYPE_DOCUMENT; + + avpriv_set_pts_info(st, 64, 1, 1000); - { - AVStream *st = ctx->streams[0]; - AVIOContext *pb = ctx->pb; - - AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL, - 0); - const char *printed_lang = (lang && lang->value) ? lang->value : ""; - - ttml_ctx->input_type = ff_is_ttml_stream_paragraph_based(st->codecpar) ? - PACKET_TYPE_PARAGRAPH : - PACKET_TYPE_DOCUMENT; - - avpriv_set_pts_info(st, 64, 1, 1000); - - if (ttml_ctx->input_type == PACKET_TYPE_PARAGRAPH) { - struct TTMLHeaderParameters header_params; - int ret = ttml_set_header_values_from_extradata( - st->codecpar, &header_params); - if (ret < 0) { - av_log(ctx, AV_LOG_ERROR, - "Failed to parse TTML header values from extradata: " - "%s!\n", av_err2str(ret)); - return ret; - } - - avio_printf(pb, ttml_header_text, - header_params.tt_element_params, - printed_lang, - header_params.pre_body_elements); + if (ttml_ctx->input_type == PACKET_TYPE_PARAGRAPH) { + struct TTMLHeaderParameters header_params; + int ret = ttml_set_header_values_from_extradata( + st->codecpar, &header_params); + if (ret < 0) { + av_log(ctx, AV_LOG_ERROR, + "Failed to parse TTML header values from extradata: " + "%s!\n", av_err2str(ret)); + return ret; } + + avio_printf(pb, ttml_header_text, + header_params.tt_element_params, + printed_lang, + header_params.pre_body_elements); } return 0; |