From patchwork Sat Dec 1 03:10:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodger Combs X-Patchwork-Id: 11238 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id E55B644CC8D for ; Sat, 1 Dec 2018 05:17:48 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8069468A126; Sat, 1 Dec 2018 05:17:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BDC76689AF9 for ; Sat, 1 Dec 2018 05:17:42 +0200 (EET) Received: by mail-io1-f50.google.com with SMTP id x6so6162414ioa.9 for ; Fri, 30 Nov 2018 19:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=4EQgaFjO+nMQnHtVwod5N9bhE1ZDG4CVecl8DHIivsc=; b=JVFWQjlv4oQ+O7Nyt3SyhWGcoNUrFRRe0R1PZdwazX4xLLE31R1D6ObKtevsmgg8kL 94Zkqp0mdQ5j91OUIOfOdg/LPOJ63+pJdrNEXxW/Vd6q202susNdVH/zzIm/OuvEqwaE iWK2MTiQGsBFbyfB7WXl2Xe2Qdxo1fKc6i0ZVnZN/xq+jGsj/2cN/Q9YytEwSPhgLUWL YA5QX7sTjJXojgEmt3NdR60gPnjSAoZSq/p6f/+/ZhHKHcc5CAwEJ3zBNZa1dWPKto/b rj9ZrZbWihiK+ySFrXA8csqmQ6Y3h01zXZPZuEq/IkeYnNCgCoa7zoloAg0m+/DnDhHw bNdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=4EQgaFjO+nMQnHtVwod5N9bhE1ZDG4CVecl8DHIivsc=; b=gGh2PN+B9zsYEqV5bftZhAwa+bN3DhfHJuhEwwef0z4/A7KJwFedVwegizOcmLCdo+ 7lIkk9uqWDrO3gEvJjZrhDkE3CnyJlkF37wyGyIuk4zWEYTLZyxqvOXkr7VMRW5gjTGG S73qxvcCMPeu2iQNP7zYg5ttn3yAoqZbB0NGemS235ZuUqCnd49Zyis6E1TttvkkH+IO YDFqTBVN7dAAAo5xRrkCvEP5HrZQrMGkvGw175y6PKldQEprnWxxTycLiGF/bMCTUXDe PDr4rYbXnkAXE8WY/CG0dl2jK8jD3BOv5cG+H9XMOXFxyRMWrd6M3YGWAu7wTGYbgEmI 184A== X-Gm-Message-State: AA+aEWa5wZAz8H4X5fwtR6iBM2lvgfa7yT+07ds6ch8ms1ytcD4jbvyx 4nWoOnrpfjKEarhDQGH6suYnpTX6 X-Google-Smtp-Source: AFSGD/VOEAhe3wrkfiy7ita27l58CCNBJEPYR/ujbxCZqo0Sc6AJOcsrpBtzd+rwWk/ePPVQaGrdNg== X-Received: by 2002:a5d:93d5:: with SMTP id j21mr6912490ioo.215.1543633828762; Fri, 30 Nov 2018 19:10:28 -0800 (PST) Received: from MacBook-Pro.localdomain ([71.201.155.37]) by smtp.gmail.com with ESMTPSA id e10sm2935189ioa.65.2018.11.30.19.10.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 30 Nov 2018 19:10:27 -0800 (PST) From: Rodger Combs To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Nov 2018 21:10:06 -0600 Message-Id: <20181201031006.94174-1-rodger.combs@gmail.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavc/samidec: don't error on empty packets X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" No change to output; just prevents error spam --- libavcodec/samidec.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libavcodec/samidec.c b/libavcodec/samidec.c index e32f238c62..7ea67b5597 100644 --- a/libavcodec/samidec.c +++ b/libavcodec/samidec.c @@ -38,6 +38,7 @@ typedef struct { int readorder; } SAMIContext; +// Returns 1 if valid content was decoded; 0 if none; <0 if error static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src) { SAMIContext *sami = avctx->priv_data; @@ -84,7 +85,7 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src) while (av_isspace(*p)) p++; if (!strncmp(p, " ", 6)) { - ret = -1; + ret = 0; goto end; } @@ -126,6 +127,8 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src) goto end; av_bprintf(&sami->full, "%s", sami->encoded_content.str); + ret = 1; + end: av_free(dupsrc); return ret; @@ -142,10 +145,12 @@ static int sami_decode_frame(AVCodecContext *avctx, int ret = sami_paragraph_to_ass(avctx, ptr); if (ret < 0) return ret; - // TODO: pass escaped sami->encoded_source.str as source - ret = ff_ass_add_rect(sub, sami->full.str, sami->readorder++, 0, NULL, NULL); - if (ret < 0) - return ret; + if (ret > 0) { + // TODO: pass escaped sami->encoded_source.str as source + ret = ff_ass_add_rect(sub, sami->full.str, sami->readorder++, 0, NULL, NULL); + if (ret < 0) + return ret; + } } *got_sub_ptr = sub->num_rects > 0; return avpkt->size;