From patchwork Thu Jan 20 02:48:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 33694 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp5411042iog; Wed, 19 Jan 2022 18:53:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJyqv8c6GtNlu9760TvR7H0LlpMAeQOIAHGfxQRlBBXvYmQ0+ULOmG/QMMX5F6bq7IDcqXky X-Received: by 2002:a17:906:9750:: with SMTP id o16mr26840830ejy.410.1642647199779; Wed, 19 Jan 2022 18:53:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642647199; cv=none; d=google.com; s=arc-20160816; b=I2rCWIfKEJBaNFhlPKPgusspnazudozWkRhzGwajD0qqsM+a0nuGzfJsW/gw9kvpre hPnwDQtSnxiAIZgghMPrGerWyADkerVCZ2VqJ3wtZyqTt8Hs1XwJXOV1sls4fWWrksSH HmGQmVtjs/2Wt7vnmCqaLSHkntW4dJsiK2NcheNpi5/VR5bC+602LLaiMFyoxOLoDEec KnKgU2o64j7ll59oFzFt2hpf7CWB9aSPlYOyvFAm4XpnaNwMcdO0E1BaOZTS/GLgwX5e ih4/BA9DOmJoKhBa2Wk51fHUhMEEiLL52zZ4A9Z7MAANjxLzT/L/U8um7PT8NjFNTtaE XhqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:from:references :in-reply-to:message-id:dkim-signature:delivered-to; bh=KB04cco0No4xge1c4IQGsu0fJap6WNSZQ56YrIeWIag=; b=ngKyfPzOh7M6iKtQsj6G/jF2ShN1E9u81QoUrj3I0WhKY3H+GeaA1uiL8AXKZexZ0L 0d8R4o36BwD4U4rSyqqosABTzSITZETNhZdE/dfAqSA++1mTWQpZ1r4tjCazQk4IAcRN NcJH/Qztv1SGh9gWo6CqR/JezcyRYFOF0zsZ8twZOe00mwcaLIhaQvIVc7C1ig1GyWiy NBoYbBFGjfNiN/7oWwY95bosTsEvNxy6GAu0GROZlrDBulFVUB39Jgxy2L6GpW+OuQxG aSe7wmmJxybrM+cubfTBJf5YlM18xZJQzlcGbuDZJOvCv2PS2r7c4rwjO0PAz/TizKoq UXXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="IboT/Yjy"; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v27si1007794edx.208.2022.01.19.18.53.19; Wed, 19 Jan 2022 18:53:19 -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=@gmail.com header.s=20210112 header.b="IboT/Yjy"; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9C95268B257; Thu, 20 Jan 2022 04:49:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8DC2C68B239 for ; Thu, 20 Jan 2022 04:49:03 +0200 (EET) Received: by mail-pl1-f173.google.com with SMTP id h13so3453136plf.2 for ; Wed, 19 Jan 2022 18:49:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:in-reply-to:references:from:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=kvfdnmsm1ycOUMPMsqonIN9VM28V0LuiM2jsDLNw1I8=; b=IboT/YjyUd7naCkT0had3e7d9pkbYns4NkR7UJKasT9fgdhfZvfBEvzYuRQniw+xtA zxXCIMwmi4XhfKfRaJGuE74uYpV6UX6MUA+eYmuMtO0hvVxPy6xDO67p3uJzFJaU5ZVk XJLQCYfxgdEy9fiAHRNY/LRQmr8a2Ct9BtlM/97xrT571D6yus0vFbXZE8MshhuQZN9k WXCEQHJzSIT+N2UUP3aL3Jn5JXM0Au2ZcJFNjZmHRU3s5hM/oVlqji2jpZFQ0zTzEr8S +LTW+dgBQ7RyyT3CB875iW4Qmcc34l32uF0LxYvPjWNiJtjYlvwqOCobhF8kx20cDPOw LwTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:in-reply-to:references:from:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=kvfdnmsm1ycOUMPMsqonIN9VM28V0LuiM2jsDLNw1I8=; b=TVkvyBL9jj+tMSwzWnEqfPKX40giDFWdqms+pD+lUWm8/Bp63Z1pGQ+rRgECpGA3kv hHyC/XPwoEMVy7X9KYEpFAqaQCso2nl0A3DAJLW6UinuApUJmeTRk+fTn4IPX5+BZjHE un8erMDy9mVJZ46X25xEy/6zR8a14atAUBLC6/y/amYF37pPHs2QNDV63JEoxoTyTun5 Wlwks5BPGdYszaongj6edQoA+6AphoLbKZ+3ZQjMIkdND7ZV4Fv5QSaGa+ANt2VIxAtR 8NB5tDvBt+QvEPBtyIdpzzupx30fpxHmqJ5qdAfGJcX2G3UCwTz+xYZOp0wr9heafIUJ WIYw== X-Gm-Message-State: AOAM533L5VV/TOqPuq50LsB3rws6Xnr+hrVxKCIK/s4d9z9NxJ3fFqgx 86E23/2ljwSz0KDdWOa63vxus0c6ksg= X-Received: by 2002:a17:902:bb8e:b0:14a:496c:6f2b with SMTP id m14-20020a170902bb8e00b0014a496c6f2bmr35775604pls.57.1642646941741; Wed, 19 Jan 2022 18:49:01 -0800 (PST) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id s32sm824545pfw.215.2022.01.19.18.49.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Jan 2022 18:49:01 -0800 (PST) Message-Id: <44b4e203d87506ddb96e691fd80c2d5edd47f0e0.1642646916.git.ffmpegagent@gmail.com> In-Reply-To: References: From: ffmpegagent Date: Thu, 20 Jan 2022 02:48:33 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 23/26] 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 Cc: Michael Niedermayer , softworkz , Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: UornfSHMWWFl From: softworkz 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 c0436f5739..48945dcb8e 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