From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 9FF92422A6 for ; Sun, 16 Jan 2022 23:05:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D76A468AF04; Mon, 17 Jan 2022 01:04:59 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073070.outbound.protection.outlook.com [40.92.73.70]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7441268AE99 for ; Mon, 17 Jan 2022 01:04:58 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l09O8kvxlzdDTqSKIRbl8hvLKetng4qt9JqBF7wDsSEodHeeKNIjyi7arApY+t4OKjayf/q/ppes1+4L/wY4ixz3ksFqBEj0GGW8yWFk0JHPP2IWMQl4VrP/ve7M3O9l/tuXNVXEFwmIOVZzIVHeHs8K08APC46hQ/7JIOF4loenClp0t5VUMiTkwfebblNtP4BYeVrOg4xHoh5WBg11DAkFV2E7jUlA8v8cn73DIBkKE0mr1qMO3yr3c4ndDvIvYmEg9MnfIg/CdO1yW/kkI7bRnienbvRrjuNN6Frf6uWR/J/FtcVRDOd0Ied8mIFNjmWVXx1krwBCbuklxUcV3w== 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=Owh9PgKIM79afO9eos4TSLk54nRZJlOzpz48TYubiNY=; b=YC10aa7ZDMqBs5bs/w8niimc8fXkYZufhLzqT7s/18rkWjBx4n3nKxY16iWPd6Afj7ruQI/HiyJQ5ZdYSi1lTGVzyOAfrl9E2fh+EFafwU3vV5NH5O28tDr14HCU4M2ch+XhfcRQxvwXDoFLKRxS+MJxNBQRtQ8tbgAY2f7x8TpHzGtpq9L25ZL8oESCMzp5TOpqcUAtjPPH8rheekXCBpLVyE/7RDySHxW+3IMC7GClO12SMiBLdj9XiuPRakzdTxdYCVliI23F9DoSINnQn9R07Gm5xxjjBbLqP2+fDbWweoEufk+v4h6wjeeibSP0urqVlWvVh3NSVomC1cevdg== 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=Owh9PgKIM79afO9eos4TSLk54nRZJlOzpz48TYubiNY=; b=YkMOfnsc0rmCFKWgQaCOAM3ce1pK8gNyMU4EWQeNdegDvyq9ImswTi4BvzhxGnuv9em//kAbACGGe+ZhCQB9+BvkHIzWkZktbb//SCXPdytmaC1jlcXr+cfgfBseUZYj4Ebh4GF/heRCdk8qbcUuab6MvvtFx5cNBaamHVugKt1YCN4ep3yAMAX0JObdUesZYSI0r2iXdkn3/Q+L963gYTx/hOg8QugRSylvSU9TeejUpoyXiCgaJtPSeIfzWqn+3Uxf3cSUtGWny6KrbjDJId4SiwDesHkzHce4VeOkKgUaEqHQ7kY9FvKzTi3Fsq/y0lDcgW1od9RbShGBfQ1tTA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB7704.eurprd03.prod.outlook.com (2603:10a6:20b:403::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Sun, 16 Jan 2022 23:04:57 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%9]) with mapi id 15.20.4888.013; Sun, 16 Jan 2022 23:04:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Jan 2022 00:03:49 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [b5/uxrd8YJmJblJzCQ0/92ehHJn2RsyA] X-ClientProxiedBy: AM0PR10CA0070.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:15::23) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220116230405.194506-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 17313ad1-a22e-4bc4-9fca-08d9d9449d42 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuZvKHt/RRJ4O3wxWCrUcc4xmg+S8kYo3U2NKCdFccZBUTIu+KSE8qpl8ocuVMEnoEEsFKPTlLAJ1mValnFdmuvLLat0+tcj1uauv/fguwkkFeAFF4kFkp91rX0LxMrEVmiHiEBvJ2NyOsxw2BQRmEL3+L+VLoUHrHIbExdAInc+9onMx1Ffk5MADzh4OgVCJ+bcOiXe1MDlvx7U6TD6Sn9v1j2mKQPwLfCcUZ8BqZj+YT+zcq8C3EG8vUthmhrdKN36/IHNqkCJr+oERU56A2dwYzaR7OVUoGxRLrmbUCsD9Bq9u72Jdsy0c3b8jR8yS43X530HeVwQ/F7z2X4MkZ8AaFJo+UN8yMlTYbzacBvvBDog3O2csvR/iZKO+ptqNZFVBzcOc7PP/MznUsq+6q6h6e2n6ADnQn68tMER/olvLVz+dWvZvEtXlmPcEZFRqRksR6/P+w8Wl8YCwGyR1g++0YVG0xJLrurj/8AzSZamx5BjnQiOC4OJ5bKT124/5KMUvdkIRJI8IswVgEY++p9c2CsBsBi7Jk+nNFI/PrWoM49Hasx0ZnDe8BWcpgvwJaitAa8EFktdWZ9RdXpeQIA2M/WhTkGoUy77/1mCJKJ2t0FeN+RwsC4Da71nfEkf36q4M8y8mHtlBaq05XWTfV5Za0IuHr/0M98MRGoZf8hmmKKWHYFM0HBckpDSAcrWR4HqiB6QFLEzymBO/eBDFv7DXm0FgaRI7rdPZK8Q/rAMnySMrXwBCSZclfeyinUacWUtczTQaBC/iPstRToKp+w X-MS-TrafficTypeDiagnostic: AS8PR03MB7704:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Mwyc4aUz03HPEodIc5dIAnLsAPPSht2hpmFw/yTAa7qqHyRlbgbVF9RYZ1l1JdDJ+dT8bXrnwx7BKbbBQL4S4I7RgzK+6YsN4HHbKD+v9U7Rhizv7BSablZd/m/uPBraKcYh8kXqZWLS/fx8Idf6/GXjbPO1pWWWjC40D7eq3xsox1nDWFPfrAoWXGwpNmBwJYhp2FvMcaslXDfdatUSU2EDhQ73eH8QrEkKckfiOoXJitIjMKS2MGfczSgiXUNxLo9+aVDrtglFDR7PPqCTGt5zjHrqsYdLo/7cv8HzdJRdrWyf9mceaJrgfP0iJQi8LRnRq9/VHT6BBL3qZ5Kbdcdg3fHDkSUOctNfhnTiyM40vuxMJXQNdS+bL4KhZ+5VNnFWWaHTcF5l7Si66nLUidlsbaYHEpzZEzMGGSM7xJcOfTBl0/jyuw7/155FPwVZdctY65yB692dOB4z5HMl/yy9llY6AXG7cUDTB3sjXhE9gR6I4tt+Z9aQKk4bOYdMv36neRhgE70SLCxhcuB6CStSnyxIj5TN6cHpWmyNjkvxbv0t4+RFcnxMgfNXPhJavOEgDlnhckOuzCX7/Xmxew== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Moqw52YY/leTjyf3sNpfmXPP5ZJOpOECjy6afOxruMNnolXtM37twkBENNf2?= =?us-ascii?Q?+Me8EEu6CyoNZ9OHVhvLPR++wd7xXvk7KbKw6pj/ivYYkLMgMwrw9SQ3Atdq?= =?us-ascii?Q?e5n3SWzN1GmDEcxIDGb/wViHOWo/DbX62c5/W8SW1B6F5iWnyjb5m/JPFxzA?= =?us-ascii?Q?L4FMzqnXElSpBOoH9c4E8WcucjipxEfu4dJegaqYK1zxncnHOAt7LHq68JVk?= =?us-ascii?Q?SPwbHD7SHZ0hSUcxpHiGSj4tRoLD8b0a0glVkCkIxX2r22Yw3BR1UXgmpY8o?= =?us-ascii?Q?IJNRWOkjYgqZw7gdPRxo5P1+ma3vRxCFfyn7sjIxAb+dLMmIXn0FHVRPf1u4?= =?us-ascii?Q?NKgqKOqL17cZ5nB2c94dftgnoKzY9K8Tioj2ca9bAIuzSLgvJraKE5eip9d4?= =?us-ascii?Q?K7pDEWfsMeunbscjr2BT6ZLeP+TpIDqfgGlIliYmR5BcpSK6eZUXoz7yBKI9?= =?us-ascii?Q?zydZ+tYHsWqAe0WkKlX3lbFWb90VhijETffZFnVH3cKuY2G8ZB0G7AkG40qL?= =?us-ascii?Q?o86Fq/xfpgMBlIjhbgEhw2NUsYYc+/COdujW7Eiuo3WunTNDHceccdVeTCA3?= =?us-ascii?Q?EWZnU04fWYtuVmpc80q8RKtZI0B/t3b5Kesimp1JquV3qDk7USMtsE6tMdZt?= =?us-ascii?Q?E7FHssGIjNKNTYlnvEo+SIK5luCJe4XQj2AgagVAVFz3kzqdv4Sd8KYxDa6B?= =?us-ascii?Q?jYZRZMQIEq1zHQ2RVqmjkmCfb+435u5JbFq5jBX2LZ5FdfyPINFX8IX4uzKt?= =?us-ascii?Q?iasRWQqYy6lbU8tGsbeT5ET76jmtI3p3TuLRSq0tA4aMO5N5D+h0oJCvdXon?= =?us-ascii?Q?7541IoXb2x/Hg30ZwyRIxFzvPWlK2UufuTMYTRAZBx4J+UdYYf6gnqmi0HoT?= =?us-ascii?Q?QqbogIXJMDxlzTkBC7aeYqDNxjgs6b+6lHC9H/ZKFSK+a4vZc4Si3ZDQhW84?= =?us-ascii?Q?crUhl4nOt284oJmxgmYTlw=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17313ad1-a22e-4bc4-9fca-08d9d9449d42 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2022 23:04:57.1400 (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: AS8PR03MB7704 Subject: [FFmpeg-devel] [PATCH 09/25] avformat/matroskaenc: Don't waste bytes on ChapterAtoms length fields 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Also check the (user-provided) metadata tags for being too long. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 22 ++++++++++++---------- tests/ref/fate/webm-dash-chapters | 4 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 236dd3ae8d..fa58f1e171 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -2013,12 +2013,13 @@ static int mkv_write_chapters(AVFormatContext *s) create_new_ids = mkv_new_chapter_ids_needed(s); for (unsigned i = 0; i < s->nb_chapters; i++) { - ebml_master chapteratom, chapterdisplay; const AVChapter *c = s->chapters[i]; int64_t chapterstart = av_rescale_q(c->start, c->time_base, scale); int64_t chapterend = av_rescale_q(c->end, c->time_base, scale); const AVDictionaryEntry *t; uint64_t uid = create_new_ids ? i + 1ULL : c->id; + EBML_WRITER(7); + if (chapterstart < 0 || chapterstart > chapterend || chapterend < 0) { av_log(s, AV_LOG_ERROR, "Invalid chapter start (%"PRId64") or end (%"PRId64").\n", @@ -2027,17 +2028,18 @@ static int mkv_write_chapters(AVFormatContext *s) goto fail; } - chapteratom = start_ebml_master(dyn_cp, MATROSKA_ID_CHAPTERATOM, 0); - put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERUID, uid); - put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERTIMESTART, chapterstart); - put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERTIMEEND, chapterend); + ebml_writer_open_master(&writer, MATROSKA_ID_CHAPTERATOM); + ebml_writer_add_uint(&writer, MATROSKA_ID_CHAPTERUID, uid); + ebml_writer_add_uint(&writer, MATROSKA_ID_CHAPTERTIMESTART, chapterstart); + ebml_writer_add_uint(&writer, MATROSKA_ID_CHAPTERTIMEEND, chapterend); if ((t = av_dict_get(c->metadata, "title", NULL, 0))) { - chapterdisplay = start_ebml_master(dyn_cp, MATROSKA_ID_CHAPTERDISPLAY, 0); - put_ebml_string(dyn_cp, MATROSKA_ID_CHAPSTRING, t->value); - put_ebml_string(dyn_cp, MATROSKA_ID_CHAPLANG , "und"); - end_ebml_master(dyn_cp, chapterdisplay); + ebml_writer_open_master(&writer, MATROSKA_ID_CHAPTERDISPLAY); + ebml_writer_add_string(&writer, MATROSKA_ID_CHAPSTRING, t->value); + ebml_writer_add_string(&writer, MATROSKA_ID_CHAPLANG , "und"); } - end_ebml_master(dyn_cp, chapteratom); + ret = ebml_writer_write(&writer, dyn_cp); + if (ret < 0) + goto fail; if (tags && mkv_check_tag(c->metadata, MATROSKA_ID_TAGTARGETS_CHAPTERUID)) { ret = mkv_write_tag(mkv, c->metadata, tags, NULL, diff --git a/tests/ref/fate/webm-dash-chapters b/tests/ref/fate/webm-dash-chapters index c2f87b2d7c..95114e6526 100644 --- a/tests/ref/fate/webm-dash-chapters +++ b/tests/ref/fate/webm-dash-chapters @@ -1,5 +1,5 @@ -d3a67db17fdca71b9f8cf57c341a031b *tests/data/fate/webm-dash-chapters.webm -111218 tests/data/fate/webm-dash-chapters.webm +01732642a0750de3959fd348092929a5 *tests/data/fate/webm-dash-chapters.webm +111162 tests/data/fate/webm-dash-chapters.webm #extradata 0: 3469, 0xc6769ddc #tb 0: 1/1000 #media_type 0: audio -- 2.32.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".