From patchwork Fri Apr 21 16:58:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 41286 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp1142247pzb; Fri, 21 Apr 2023 01:58:34 -0700 (PDT) X-Google-Smtp-Source: AKy350Yp3ngDN3HzBpZAoG3nkE08HquXIbB/ApbTuGs4K6aCZb363Kg3h2drDedtnnkSEdcmDGqn X-Received: by 2002:aa7:c689:0:b0:504:9a5a:7c93 with SMTP id n9-20020aa7c689000000b005049a5a7c93mr3491781edq.24.1682067514018; Fri, 21 Apr 2023 01:58:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682067514; cv=none; d=google.com; s=arc-20160816; b=kxj2IFpifgNTP9RJLRJA71Ml26lRroRYIhfkP2w31JVzKP3lb1cFJpA6zR7lcXTn7S tVD4oBRy37e8O0afVeIOE6vWjFryB+GE39qRmQzpMxeIklVyj/xCeiyRFlGbdZFpJ1qu ftql6abj7YCdEaPEPlkstsBbThT+C7RLLx5cSeFTXhst+/nK7MZ+ZQJk1UAaLt5ObI3k LSI8gcUzQeJ7B0xxOVnlNxtawOz3958v4DygcDI4jYpPFTBffr5g0O1pr1TSbCY5FZkq ToDCZTCU1A9G585FQcd0xbpNYep1FCSCHjEwWw0PHkWqaksfoq4bqtPEfuEcd/GkrQQ2 5BEQ== 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:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=J1LSdm68lMi1E+GY18iqjIQ0A8g4WFHoaAd1pGLY5Mw=; b=z+TZwlGKh1SpyKCR2Wff178gpdpSm5FhSu1pOHpx9LuP75+le+gU+PT0tIDdMTjk4a zU/sLIb8TAfW1FQsAbW5u24W743qBIhbnLZdpjXmksVm1aSiA95UcO9Hg1kB6FJTCSsV T+DCPw5ljrE2JelWIcXfk3yw5wFqWsXrZuw9W3Aj/p5JEMiCxd0WsrzSeYdowHKDzu9M THFgE+XaRzx+flXNv1Q05TqK3LbjAw7JjlqypiTo6xg2O2LlRC19VYi0Q1ImfuRtU6Ch Vm8PNLLwam1fuS+GrhbG7+2Y9YoKMOYGKBnYWzBmKGl2Ws7mrEqYpDaaWiAeAF9ENAkF DPyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=UrgegCKn; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f17-20020a056402005100b00504806b0ff0si3205582edu.127.2023.04.21.01.58.33; Fri, 21 Apr 2023 01:58:33 -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; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=UrgegCKn; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3624268BF4C; Fri, 21 Apr 2023 11:58:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-49.mail.qq.com (out162-62-57-49.mail.qq.com [162.62.57.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 91A2F68BC19 for ; Fri, 21 Apr 2023 11:58:21 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1682067492; bh=fILvbz45Tosd/Pj8/ifLJ+xolZIyv4dsv8544JlrH4I=; h=From:To:Cc:Subject:Date; b=UrgegCKndbpXxch4/jvarGoncyBC5MSM/ET0q94ScrrMsOju540KQFfMl+IuiFD/g ESnztEoLXs1jEKOiLPJHNycdyiXunwK1rDQ1X22SPIOSqPBHcewxujd3KonWPVUYnO HTiWg9jCLqKsTzc/ciJUE+vJg37LU56+9whPnZzg= Received: from localhost.localdomain ([113.108.77.73]) by newxmesmtplogicsvrszc2-0.qq.com (NewEsmtp) with SMTP id E8B23AC7; Fri, 21 Apr 2023 16:58:11 +0800 X-QQ-mid: xmsmtpt1682067491tyq3k44pb Message-ID: X-QQ-XMAILINFO: MziGzrjZeogZoqN0QkxWTMtM5PjIZF7Qv+vbICuQRYAMibpEhhOC9ZakC5/EeM k0WNUrMDMTqOvS/bousGlTCnZJYw5vF8ODEc4DTB6Rf/kCYnQBFxH+7oXGIcSDWNwfdG6F1yELzO oLDxnxUbmuZ2Xs4LYnk4XvlwMLIo9Z0eMl5rUB44aECo2e/xjh3LttAX9rzq5Leh5QwuT5Akb4ZX oH+P4tuKitK9/IgKUAsQMeWvXHg5GyX9PBYZb+ISofzW4Oi4BFLtDqlE0pn7X4ZyijNJLyhk9Tix 2qFwVEvP1KOq9Z2NBheA0hQX5r2LEcxMcos5c+EsuvIGY4bYgbB7W92gQRwo1QK1qAbJ4zP1z/tx QMxsvH31zHPFEnFgGarSPwkNZ5YC/Cs1rE1+wX0egxPZSyUa3H/+wmVNubuOitwoiLzDwuQIz/cg NfHmX1689j2PPiILqCnN7xUKlsx1qqS6yZkkAUR+IfY9gs+j5tvpye55cKUU1ISuutl4WrTm8Duo wXylyh+rPmAFMUrFJZbZEoFn7gdC42/p/2Nil6u+7STiwIpF6AJ02Y2Z997wTiave9Mgc+49B8CE P4Hfg/C2oObG1ERkWUkgKEY+UPf5A5fepSsDqgqg4wsFtQZRSY5e34RpifUQB8q9TM1Tw8VWJG09 2uSOsFdwuqQcZOCJ/uV5eFOpKozLu/Xjxw4G1bMt9AGlpxnLiKbsVxrOkPaYfy3HemUgM9Kuo8Q5 h/DqZX/3wDxT/G+VK15uMkrxdkczXSkcT2jraFremg6DINud8zp6gvC9OzvK3WrVRLdgNiOCL1EH OMnKY9GqIiKbbY9nSxCg6PoOcDfP+k9WymSBJVsx2vMH8a1ENAlvmAeV2A5dAh6Zi2CpMeRPpTBB ioto6UJqBa+Bb3Ut5UlxPQcFLNXPgRZwBnBJ71dPNs2UMoKjqFSip5ydip/oo2HBPX4HoiGm5ekK oWOgzhMf6hxFMUkxWU9Y3PWE/T91ra From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 22 Apr 2023 00:58:09 +0800 X-OQ-MSGID: <20230421165809.295315-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg_mux: fix regression with muxer EOF 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: op4tDC1ImVLa From: Zhao Zhili Regression introduced by b40856. Fix #10327. --- fftools/ffmpeg_mux.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c index a2e8873ad2..b4b4dab8fd 100644 --- a/fftools/ffmpeg_mux.c +++ b/fftools/ffmpeg_mux.c @@ -214,9 +214,14 @@ static void *muxer_thread(void *arg) ost = of->streams[stream_idx]; ret = sync_queue_process(mux, ost, ret < 0 ? NULL : pkt, &stream_eof); av_packet_unref(pkt); - if (ret == AVERROR_EOF && stream_eof) - tq_receive_finish(mux->tq, stream_idx); - else if (ret < 0) { + if (ret == AVERROR_EOF) { + if (stream_eof) { + tq_receive_finish(mux->tq, stream_idx); + } else { + ret = 0; + break; + } + } else if (ret < 0) { av_log(mux, AV_LOG_ERROR, "Error muxing a packet\n"); break; }