From patchwork Thu Dec 9 12:13:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 32236 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp280072iog; Thu, 9 Dec 2021 04:17:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJxNmk5jibPE0N6fEgnZn78wNoVJ5KtyfrnNUgfgcS9/dOqGmC6swaOlgVRjsYPHNxSPxBdg X-Received: by 2002:a17:907:948c:: with SMTP id dm12mr14783405ejc.551.1639052257328; Thu, 09 Dec 2021 04:17:37 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i21si12113704ejw.173.2021.12.09.04.17.37; Thu, 09 Dec 2021 04:17:37 -0800 (PST) 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=@hotmail.com header.s=selector1 header.b=I+EUr2AC; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0C8B568AFEC; Thu, 9 Dec 2021 14:13:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2079.outbound.protection.outlook.com [40.92.22.79]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 071C868AFBD for ; Thu, 9 Dec 2021 14:13:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MeSJyVQ16eT7V0qADZUjzqrgQbDymUtR4tgNpjVDkNFqN9Z+F3C3wycI4TWzzoZoisCnNwB8iwGTMVbblC0UNnWSuIC8zgwOZdhbaSTi0vLWACkZB/SJRSYRt3mcwHR2tsqnEv9s/47cvRdNaIfXRDiBFXDAZ4ulBluPRb0RBB2GgscTNlFF8VB0pSn+RRpg9phMoxcrIEVJLEyhXKslW1aZvqxwGruKVZ/CXETlcFkErJFDg+zDpfQ99LECXdZtLEf1b3Lqz37QuZE4zON5cjlbmAo6Mljf7W1e8t9zssrq/N1pE7GUFAGnDYX90s/77lU4VmI4nYpqZiFSEpdPgA== 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=poRGhbmHJJCX8NLmX8dx9NhaohFfXxXT/s6TMN4Ugws=; b=H2ZEzucZfDsWn/ZNvvslBTzlLZyGEjbNei2lBKv+xK9uoUbRlTCCvk8f/+ZWwIEzJvr9aPw+PHL8zk5sVLACeCfLL+GT3dvHGXv702wjXylgFYsJJbme1HEtfwTyXjGK8V6pCY58oGPDhqOp9H/EkGOTO68pjVrhGmmvaz7KhLgb8s47uP2eUwsjTH0AGOShdc5r5crQz9kFvPwh8b5Nzmf5Wn9AcWaALSt+/7oLGppYVz5gCThg4wyXwGfd4kVhL6RI2RyhIOxwBsKnyStnD+MfmxLWAqTaQBN9ypdXGvp0rx399je+sC4cUW1ScWmET4HndGiFAyovUTSBKnLspQ== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=poRGhbmHJJCX8NLmX8dx9NhaohFfXxXT/s6TMN4Ugws=; b=I+EUr2ACRRgdpBLqpk87hfEwxQR6PioMajXuisifc/vUjGnHAi4dH1RTuZw3VTm8kYuDBsGaWDoU+0ojn4uLmdh13UReRYrdTD/QLgVZErF/fncnLvZ3zFLWg2x7tkM28x1HpMyAf/PiO5PvnYBmyxtgdSshl1IHbk9F57Wl4DDslqT0Lzuo3yOChKk/JCbgagPSfocCxEBHSJ2Q6PnA1Y83yrtWOaTsISdcuodv5tNjd2f0ZWciBe2y7tFosybvf/hHg4gnLKJSSpv7fvznreFzgPLOYt8bslBG5DK8mC5/E/zHDFE9MP+94ZbSTWOQrAMWglsIVzYw3dbslu0K7Q== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0383.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.20; Thu, 9 Dec 2021 12:13:08 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::9c8d:fc63:9488:9775]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::9c8d:fc63:9488:9775%8]) with mapi id 15.20.4755.025; Thu, 9 Dec 2021 12:13:08 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v22 23/23] avcodec/webvttenc: convert hard-space tags to   Thread-Index: AQHX7PYg37flEBNjVEK7hMPsgyrLOA== Date: Thu, 9 Dec 2021 12:13:08 +0000 Message-ID: References: <05fff8a8e41014ff699b57bd805f0411865328af.1639051681.git.softworkz@hotmail.com> <18ca2f636f4ef69cbd1b146fe2b3384e242bc377.1639051681.git.softworkz@hotmail.com> <3f3d922baa2061dc8a4e4243c2fcd9813e59ebc3.1639051681.git.softworkz@hotmail.com> <36b0675ac77e7856359413d13b3c655cd3f32abc.1639051681.git.softworkz@hotmail.com> <3549fd8493f7ddba0a9c8facc7be023f6d8c3d01.1639051681.git.softworkz@hotmail.com> <7100eefc62a46f3454521f15bb67b699247a6c2e.1639051681.git.softworkz@hotmail.com> <11d7684d824fda57056ea6dea1c8c8e132c982a0.1639051681.git.softworkz@hotmail.com> <32dc31a9ab2bf74e6fc3ddcd58177983cdc3849e.1639051681.git.softworkz@hotmail.com> <71eae8f27929669d9765cda5a49dc0f45c925398.1639051681.git.softworkz@hotmail.com> <9247eeb569a0a9ed82df80e6e1f87e09283c9bcb.1639051681.git.softworkz@hotmail.com> <6058c526bc0c6138feef313eb5fc3ef1a3c550c6.1639051681.git.softworkz@hotmail.com> <072b028e6c6ac795b7e1204fee6dbe79c4df2a34.1639051681.git.softworkz@hotmail.com> <36a99cab3051c9bdd2f6639996ea6d85314f6b74.1639051681.git.softworkz@hotmail.com> <1c7eae1cbd7511bb00d9eae381a4c7df5b749346.1639051681.git.softworkz@hotmail.com> In-Reply-To: <1c7eae1cbd7511bb00d9eae381a4c7df5b749346.1639051681.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [cQPK0aRstT3UAfh+W38yUOaFh2NXRmqJ] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 24b1a92d-967b-428e-31a4-08d9bb0d42e9 x-ms-traffictypediagnostic: DM8P223MB0383:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 25OjaPSQIgNDrIUEb1LkTDzuIxO65tCrkPSjpVJhCEMt2YpIoNZUGDThkaiG2Y91HXECQCnedg9Z4uTJt/rTUSaayU/TL0GguqQpvda//XwSJdLHf/t8b9QTE9uzc+YrL+JiCoWNfpGX7S9wxlbSesSVzQJPWq8dIQGc6kbRlI4CBVl+inRVNNJ5ZvQXeIvBO176NzNuJaM9gJ7Lsh9lEwhQGxDW/0cYrvQkMBi7hvMhhaV/PtsScebNz+y9ohzgumCY8bT0Ii4QyL5WqgjR+DOand9wjiIXua5pKQ3VgpJX2f1M2XtJdz0TE5Bnn7YkEhFrWnr23lYjnvyec7PvGKFCXYmY9W+L0BDCTUvVanwMvdoN52qRY2qHiCQ0qfLrZzOgOvDujKsV7FL1BGY4s39N54/ENQy8mFdMvzX2WUuvpIDBdQVa3Qag0e5cEEZ3o8MdlRvL9+GIi4km3mDrF/2vl7dYB+RJEw6rmmC0Xin3bMxBCyS+k5BORe/znmsYXORg9WzMZgVuQrSy5apCGECWDWSPYqWs+omlYcLFSCrPloAiZ9pPutisIE7R8dse0sBBJZW8NuEAVVKuw1fEYg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?JwRLnPb3rPITvBahP/aqQ2bJJx+M?= =?utf-8?q?zL7GpPm2/zxz4Qong8JRyIAQAdVXFJ+3LNtFD7FXG9owx5HS4K74xYlUDU700WHKi?= =?utf-8?q?KYgEp8tbtc32BUmTZyA9Qc3lv2LOCWEkMcojbuDG31CQFVilVXY17vCa34QOYgg0J?= =?utf-8?q?/tOfe8NbMZCelNdmazlRrqtIX90mL/qHpb+hkaL7AAbh0yAn4/0hmfUvXi9zv/6hM?= =?utf-8?q?tJ+hjLmtR8joOxQrxDJHxooUKjo4mdI3fwOp2w7UQPoMgo9X3yo/hsLtmBVEZnHGW?= =?utf-8?q?bYghfR2FR1Z5YaK7rSAWJ2aVgHetVAcyOxiaWyZ5C50HpSY2/qQppWsI7+SsgCyf3?= =?utf-8?q?KNebaoRiEvyj0WM5dLDNfCFheFJeRjypAUtYE0tEDFybSjfytjA/kFZ8wY0myp84U?= =?utf-8?q?fl88Htt6lCl74xI9OgcwKku4jXcTjLZfvbDSUP1VwfI7A9x+S/M2JylpaHeagLxcA?= =?utf-8?q?+uZyesBZ6tocN41K1HAYDbSoHhH/w4YVGW4lSslYjktB+G0tdJU2L9phtcWtecQVO?= =?utf-8?q?rsvNEeE4r6UOrH7UxhT/E1TiLAUvyRAur7mP5kNMc05SjK7+/Z3EVPv46QWFkVW2j?= =?utf-8?q?EeS05pgkEKGZQHkT79oOQSPXL5NxPuMHD/F5A2yIrbZA6b/ND8+UHO3L7UcTbw6Aq?= =?utf-8?q?9wGfDN1/A8FFSShjevZ/CUOjeqIyp7Wdtc1ZP1o4uYuIeNEBPXKIu2hqiZXXu7a3d?= =?utf-8?q?E+4L+yxUcqk41COqx+BbwFQjYxV3z9V2bw/symRjeG+m9kHbQwvC34eGRupsO/kJr?= =?utf-8?q?4yfDXhWZkuPHT9U/wGYDlv0P2xr67D0/+8/hXpwgQt5+XJwSXnS0V+Co2iNyGjASr?= =?utf-8?q?iee5UhXkLyfu0gCPSXUqHfUYwTG79Pq/1v3GPtlfzCN/rmTZ82IHt1n079gF/9VRu?= =?utf-8?q?MubK2gYkf+ipg7rmg8XaBqJI0xjw1S4a1/BhOwFiRwXw=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 24b1a92d-967b-428e-31a4-08d9bb0d42e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2021 12:13:08.0178 (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: DM8P223MB0383 Subject: [FFmpeg-devel] [PATCH v22 23/23] avcodec/webvttenc: convert hard-space tags to   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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TQJZHTEjyTqJ Signed-off-by: softworkz --- libavcodec/webvttenc.c | 6 ++++++ tests/ref/fate/sub-webvttenc | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libavcodec/webvttenc.c b/libavcodec/webvttenc.c index 43dace6575..a4997969ee 100644 --- a/libavcodec/webvttenc.c +++ b/libavcodec/webvttenc.c @@ -123,6 +123,11 @@ static void webvtt_new_line_cb(void *priv, int forced) webvtt_print(priv, "\n"); } +static void webvtt_hard_space_cb(void *priv) +{ + webvtt_print(priv, " "); +} + static void webvtt_style_cb(void *priv, char style, int close) { if (style == 's') // strikethrough unsupported @@ -147,6 +152,7 @@ static void webvtt_end_cb(void *priv) static const ASSCodesCallbacks webvtt_callbacks = { .text = webvtt_text_cb, .new_line = webvtt_new_line_cb, + .hard_space = webvtt_hard_space_cb, .style = webvtt_style_cb, .color = NULL, .font_name = NULL, diff --git a/tests/ref/fate/sub-webvttenc b/tests/ref/fate/sub-webvttenc index f4172dcc84..ee9de2859e 100644 --- a/tests/ref/fate/sub-webvttenc +++ b/tests/ref/fate/sub-webvttenc @@ -132,26 +132,26 @@ but show this: {normal text} \ N is a forced line break \ h is a hard space Normal spaces at the start and at the end of the line are trimmed while hard spaces are not trimmed. -The line will never break automatically right before or after a hard space. :-D +The line will never break automatically right before or after a hard space. :-D 00:54.501 --> 00:56.500 - A (05 hard spaces followed by a letter) +     A (05 hard spaces followed by a letter) A (Normal spaces followed by a letter) A (No hard spaces followed by a letter) 00:56.501 --> 00:58.500 - A (05 hard spaces followed by a letter) +     A (05 hard spaces followed by a letter) A (Normal spaces followed by a letter) A (No hard spaces followed by a letter) Show this: \TEST and this: \-) 00:58.501 --> 01:00.500 -A letter followed by 05 hard spaces: A +A letter followed by 05 hard spaces: A      A letter followed by normal spaces: A A letter followed by no hard spaces: A -05 hard spaces between letters: A A +05 hard spaces between letters: A     A 5 normal spaces between letters: A A ^--Forced line break