From patchwork Mon Jul 26 21:00:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 29059 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp4122349ios; Mon, 26 Jul 2021 14:09:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2syeNYHJbqoOZuOMyr0BOwk5grZ2ehQo+zb27iFyOix3w4h2DZYc6FLNvYwqC+rINNFGi X-Received: by 2002:a17:906:6046:: with SMTP id p6mr15336471ejj.344.1627333764421; Mon, 26 Jul 2021 14:09:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627333764; cv=none; d=google.com; s=arc-20160816; b=qIav8wm65EPLiLz7Pp/WoYw+slZM8mo6S+KYP3w1cbxiRLtRiBoZg+5Dro3R8u+nV5 c/qIqsspIVoBjGaTqssuAis4Bfa0jcE82D+j07VH+7knSu9YtdRB/DxvGFJ6gSZdMHjH fwo6WaT+z08B1Vw3kQPRqFR82ELDPpiGzcZfISPyH7SzmisFH7eeCBOCpA/sG6seeqsr 8Llg/k9wlRUqILx8V4006uIK7ch+2g+5/6+gkrTOCQWFSYYkeFEOkzRi5NhmblSLf0QA unn3ULGaJAABcla7OmPwActk6nEfBlqxuQ7rta3q9ExdWY9+xbCPKIGI4OaQSRS0mHXu tY8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to; bh=kmoR6/v2eJ8qcB828H5Lx73gH+rqbFLTsL8rJcO4J+E=; b=l6OOGxrR35KwarOYcPxTNBy/t4PlUEFRu8PSSqCXnY9I6o02+cBmfhVvzZ+9iVHivN Wp2VdR1RE/wSRrCCk/TOYxNga+d2zSUmRMGY9oFjfsQKQ684ZBgE6WPjZV0KkGNHHReQ UZWZ1nK5y6X2/bVLoLHZxzNIgxGH4fbu4TxVZZQ2Q4l8B5bfn3bKooAfxp6M/gjlONoH bQ577B63CjQ+6UlXNfEfZ1D4S3uo8EcX0deqtjTAs5EUbGxlnV02U/MXDl4p3awm64Ha mDGR6vYTf9os7DRicjwhV5E9DP96bGKTXf3fA8dK9GbVBNmShxJ6Bs1ijIccamYH+kE1 3G9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Q6t2jsAg; 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 jg9si874925ejc.230.2021.07.26.14.09.23; Mon, 26 Jul 2021 14:09:24 -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=@gmail.com header.s=20161025 header.b=Q6t2jsAg; 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 78621689BDB; Tue, 27 Jul 2021 00:09:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F6F86880BA for ; Tue, 27 Jul 2021 00:09:14 +0300 (EEST) Received: by mail-ej1-f41.google.com with SMTP id gs8so5101406ejc.13 for ; Mon, 26 Jul 2021 14:09:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=oWnrZE+SrDrPJK0Zl7Y+nJUUoKQMLmwtGeXO3lQOP0Y=; b=Q6t2jsAg5REzYqrZNK+YLI/ID6YyIydMZ4RGsrX1ji5XnWjbTS69g5qZipUDnmKqV1 xopdZFaeO7ZItRlU8snVo25W8ettJXUec7MzHdulvlLR5yAOawmJYc/3WnYxOnNHhoTY HLl1o55Fps4cxOnibt/X646tC3j8NF++PEoaqllcWSZT0aNA2sA3i8mVz7eQ/ePzh5h8 5rWDo6IDiYNEHQZ+GjkVHib3bZHNJOh5gw590LjDB0inWXIGgJsU5dHYvJ357ov3YIlu CtHmR2aXZrWmGIbE2sPuNIiFt/CpK5bHky1qMBOCUf5NEP0Fbxfa/SUphKvjt4TONQCC T7nw== 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; bh=oWnrZE+SrDrPJK0Zl7Y+nJUUoKQMLmwtGeXO3lQOP0Y=; b=k89RkYw9x3Kv6eTUSHitGoJbE+hgJbhzenPxRku71W396UbSEgtSPejsChaTCDpTbS rN/YDNh3ukDQM+rkq5q70wifWzJ9oU1mHTxnsDBDqxhtoME7SjHdLuiXYMXCFoTSUYWa 8XcDjAiXkwL582UryiwF/7Ktbip6yyWMo6pmLiridUWvy/1oi9Kb0ya8nV4LsKgcrc2T 8PsTB9nlNTln7q25rMdXXRRUyEeVJRdH7ejjgNH+IMf98KYXLDSsFztYbEknmg7SATtv pVVcNiD9FX/aNuEWlgkjDP8naOakGDzanKqkx/LpZuOhc6+EzFeBjkH4fd0AlnIoeUX4 mgDA== X-Gm-Message-State: AOAM532qRC6uRQwnYR1W8nvTJdsuuM4TzV4TMcKcXlf9IW2kazWMHNrp v2zhnH67msWTJJ1KbgbqnzvV8neMXu0= X-Received: by 2002:a17:906:b53:: with SMTP id v19mr18178295ejg.262.1627333262287; Mon, 26 Jul 2021 14:01:02 -0700 (PDT) Received: from localhost.localdomain ([95.168.118.78]) by smtp.gmail.com with ESMTPSA id df14sm154264edb.90.2021.07.26.14.01.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jul 2021 14:01:01 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Mon, 26 Jul 2021 23:00:51 +0200 Message-Id: <20210726210051.30111-1-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] avfilter/avf_concat: fix EOF timestamp 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qSGblukwnvTs Signed-off-by: Paul B Mahol --- libavfilter/avf_concat.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavfilter/avf_concat.c b/libavfilter/avf_concat.c index cb46f52a04..f7d3889dfa 100644 --- a/libavfilter/avf_concat.c +++ b/libavfilter/avf_concat.c @@ -397,12 +397,16 @@ static int activate(AVFilterContext *ctx) /* Forward status change */ if (cat->cur_idx < ctx->nb_inputs) { for (i = 0; i < ctx->nb_outputs; i++) { - ret = ff_inlink_acknowledge_status(ctx->inputs[cat->cur_idx + i], &status, &pts); + AVFilterLink *inlink = ctx->inputs[cat->cur_idx + i]; + + ret = ff_inlink_acknowledge_status(inlink, &status, &pts); /* TODO use pts */ if (ret > 0) { close_input(ctx, cat->cur_idx + i); if (cat->cur_idx + ctx->nb_outputs >= ctx->nb_inputs) { - ff_outlink_set_status(ctx->outputs[i], status, pts); + ff_outlink_set_status(ctx->outputs[i], status, + cat->delta_ts + av_rescale_q(pts, inlink->time_base, + ctx->outputs[i]->time_base)); } if (!cat->nb_in_active) { ret = flush_segment(ctx);