From patchwork Wed Mar 20 02:12:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47255 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8ba5:b0:1a3:31a3:7958 with SMTP id m37csp121251pzh; Tue, 19 Mar 2024 19:14:44 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWqBvaApgA9tyJdN/QHmsj55KbZunkWNi+B+EMpboC8A94NJ8pLOn5+FWwnukqCJCytKtn/MlKC+me7GdTTtgS7WpElMWyAjgxXEw== X-Google-Smtp-Source: AGHT+IHMW3Iz+y12A2sVg8xiLwWgGFu5P7bQCpERa0ibOJ0+gr75kJBSPRxgh7mWHGEoIqwaNH17 X-Received: by 2002:a17:906:124b:b0:a46:8846:5aa0 with SMTP id u11-20020a170906124b00b00a4688465aa0mr3210197eja.56.1710900883831; Tue, 19 Mar 2024 19:14:43 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l7-20020a170906414700b00a46e69864casi843432ejk.816.2024.03.19.19.14.43; Tue, 19 Mar 2024 19:14:43 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=gsKf9WGv; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A991E68D481; Wed, 20 Mar 2024 04:14:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2037.outbound.protection.outlook.com [40.92.59.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5CCDD68D48F for ; Wed, 20 Mar 2024 04:14:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ceejW/DcnZmSb55mdCNX7cp3nDmKKl57bx+lkgl6PIEF8kZEyDc+8w8Bb6c9rqKq+wpl15Ni6z03sxem4gIH0f5S8bO3nTAW+j+jhsNgDARMmZeaQkMaA6anFFiBo7k8XggqV14+Rchn2LM7F1v6xS2E1UZ+haRbU3+U11ixcE+/k44gPBj8xSdiRb6WtLaM9u+i6C/lYZmGmhKB9EK08AI2BlEhLJXjZiSBprtzx2asmTg3pSBj2i3xUFZpL3G/OOghLkw10wATpMrk0nK+A/kRdDBMZz5pv1Wq+Xl9lDJ9jYwIFExmyc6ykPgjCFdRgEXJPsohTvZmqEvr35Nutw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Gf4zoepHxL9HWNOM8ASVmDHnC2WW10rI5McE1Bq2Te4=; b=ir3ipS/pWGwFRwgB7FpUmitAAww9ZmzYRe3smVHnlOGmH4NRzfGQJBEOEfZwJcpFd4nOMscJIN9F7uj48gKZEkMeqnJTURFXXshiC4kBb321jXulbfF4hbB4aXado9xU1q5vROSZRsyUOIOGA2FWc/f3NGc8GXuQl4UHb3jBSjV4anLV3heqeRdnR3/rAaSXIu1cTAMhH67O3JJOwZaiYowzv+wLdQ2BeU1HhkDI3np/K0QXCemGsQouGyS0qVAylYptkL4WOye6S56SirrrZ2y2/0anFbFtQ8cuZZQ4n3MBkKaFrxOA37R9wzG/wgUTUIHitUZVbklBHVXsIRVqVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gf4zoepHxL9HWNOM8ASVmDHnC2WW10rI5McE1Bq2Te4=; b=gsKf9WGvccWroDgTNaGq9YaTwUoRNi6EtrRlUjx1MjCZODZLzrZXICKuJBp8zXwLFTplgUDb6UPTOZo3+JJ/nKvybZEkJw324Vs4NfQBFn6PDQ9i9QFDuyvUF7yMmuXJKqW9OmEA+g2sh81tCajEuc692z1JFPvgcuxdAW5LXa2kmMdE1drkgobBMpdETvqEFk6PnhjTQWKnKgWZxuy1khTmLbS28SCcQm3ndNvfqABwbBNhD7HeRV0xwORnnzbLYA+5P6HGuULnGV0g0wUJGI83/UTNdBGG8WWE514MD5IjaYxX3uR7QrvLfNPwpkSFfvsEP73jI6pbMhjPWJBk2Q== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PAXP250MB0543.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:28c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28; Wed, 20 Mar 2024 02:14:11 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Wed, 20 Mar 2024 02:14:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 20 Mar 2024 03:12:54 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [qUDQgJOkgtFQuM4BJWrYyTQPRsJvadm5ueEHBlR839o=] X-ClientProxiedBy: ZR0P278CA0062.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240320021256.107338-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PAXP250MB0543:EE_ X-MS-Office365-Filtering-Correlation-Id: 7de7146e-a77f-4cae-6380-08dc48836e65 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpHlru1h1vRfamsRCbuNA5U+LIVMWsMtdR/plBaA2kZldvmqq7NriPZTy9lRrvwf7ggtBhZxhmEJCk4/U+vDnxSFf08yoZ3n1RK9uoFFY5sN4sOfmzpuW0md/AaJkqUK3W96Od1d/oV+O6LOIwq07qTGEiIm1DFyXEDkO4HsxjgXtggicOdgoePjwpSEMMGGOtdjvDM7xiMGHP2FXkMoUgjtQgjfoIWS7HyrRbzYn7ZWspLfRnEO3QhYzM78GDvbJA6E2e+1gimvStRhG6YgqSMql48+uZxh9MkDqfbOeTVAtNyFSso+uYdZx74ZxYRVTZO7ARAoRxcxfJJYapovAcLPDMYNGp/1Xb19mlSy63dTc4VCphgs0sFK+D9+Ea2sSb2SDu06FhPiH2/n5jrqssuR4Xok16C/Gt/mWnGwz4IKMt40G1iDr8faA3K/41itBM+R5FmKi0ZCNKFB+/3pLkKoY/byLTaCsnNYu5h5ns1S82kgGbP9RqPbjrh8J+ZTlqxTW+jnbz17lb0WqO5IV/rBzVewmcwa+aVMqPorD5QUFHiGhHepqOA8hIC8ZOqcny6xY5LPbBuKX2dOPfMp6OLA8Y715OAQVEnWacBiJBG0aj4tZ61Fa9TX9tpUjoZ5LPbaKVG1QhrsCeVFvATs4j5Ol+MB3sJOc/I1sI5F7LaYOYm0X69B3IWEm0m1515MXdbdh5opEhazJlECz9Y7sHx/vD/DXHM/zApLcaDJhUtSxkpEXOXbA3ChxPjw5LmgHo= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /SLAKXRjJ+p/BlrfwLngqURpp7YSqbeDZfhEC3p2fI62vXNffFFdsrOjXtZHUvKEd4tNRhDZB+d1yci53h8PLZER7Wglx1Q7j8SqKp8kIHAhF4LT/g3m23uaiYABGtxG3QPO1cyMIDM+KUin+l1LAwHDI9zd1Jp94YNMMNddXdjzXAe1ZlZZrOg8fuOIomATI0RzVP2x2JI7bQGD3mydPYGU912p1LiSOWzxX8zSRPgOdV1zDvCJ1EKg0U0GbOJ7tfuc4qGqSS4B4poXErNg480C+x2nt+MeAWXlNnMAoVWREPMyqmd7qJSszQ3UcihgAj9YEmWKcaGdaWx4gMm8B+pMkK7DSP5DWo5XJvBXjFGhsqSqTgNhluTIUGHrl7JcDjNOz/BK71d1MX1lTh0/PkFbcFcTNPdstR178gz9vtLKqDBoOvni9fQNKRhZ4UIqD32uy+WubDl4LfgG0PxnOTcdC8jQqtec6+0X8JazcV+ej7GtR9NGIiVd6QkYb5tuIeDa4M7RLTC0i6vswToV0W4jEwGcb/PoGOw1w13R4VcBVp4X3Ei5qLQqAVhLj4RJIDVfzCaIfyUu03mHARUTmgSHYKsYYt0wCCH/tOfsjH12vzbaHTFAayG2GfeMdSx9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2QNel56DiukbQk2Sdhn9AYRRAHxZwQflMZKIr5dO7C0Cxs3fKuJVYo/DpyfzvsqdzPDMnWxyNkZUgITKt/n7t4CX3/NvbzK/6L+Pr0TxnunUWAMWEwb3rayFHmpeiZNgZan7vk4xE6cz0xr+xE4KdG0xW0pjIDwmKHvojQztj0LYH+BjOgGW/8/6MiM4b6RK5xX2NbsbdMVwtUispfLmqr3tGlGw1X382w2de6LZsN4P0GRXTLAWJv2rmaApCSzisjfs8u98ivSRhtQIgB618/5/mHT2egsP5/rAk20daplb8rJDvR9p0UqQfpZYkuygCkXu1c1jKgt6qLZiDj7Qzy1rBGJeoj1RWkG6SW/u6vRPl5/iOLqqAL7KPtPb1OFg7GPdN2YciNQaqUHLh8cY7A8tEgFDUqS87KRps0769z8e/C6dcNF6E0+vRzUvYX2LPfFbdhvxgpGdI5cCqX2FSNjwatCHYIzPiv6dLqEqSl2H060hp+xsBYYDnq1GIp7yTxgPG8e2KAybEOZzhtwJa48mgRjB/9RNxuqGz5UzeRlQVw9P+Ikq+b72SYRYff0UQA2ornhZL/ttivLWuBuNx6t8jNXsvJp8495drjo4v1BLWFB8eKsJN6dYEu45m8h1vv9y24zd2BVV/Cw2/+Lfv23rkhVoasdCbah0nzDqM8beLRt/vnfuyg+GYlgHLrlbtl5SuTdvOixNri1oFShTLYus6L7XJj3a0qdWKSOV3FES/bR8YhqpY0sxrWD++mf1JEZrk9emyIcwxpALP+NnzHJ+O7H0fxcVBlq6rLGBIYVzvonCEBzTUVYF8HNGdirrWtIhI0n7xVQt5ymFSMkfx33f66WsmPTCOGEYL0pIbN4Ah441OLeKGqowGbUYyX5fetPMEYNzzOpuv3LMbk7P1PMmP2gRk075RjMZPbxyp9RrbzWLn8zkn+w5PDMPgf3O1As9jqbDenDymQno8uoWXcdvE6IQki1yUQUQJhfahty2eZc/eo9UX5/GLD8p2sT6Lvg6Djxm3oMiCv7Q1iSFXEjA/W53XLaA1gdHrITJNLEtj4uZA16+sZsGD/prRTOFimvmihlUjqJ9r+TpeUc1YOR+Lkgycu1ffV2uEVg1otGS1cRvxrowzDkRyY5JE6S8GpDhL596MOoOVZwrttI7mO7uDxUAqIlH246M0qmxu18/0DtAz3txPuUJo51XT3r6AJKRSIalZnxE6aI2noGUgupB5GwzbRMsHtnvZeQuPeM6B7W+dEp1QPlpiA9/pXBxU9SBFupHk//XyAyLSzAAnA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7de7146e-a77f-4cae-6380-08dc48836e65 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2024 02:14:11.1496 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXP250MB0543 Subject: [FFmpeg-devel] [PATCH 11/13] avformat/ttmlenc: Avoid unnecessary block X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 7ZBsPXVwybGi Signed-off-by: Andreas Rheinhardt --- libavformat/ttmlenc.c | 55 ++++++++++++++++++++----------------------- 1 file 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;