From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 0EE584BB1C for ; Tue, 30 Dec 2025 09:53:11 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'BfrEnEellD2CjWYl+/gLC96zO/d8i/Z16EU+T3Lf2zg=', expected b'GLQzGF46H88wUp2wYS82pR4YMIJSnCUSUt80KCeMOhc=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1767088376; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=BfrEnEellD2CjWYl+/gLC96zO/d8i/Z16EU+T3Lf2zg=; b=PyR8Mcx4HcpjH1gkj/9MGEZGud23vjvRmVhDZF1b5HpFpxX4gJPlA/5gGsuwDl/gNWO8t qJbxIAOUmtaxRLi1TdjczdUdIBgu3SMhDIOSSRLMEcSHbR0VXI/A6ih3YXTP64Vkkeip4Og GpB5UdSfKzp+R5aic6kce4iUregqGmjV7OEk8yYXOVISCIydNL6mcp6XPb/dU9qu8UHPNft 77ufnCzy+DWYzb2+AIRWCqQvItFnxI0Nwz/hBCBh41l4tOLz0DI7X5cL21cGEmIlQ/xNYmN +DGI66v2DPPE+YUSuqLGYRBDicyr4suSaeofpNuCh6/C21jrMxgHUxJzOKrA== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 5072D690C0E; Tue, 30 Dec 2025 11:52:56 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1767088360; b=lbKlXQ0iNYh3hmL6XnsPp/EXbwDuWo/4OZRAlyP7qFuk0Z/zciz98FR0EUfnfRrt3SNmS FkORvZd9kn6q7tTJGKDrZaLSfBPvuTnjY4O+eb/99Oeo3LlV8SL78583P7JtekXp+05DdFx BfwAUr4Fu38LiIj1rlR/VW9xcmQyxOnwx32rJZe0AtJ9dZhFxV42yHO+ayjJHxdaIMF/8iJ uC8kp9j1EDKKCUNmxdU52bd4ffohXAp43VfH27jardVcXweE/6lqdluJhCd/rllFeVhhRBd LiswP4IP5xipkU5y7O0AkWU6QcE9b0bsTVoSpJhz/WeDND1pDr5TkEpeRoxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1767088360; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=6s5v+C0aPeK/8LVksdTiDkhQOStGpY9YDWkFgxew2B4=; b=iVKFMJy27nCFPZNDPemf/s4sP+d79StUQ1Qlhx1ru+g5xewL8cIxrocV04CDN+BN4PEdo KWs/7uch9p1w5t0iEMtK6kFJRRwUkLwiBYcUc5lcqWNQokaLqoGeT54e8i/gg2X/0EMPT0Y HXaRREgsHCSRhnatO6LtRAImluKcAUCiywFVzZGc1yJtpwCE5bmK/FaLtZwCSqOSYIQonpX hXwnjSh0wfmSp/DijBZT5QwpP/cUNiBqlwKfLDJitJ6BXBAd8gN71qAoA51Lr16dTb0iSx4 OddQH/1K4So2gES1AG/8p1xfd9LCIIUPhE/uZYzxH/fFDQ2pn2s5WMqEa8kg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1767088352; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=GLQzGF46H88wUp2wYS82pR4YMIJSnCUSUt80KCeMOhc=; b=42LX9mpJOi6vh8UUoouS1i3bw9G7ZcIu/TgPtE5fWQm33CV4q37RwAHusKkRDVdZM18xm U5q0kq0C/tpsHPnpO/p8MZbbaGUygbguNFe+Rr4nEf6L9FdrGWEvfgL3Qa5rmlyTrKs0aQh AnyBOO7s9ZcBwigVob221L6DpsBfKt/ruD66APp67bGhpnaPRfpkSUTiNAnVcKdl3Vxu+qF d/X9owS6kWW1sCSh3y+6S5bpOrxOZ3RzVsEYVngtwgfQ64VTVU81YITUa1WayG852ALxNKs vG8lLTGK0nbWcjeO+EQvtRy2RtG0i8bo/ubJF9GeC7LLAeToFQAF3f4H7EEA== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3B5CC690B7B for ; Tue, 30 Dec 2025 11:52:32 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 30 Dec 2025 09:52:31 -0000 Message-ID: <176708835240.25.15882030805044540504@4457048688e7> Message-ID-Hash: 7AZZWX4PIFDKIULSXGTIFTN7DXVCGNDU X-Message-ID-Hash: 7AZZWX4PIFDKIULSXGTIFTN7DXVCGNDU X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avfilter/src_movie: fix support multiple frames per packet (PR #21318) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: ngaullier via ffmpeg-devel Cc: ngaullier Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21318 opened by ngaullier URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21318 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21318.patch Fixes #20827. Signed-off-by: Nicolas Gaullier >>From 26ac8a2c0719c3cc60e9d965b6021a314e219e24 Mon Sep 17 00:00:00 2001 From: Nicolas Gaullier Date: Mon, 29 Dec 2025 18:51:01 +0100 Subject: [PATCH] avfilter/src_movie: fix support multiple frames per packet Fixes #20827. Signed-off-by: Nicolas Gaullier --- libavfilter/src_movie.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index adb21e019e..ae2e74c1b6 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -519,7 +519,7 @@ static int decode_packet(AVFilterContext *ctx, int i) AVCodecContext *dec = movie->st[i].codec_ctx; AVFrame *frame = movie->st[i].frame; AVPacket *pkt = movie->pkt; - int ret = 0; + int ret = 0, has_frame = 0; // submit the packet to the decoder if (!movie->eof) { @@ -529,15 +529,16 @@ static int decode_packet(AVFilterContext *ctx, int i) } // get all the available frames from the decoder - if (ret >= 0) { + while (ret >= 0) { ret = avcodec_receive_frame(dec, frame); if (ret < 0) { // those two return values are special and mean there is no output // frame available, but there were no errors during decoding if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) - return 0; + return has_frame; return ret; } + has_frame |= 1; frame->pts = frame->best_effort_timestamp; if (frame->pts != AV_NOPTS_VALUE) { @@ -558,8 +559,6 @@ static int decode_packet(AVFilterContext *ctx, int i) ret = ff_filter_frame(outlink, av_frame_clone(frame)); if (ret < 0) return ret; - if (ret == 0) - return 1; } return 0; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org