From patchwork Wed Mar 27 10:51:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Rapp X-Patchwork-Id: 47522 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp530900pzb; Wed, 27 Mar 2024 03:52:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWXi8N4W0yPJ6jn5X3bpeaVTluvin11hvsWXSrjY85Ehy0O3dcBxrXR6aIgDSoRQ/rwa1JiQeotnPmSJi5IpYEYjzzwPQ+EnWLGvA== X-Google-Smtp-Source: AGHT+IHk/Nz3u6EcK3/R2YtKux2LShfIrr4C9j2ZJNxCFrbFHFj7ub9pJjaguR5N7dE6cBJiddaJ X-Received: by 2002:a50:8e55:0:b0:567:429f:7164 with SMTP id 21-20020a508e55000000b00567429f7164mr2341524edx.32.1711536732352; Wed, 27 Mar 2024 03:52:12 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y5-20020a056402440500b0056c0a3a60c3si3466231eda.235.2024.03.27.03.52.11; Wed, 27 Mar 2024 03:52:12 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DD8D668D632; Wed, 27 Mar 2024 12:52:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2122.outbound.protection.outlook.com [40.107.20.122]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12E8C68D146 for ; Wed, 27 Mar 2024 12:52:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gXb9Wby5cUwCUAcfVps7NcLDS4A9CaErpvhmPdMHYaiZJYrKMhXrYxhbIgBuSMM6kVs0vKaklyMWdJINrHv3s5m+dFDzEgQR+dxyntvKKgVlXK5Q9NpBWpVNRxSlGk/OtG2KxVvdWXVv1mNB0ozTtBsRWah3nLSSS03BANvRDVtCXQnLu+lnKddfoJSRCBg+LSiTsUAoi6VLs71v4MKt1G8JZTDWEZOlqlVQDun/eUNLwc2X42+/pI++J+sX1VR44/dI+qg9HDZ+BSqRON9fpQflR9i0qNC2BUMkRxSYUW0chrHVH27rI9VMmRvbp2HZ1+0dh+x8222DeT4W7juLTA== 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=cXEYjq1KCvqtV28YzGJSw/1zRUw0BjFNEOoW9Srxrl0=; b=WF2xCWqu1k99v1xT/yf35mgI+xzeH0SlScRHMuekOXueann0eu5giZkFNuZN1hiQjRMx1Xq90r8NKBuPsC8KDtPOhwSkQlw/2g+ulBJz0PsfhvlCWutlcziBfHLa3cjOpTxY/jdQSPcfW1xeF8h0hZuHLU3rt7ExTu3WXQ8v97LjJN/Ol4DH9pYili+Pvu88CWfXjLcgvHMqLZ9papS50MI/TFZZ/26Lwmpw8VNbXtyQ6fkEZwFa3xCjYYwefdxlPzKQb6hRDdnLCEY8ep8GRvTTL3/XfZfojTN/9sWrWgzrurRnLmanp5ihbyrWp1GnhkXGyEbuQgEUKHflCf9uVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=noa-archive.com; dmarc=pass action=none header.from=noa-archive.com; dkim=pass header.d=noa-archive.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=noa-archive.com; Received: from DB4PR09MB5847.eurprd09.prod.outlook.com (2603:10a6:10:38d::8) by AM7PR09MB3799.eurprd09.prod.outlook.com (2603:10a6:20b:de::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Wed, 27 Mar 2024 10:51:57 +0000 Received: from DB4PR09MB5847.eurprd09.prod.outlook.com ([fe80::2a3e:8641:1f40:c79]) by DB4PR09MB5847.eurprd09.prod.outlook.com ([fe80::2a3e:8641:1f40:c79%5]) with mapi id 15.20.7409.031; Wed, 27 Mar 2024 10:51:57 +0000 From: Tobias Rapp To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 11:51:30 +0100 Message-Id: <1711536691-15749-1-git-send-email-t.rapp@noa-archive.com> X-Mailer: git-send-email 2.7.4 X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::17) To DB4PR09MB5847.eurprd09.prod.outlook.com (2603:10a6:10:38d::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB4PR09MB5847:EE_|AM7PR09MB3799:EE_ X-MS-Office365-Filtering-Correlation-Id: b1d3be48-b938-4ebb-8029-08dc4e4bec3c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xSNWYyPtaTRjrMhaNeVlT6CF0oM2gC/1rORa5nTkbJ67l92++82VezTHO9OPsElRy596dFWTPEzNrNKFXmT1K3tjHboHg1szutESGuZfzBO9SvFmqNSpplmj40vV/a3/wtcH+R5Ys4MIA+L2akZQQypc5didu6xhotDzsojyPCP6MjQwD+/+O0POYHuJWP6qp2p5YGIqwAzEd1/wfxLG9nyEouKW9NeDrjV4SAs5kxaEIo/9Ycf2TGfUrY7n+bYaTZH5xHhRN348NwvlUMrspZiFgT6PeTrbDsXcKF+lYH4VtkGtZu0CbG+oPsvbTDoUdQYxBmBqdtNOwT5IpbvUtBVS9saIa4yJnFaNrExxwG6+8KaNUcuQKnB6Rcqx8FwGkidmYgXI64/ITfoLP9R1ty+H1UpOrzwOBE5Lim0NRCV0lgmBCZ5TlDYSbn47vdjiS3RRnTFawG/hQ/63GyK6ruBFeCDL1yHCCIQuyFB0XLtWvTDaMEwpNcTCQdnFGLQYIM2BwVM1U3orw3rr67TisMaIFzTH5FYqc7ggrIjtGmXWwFYX4Fx1IZRXchMKOQskICIh3i3f+e/tF3g7lnhTl2moDrlJuYXiat85WbVEReKIe+aAMe6PMQWWo8ogLPBMVudB4SiwUlGJp4nj9LgNYYnsvEI8qDcf/hnXhN2AhQhzQBkM3FNJrmk0XwfH1V3uUhdhkJVyykroR5a67Lq6B3H2lrfFpL+645F9T31T35o= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB4PR09MB5847.eurprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MZfqY3TYHFtqYBD5OaqQJs84+5MZ7tx0Yy9vfVLmBzdg/qedwEAJSUd7vpS2l4x3U7zk5HVeQriYgvnpc/cxF1ywgziKQHkNL2LOSM4Tdb6rSPf4PzqM9wOVd9fX+AqFSsJrxeilrNRfF9tekrgF/NWa6z5umGVyM6K8jNh9mxw7a0fy9c8ESDUttzIdMPz2nhcJWZ9MP+O+4qDnlnIi935jMIipVyzHbGWQeCXgAe8qpKGEmMTVQ7OdRoEyXyM8AiSeiVIiEFsNPxvnsJA8x7alZ55FqX1zyMCZhlZ5HfL6CcdCb/1PJB/VGUeU9wJUukgolg/B5vuIHbUE6ImanfTSdazlNHJ9ciyIRYeoot+Pwl8Izf+VJfq7DWSZtR38Kd1UfTXwdO+YhUbseLWIBHNpCIsozKtp3+j9HTS8BI0+6PpQPTnssX3jU+kJvEhag2+FnN+LT6VIRU9iH6y7Zf2nQE3L94CNcfpj/r+zE0UR7v/GMMOwyGgvBoVwHb5GOVsCyY3SFpTTv1/sUVLFa4+bkTJPXyfOTTks2mfS49mUOCmvME2Fwn5yLyRoYLRg1ePpLA77ZPBX1SuEmBZNhbKXHunQn8ZwKwDhy7ANSMAARJZ0zKPtPArMOkGs15zAoXxnmIXgXkZmE14VktkuUYFbkoa4x8Fs9qWAq58Fz9k85pRDvRXJCMiN3hBvzmQyS+CNWlDwCmqDeK0NaMUHVUsAotwKBGBso3QAkBmgWUlC7bEUzdGWMupdalE6dF3DPWIZ/f+8twdYE/oJ+RCEPKeDHFXbW9VLCRXvyjcijW7KE1Ej4kcTJ09UfkXkZ6Wptv4q1+Tkj25N+IBVUegHTRTnQsDoE1OJ7uIzozTLNluz86vPpzpjfp4kZeRH4Ys/etz082yZXYzmo1VTNHiuzRQnbRsj85CMUK+JDGimvTSt1W+MmTmDKw/ZDTxM4EeF/7hEwNzFRP/yoqRniMY0Ftb4LQ5ddiYO+YfvJ35V8/y49vZzVioH7DJJs46uS51ljzasWkiPFo8EHzpDfwjQz/XrTn4G743kNFGFybkICdeuSzS0Vv89lJsY1rnDzI95c0miM9jMr5gQYjJo9N9qbJpX17mWFEJKX6jrSq9EaK9NwgHfYMY8F9tN8WPKsBpam7WwZhQUwUPu3DWkGAy2Dp9HG0kjOrTDiyT9+3bNuTB99LudTVOKOSf9K97fCy3SMEPbrAQRuiA8ZN6qV2h8DCgY3ZSeuI8rrWAIF9VQ1IsAdeBho7t2h9jF4kEsGLfYCSJKfNhOyXS7YcRI3Y3qpdsVRh3+szxK55yDPjFMI5wJ1KCMUZYV2cBY1b6Ji4RCPNZpVAkLdR1I/Z1I1FkhkY5kIEwB9fkr9JvxqNp5mqj0UxrmOiBzocDZHJA9u3yNfo38o+dcXzRDABWjKJH/uD3s1z332J9NVzl7tQiQjr8CDY6Rtv7JzR7a0s8d/WZqLsw8Im9/GFA7KI8MTUfOUmh9d2gISXTS6naTFxvTJ6vifzJWcAseY3i6Rwxv6Tf0E8yUrny9yZ5x827wmSIQD+iUfKcgxerg6Up0rcorehtsb7IqBak0dbML2l5A1TEb7EYEfVCMZWyBtFtMqrh96Q== X-OriginatorOrg: noa-archive.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1d3be48-b938-4ebb-8029-08dc4e4bec3c X-MS-Exchange-CrossTenant-AuthSource: DB4PR09MB5847.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 10:51:57.3825 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a676c8d7-7f39-4c99-a306-48abb76a98e9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SaV8VEwIx1Vi/0qWymjC6QYpGglTeVrDmCFBng1GSPtkSlCFanPDYqUsxQIUgVZPTqIHLJmvIBlPgTTKCGNjoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR09MB3799 Subject: [FFmpeg-devel] [PATCH 1/2] examples/decode_filter_audio: Add loop for draining the filtergraph 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: ukvOcxW9X4j0 Depending on the filters used the filtergraph can produce trailing data after feeding it the last input frame. Update the example to include the necessary loop for draining the filtergrap. Signed-off-by: Tobias Rapp --- doc/examples/decode_filter_audio.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/examples/decode_filter_audio.c b/doc/examples/decode_filter_audio.c index 2046419..196f080 100644 --- a/doc/examples/decode_filter_audio.c +++ b/doc/examples/decode_filter_audio.c @@ -279,6 +279,25 @@ int main(int argc, char **argv) } av_packet_unref(packet); } + if (ret == AVERROR_EOF) { + /* signal EOF to the filtergraph */ + if (av_buffersrc_add_frame_flags(buffersrc_ctx, NULL, 0) < 0) { + av_log(NULL, AV_LOG_ERROR, "Error while closing the filtergraph\n"); + goto end; + } + + /* pull remaining frames from the filtergraph */ + while (1) { + ret = av_buffersink_get_frame(buffersink_ctx, filt_frame); + if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) + break; + if (ret < 0) + goto end; + print_frame(filt_frame); + av_frame_unref(filt_frame); + } + } + end: avfilter_graph_free(&filter_graph); avcodec_free_context(&dec_ctx); From patchwork Wed Mar 27 10:51:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Rapp X-Patchwork-Id: 47523 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp530973pzb; Wed, 27 Mar 2024 03:52:21 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVu+j6vYGsY+4w/Moq8OgLV5q8ZmskjGP3ryrreziOa3fi/O5iaivOX5g/GqTSBkgUtqeQlv+FXmr0ADcNdHcxjqItNStLH23TaVQ== X-Google-Smtp-Source: AGHT+IEHqnxgMlsAmv9mh7X4+IksmJ7Uqd1JeNZg4IJCW6wXS988Hdiy+JYNU8roDTzgroey/3XV X-Received: by 2002:a17:906:6a07:b0:a47:5104:c39 with SMTP id qw7-20020a1709066a0700b00a4751040c39mr8194115ejc.0.1711536741049; Wed, 27 Mar 2024 03:52:21 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o12-20020a1709061d4c00b00a46e2b74eabsi4668631ejh.58.2024.03.27.03.52.20; Wed, 27 Mar 2024 03:52:21 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EA91068D651; Wed, 27 Mar 2024 12:52:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2122.outbound.protection.outlook.com [40.107.20.122]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E4AF568D61D for ; Wed, 27 Mar 2024 12:52:06 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LkPgn2B9AbuXNiqFsUmva0DIWoPdT1vtEuYDZX9vJVdEmLGByfqcxxX8b3TO+O4vKGL+JFLd7Bw3uplwfJ1MzYNWrU0TM45r7pjuSRgajIRjTJYxA3zj6X2rjszrM10lVPhM6cqFil6LmdZzh5nGIdoV33hDqyNWQTl2ezWM3fIOwE5Z4a98L+mWwS0v+rlmYZW3BsbFw1nLMxzv9wN+ZHapQZ0Z+DkqmUrMKM8y2DvAIJDabiwV62cHjm+p/SER0wHZLHPsPOzQ2Gh+kD1euSepOrWxBmaRd6ogCduZRwDYQWkxY8VNrKNEEPLfjJ/lXPHfXxGVtpDtDaE27YaPpg== 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=DeLXDfTcvyzCQTwczw8Spk1ih0za/GGqwZdZjSBE+ik=; b=DvDAqvReHNjeYqzbnYTN7QVzkQoIe6Y68d59mEKcwg7vT9o4TKh8RuP6sf40KdNr7bIEzZ9K88Wc0BGk1DUGedfOiRF8tQYVGfPxx1UpUIoxjiOKBBRwSVDvVzoqcOeUEu8iWLozMDa5puTUaiBdZnAOvt7hXuOUnQfVNDo0niXSQbhoB6f2t1zZMJihBl9n/9AdAf9UY1HXRND8aYTNQpvGCF5Umn1CDe8Ob4TLkzYvIv0Oaortg5mz84KfZRu4Uf4zlhZL5uuklGCdjXIcDKKl2F5ZIfpPEjtQtJg6lK+cpUUrlpsLnr5/xCGpAcjccxwSpOmmVmFwgn/tsEJsTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=noa-archive.com; dmarc=pass action=none header.from=noa-archive.com; dkim=pass header.d=noa-archive.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=noa-archive.com; Received: from DB4PR09MB5847.eurprd09.prod.outlook.com (2603:10a6:10:38d::8) by AM7PR09MB3799.eurprd09.prod.outlook.com (2603:10a6:20b:de::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Wed, 27 Mar 2024 10:51:58 +0000 Received: from DB4PR09MB5847.eurprd09.prod.outlook.com ([fe80::2a3e:8641:1f40:c79]) by DB4PR09MB5847.eurprd09.prod.outlook.com ([fe80::2a3e:8641:1f40:c79%5]) with mapi id 15.20.7409.031; Wed, 27 Mar 2024 10:51:58 +0000 From: Tobias Rapp To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 11:51:31 +0100 Message-Id: <1711536691-15749-2-git-send-email-t.rapp@noa-archive.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1711536691-15749-1-git-send-email-t.rapp@noa-archive.com> References: <1711536691-15749-1-git-send-email-t.rapp@noa-archive.com> X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::17) To DB4PR09MB5847.eurprd09.prod.outlook.com (2603:10a6:10:38d::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB4PR09MB5847:EE_|AM7PR09MB3799:EE_ X-MS-Office365-Filtering-Correlation-Id: 014f4895-529d-43fd-6b9c-08dc4e4bec75 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zG5oMfoYkdIffA6wnWtzEBScbs9+N6NyXTTPL0RckyAIcYckwjige4okerDSmgjx5PdcgKSCD6qO5E3lSOu70MsO6DE7IXjN6hwZAUkr4eNLBd5xSFzxzEHGx/hOn1eiJ22Rerlcpmj4oUkp1uN7/Ecyaa4Rqk8VTE/udzr6l4RQ+TRi4QLjjL0pQIh4x9fFp0kmH8+rjd8pD5GoCHmPVpBZVO9P7q+M3sSxZki1HjJFOcEyfUTPipeQDNTKsuFAxrLYnSSqJ8Ok7SY0kx0sX1wvpXmIhkiY1Zf3U9xGd28IXpiH5ERbYJkhKxJIEBVuMVsTQATwRvZ0h2gl1xBC1eiczqtFPPchL1/Tt/ETS8K+WbW8qBaWrswM1j4zHWyrgHJlNdaDjmzTFfRJcIk9RqoUkAbWQ/IPXPESL3jzWrYu0aQDMuS0X8AqMW6gSqcPQ6eWVQCWkoaMLEAwyPvP8vNbITu6UddIairyZDmzZ9zTNl0o5P0c04vzGU14Leky+Dil/nYmA9oL2517JoDc0idhKRpAOb73ZsTaQc9DOPAxS2U/c7Kxrdev/7KFaPxT0ENyf1aNCIFGvDIlNUwHDWBAsT0kIhk8nHGXXQ29/YrLXUdh7LN72lwOsksVDOA+Cm9AOGuHc5SJytdnmkBt5FHR/mfhfQRxNmMEYDWhVNSGVKJB6yxWlnJlPmHVzeYO8RXlPN5Ns21d2ufbcvi2w1g0355qJM2akKvHi49qasA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB4PR09MB5847.eurprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lpiLkVbh/vdsWpox+s1eIM8gbCFur2QuutHYP5wPAFR+KgaKO0RgJvqT0JP9Vgqp+SNsS0NcyNpZ8ZQil+4hK7UGqJgaWuGYBKPAaZg//pgDq12UTUDzfVoRDTBo4DS26m1zeWB3spxIBu2VFXMt12K5S6hhEZ2/ruOa4A65O4aB3grpPaZNV5rwtkNTzpXqh9qVw3ML/+jinlFk6/Ypr9XkppeYxulY4jy/6Hf9PvgqMjE2ScwgZFX+L4NQqpTXJaQ/T7+zjmMi82XNfekpWL4ZHmx9waDBFMhMtWscWY7uEMK98W0NmeEOTG2hHYY5lDLF6FFXGMv+iuTZeW2DVficyV5hKp6LuicnaNU7QMd42oBJ2Qsb6XRBLsj83HlQX9ESnjD47IlRO8KB/2/V/7r3HZJ5p/ZaCiumcTz3+GlPglf1nDEvzIwe+xfyXAnigCcPigjv23Sg79cAMMn6yqHk2rsCh8d/asHU04mbLnxsJ5r5+CGcoMwCrM78/2ubGkBAJDcdCVRKSccC+stySybzDcyNZHOSXaqliBd1SnNbvt+3kWvAJxbtOTS2zn3jk5dxHAAlfUTP/8TWbmGZT6CV+n9ugErOBNZ8Kz6bxfPSrwy/hfe5Czz20bvE2SDsastLqiHSDCjMGdJr+uN2xf0hV/RCRMNdJyMA3xbxllHLe3rie21sngHvrdWjvemB2oXpOsipzx9jeY8gB63zQfo8yaCikzR2qqxgz2wn+TV7ew56Fe8UUFJp0/aQJQp94vdyhJbcLW9ZvFTdCEqUShBas1dYaFNN1EwcpkFEwPwlEgUmYPCcsMXdDFcM7EZBgeaVA0azwvFEMWQFEtl9FQYRyLBEdJTMILLUElsgHUtuyoq9U3gVR4HcmPiJPBeNmUoCax4X22gygMOm8FOwDvvzN0TgRg2U8ovHGYNJ6sEJy40m8YsxsLOVUzaN3PUypUB15C3sR1iZWECcE2ImmLLvJpjweHfwjA4VJhVC/Lb3yPv5/jGPB/4f4aYGJyVs/adBYSPkGU4xlx1SrNPjcz9nyoMwaOrZm/ClPGBH+XJnNldgt2/IsxiL3Eds14v/LavFaiVaMQMZPAshqwKzJlDns6tBgwZgLxwhICvAkkC0SY7bywxkjPYzwWu+cpB+fgi2mOzgCt9U9R2g0LQSxEWRXLEyfsY8mG0T9n5iZn82H0erhUhMtEcErP3OU+Ik5SISJSlc/f8BNsxPpIt1PKAdjDO9SMon7CtGNvBqf/XTZb3cM9cVcB4BdEwIz9AgOyw2gfkmSvzLtEBUA0YIRo8M8+IMItUgCvWghKBnQ59VbAIo4misgH4MRwS4F6K/F/iex1+x/B6+ct7PhrLjv1qS/Daz1lSFXaHx/qhwA1C3E3hEx+VbrvnXiyQM8+kBKrg4oY7oPnbTnACT4ziWXEdqd5LfunCZysR4adEXm+5DIm2iMby9voA8VXY4hrLhIwvvKz1HT2qimW9XaRakpkHX+zkjzZs5eHTJE6+XMaWbc+ruFxfZafKplf9vXIWcTbaKI6c6TF7VKH126/QektsV2Y3WyCeipcaXknApXpS3vYfh3UbYEMyJzUsbPdH8beye78l3PiHJRhr1zddqvw== X-OriginatorOrg: noa-archive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 014f4895-529d-43fd-6b9c-08dc4e4bec75 X-MS-Exchange-CrossTenant-AuthSource: DB4PR09MB5847.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 10:51:57.7325 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a676c8d7-7f39-4c99-a306-48abb76a98e9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FXiTv8cGQhqsRddY2VKYDnqH4HE67Zs09f9l7xQHtzdksFMIj2niHYNAMpFz6ceE/I94To9lLnUJ7vlmOwX2hA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR09MB3799 Subject: [FFmpeg-devel] [PATCH 2/2] examples/decode_filter_video: Add loop for draining the filtergraph 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: VniihhIn+hpD Depending on the filters used the filtergraph can produce trailing data after feeding it the last input frame. Update the example to include the necessary loop for draining the filtergrap. Signed-off-by: Tobias Rapp --- doc/examples/decode_filter_video.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/examples/decode_filter_video.c b/doc/examples/decode_filter_video.c index 454c192..a57e6df 100644 --- a/doc/examples/decode_filter_video.c +++ b/doc/examples/decode_filter_video.c @@ -276,6 +276,25 @@ int main(int argc, char **argv) } av_packet_unref(packet); } + if (ret == AVERROR_EOF) { + /* signal EOF to the filtergraph */ + if (av_buffersrc_add_frame_flags(buffersrc_ctx, NULL, 0) < 0) { + av_log(NULL, AV_LOG_ERROR, "Error while closing the filtergraph\n"); + goto end; + } + + /* pull remaining frames from the filtergraph */ + while (1) { + ret = av_buffersink_get_frame(buffersink_ctx, filt_frame); + if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) + break; + if (ret < 0) + goto end; + display_frame(filt_frame, buffersink_ctx->inputs[0]->time_base); + av_frame_unref(filt_frame); + } + } + end: avfilter_graph_free(&filter_graph); avcodec_free_context(&dec_ctx);