From patchwork Fri Dec 1 16:06:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 44853 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a301:b0:181:818d:5e7f with SMTP id x1csp1190182pzk; Fri, 1 Dec 2023 07:57:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IG1Xc1FDvTp02E7gRnLB/CEqjOqkBKkJOslVkUsHpz6idktkGmzG6oaxO53mrNGWCFH7Sos X-Received: by 2002:a05:6512:48c9:b0:50b:c9b8:36b with SMTP id er9-20020a05651248c900b0050bc9b8036bmr958937lfb.69.1701446268521; Fri, 01 Dec 2023 07:57:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701446268; cv=none; d=google.com; s=arc-20160816; b=RLqIilYyF0FRap9Wdgy6h04p3hszCHEAZSPp5Jphgy5sFO+pESL8J+G6orw4Dl5y6h 2ZVjFpKVtk73SymX+Kuj+djByMcapfuwi9pIr+DKq7Hc5Dnw7mwKNNzQMv/iGZzLq7D1 PjMUjXR9FPHh71DIGCGD66JrP8cuVZPr1UqMGJ4Pxk15ErFFy8YWrcI6BFYvyD5PviEw iHVMr+Jxq4dkZv9k/mj7w7EUOPLqMkVLayx7vxucBL8qLiNhnA7eB43eYRPsJtS+oool yZeH7jfH2v2BKA3T7OSfjEzVSLoP1qHu94zEMYxjnhy1qTIFAeQ3L4y1t9Ft8xg1Utj0 bGRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to; bh=glnbWUhH/UfXPnTkzYhicK2hOIW+Rfma3MeEh6F5h9Y=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=btOwudJApxptxOPAn2O5zPgeUH9bBKK68llKeCFCnOleG7RN9A7dETG6mDFqpBZf9A i25XiN4aeOmtpBK3BTBssXUdXtrywEgCTRZzN0Y3z6Pzvvpw+YuJL0HLx0pvF1U2a34o DVWuU/28ueeIV+qoY9mrA3+VbUnmylWniJ/1jFHSkXSFZiCv355XOFcKaC/ksI8rLIbe 7dQQDL7HlnWVdBtnfVxAVwqnBRm7t0qLfn5Mq7DqChTnpwWT6/ZNTOBFur9WajodW/iE 7n/1Xanq25qEXFPVwjAlIlZhIOgdT+f90j0uoFPDMp/0IIqKk5J+U2A9SSmAAJ7rUxjA WL1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=jOCfw9aB; 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 u5-20020a50d505000000b0054c654c5538si420480edi.387.2023.12.01.07.57.46; Fri, 01 Dec 2023 07:57:48 -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=20230601 header.b=jOCfw9aB; 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 292C768CF73; Fri, 1 Dec 2023 17:57:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com [209.85.221.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8F81F68CF23 for ; Fri, 1 Dec 2023 17:57:36 +0200 (EET) Received: by mail-vk1-f182.google.com with SMTP id 71dfb90a1353d-4b28354a249so827457e0c.2 for ; Fri, 01 Dec 2023 07:57:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701446255; x=1702051055; darn=ffmpeg.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=OQpIX3uOK8v3WG6xuVAY3ynKbz8nG2ffRoa7Cv7/LWw=; b=jOCfw9aBLI4pm4TEIp6SCCtxAmqGAlXNXlZdigqVBmTjMO+yN/9ogt5yN58PmCdsg+ 0BvoY3OAo8a44Z/CQwApq4DBNwlrjFscBFk8ymQv32/lecvEdPoBwKMpMVjOHE+d03oH 3N9PNGWKXm8AaasKPk6q+O9Wpf+7OS9zUL2v/GCYgWy48YlVse9MHFoDk+n4tZEcMvqJ tnHTbCWNMVz4ycryla09xF1K8lyt1MpQBuHaCrVNe42TOiYRpx9Cs9W/ltO6kaN0ef+c TF1vDdGUi3Kg/MfICuE0s0iC8aa130PLrLXwAzEXUXaEmZgjyIf36YdsM6qu5L6ys5zf 7moA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701446255; x=1702051055; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=OQpIX3uOK8v3WG6xuVAY3ynKbz8nG2ffRoa7Cv7/LWw=; b=lKodu3tHtjPrAfl2MZHJzZ9oUByxfGRvXN1+eP6HWmu60/Retb8jgzU+l5yWEyWF+W y0oF0oWzd0qhM8k9fB3lfsYnDsJJkvFV1pgiW8lVYp/RcWc4y+qL8UGMY2NdhIWCA8Qd k3VEJbWUH8FTkxCe9dNccpe9+eUxC9E0/4x2fHDb+HE9cHi1lyn+POud3mL/ivDqUsEG UkCLNXUEOSDIThQDmsRrTz11nTjrDHPZz0duqzaQGwyQCRQGPW2vumqH758YPG5Kc8na ayTjdFPalL8EnA/BB/KXLOCgcpq7wxIuIPFxhhAnciYha0rn947+p0VIJecjklDedOBj K1Hw== X-Gm-Message-State: AOJu0YymBC97y3YO45pGbLdCfjyVnJ0PPRdIOwWbCNTjFQWv8DZMtl73 k81hdyTw4RxWefvgvzlQGmCYHs2mmQG4MoF32KSTkBYO X-Received: by 2002:a1f:e304:0:b0:4b2:891e:225a with SMTP id a4-20020a1fe304000000b004b2891e225amr8874557vkh.11.1701446254678; Fri, 01 Dec 2023 07:57:34 -0800 (PST) MIME-Version: 1.0 From: Paul B Mahol Date: Fri, 1 Dec 2023 17:06:00 +0100 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avfilter/avfilter: fix OOM case for default activate 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: fEezKLg7mIAk Attached. From 2ea2a0df61cbd5519a1c1e88be27a3f8eb883aac Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 1 Dec 2023 16:59:07 +0100 Subject: [PATCH] avfilter/avfilter: fix OOM case for default activate Fixes OOM when caller keeps adding frames into filtergraph that reached EOF by other means, for example EOF is signalled by other filter in filtergraph or by buffersink. Signed-off-by: Paul B Mahol --- libavfilter/avfilter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index ab7782862a..bde1c33d07 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -1167,6 +1167,16 @@ static int ff_filter_activate_default(AVFilterContext *filter) { unsigned i; + for (i = 0; i < filter->nb_outputs; i++) { + int ret = filter->outputs[i]->status_in; + + if (ret) { + for (int j = 0; j < filter->nb_inputs; j++) + ff_inlink_set_status(filter->inputs[j], ret); + return 0; + } + } + for (i = 0; i < filter->nb_inputs; i++) { if (samples_ready(filter->inputs[i], filter->inputs[i]->min_samples)) { return ff_filter_frame_to_filter(filter->inputs[i]); -- 2.42.1