From patchwork Sat Apr 6 00:11:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Diego Felix de Souza via ffmpeg-devel X-Patchwork-Id: 12622 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 6961A448CBE for ; Sat, 6 Apr 2019 03:11:27 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 45B7368A8F5; Sat, 6 Apr 2019 03:11:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f201.google.com (mail-qt1-f201.google.com [209.85.160.201]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1345968A8E6 for ; Sat, 6 Apr 2019 03:11:21 +0300 (EEST) Received: by mail-qt1-f201.google.com with SMTP id k13so6843792qtc.23 for ; Fri, 05 Apr 2019 17:11:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=sZ+UC2TtRG13D+tdBqQ5ZQc0FjIen/BnB2jRMhHMRgU=; b=hsUl3S81NDNW9IMzJA7irIkDHrE6UjmQK6rEOHZLxbaFYSzK5vHNK969/R90LwMoew d9Eor+0iwNoYBiNAwYBEhPB96BmtkrEd6ZS3zxN07eAKQV+AXG2dOn/Oys3aGKJHl4XA 7jGpCblN1dIDimZFqFFMJM4dC46uYKMKTvdsahFDyqXsFAflhNANUd/zJ4vXk6a84lCR 6OKloB+dZ4Uc4XLqrO3tYhM/mKRQQsn7jbaafmJW9zTkQA+IiCeDy5hifkcuOBHElTxn 8AjgUlizHKQNe9oY7nat+T6tT4TOjdjz0ngHCzMGJBo32d4ASfUoBO3x2wypM2+XoDsK apLA== X-Gm-Message-State: APjAAAWOIRJQ6xV6yJoyssdr3YYNHbRtv4/nOQ2B5mRZNZDbI3CgMIl8 GlMF294Jvv9KHq8ZRZuUsLB4W0urQ+hUGILabVlyXOFz/7yKhgGyvsoLoi5uG3HWbGzkf/xaYwL x1wuG2Ug9H7DTEbV7AqIDpgfgfmnU5g93RclWA9Q0Nb7OOZ3AZD3aLP535CR1 X-Google-Smtp-Source: APXvYqyNTnm1OjiiC8UARPInLT+LkQxQc9CIvDToJuhmjZyfFv2fahhBPbDiu8OKiFFzj7gaN5T33XKx6w== X-Received: by 2002:ac8:2b82:: with SMTP id m2mr2299641qtm.11.1554509479441; Fri, 05 Apr 2019 17:11:19 -0700 (PDT) Date: Fri, 5 Apr 2019 17:11:15 -0700 Message-Id: <20190406001115.72480-1-nbowe@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.21.0.392.gf8f6787159e-goog To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] avfilter/af_asetnsamples: fix sample queuing. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Nikolas Bowe via ffmpeg-devel From: Diego Felix de Souza via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Nikolas Bowe Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" When asetnsamples uses output samples < input samples, remaining samples build up in the fifo over time. Fix this by marking the filter as ready again if there are enough samples. Regression since ef3babb2c70f564dc1634b3f29c6e35a2b2dc239 --- libavfilter/af_asetnsamples.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c index c60ce3063f..cab02d56f6 100644 --- a/libavfilter/af_asetnsamples.c +++ b/libavfilter/af_asetnsamples.c @@ -67,8 +67,12 @@ static int activate(AVFilterContext *ctx) return ret; if (ret > 0) { - if ((!s->pad || (s->pad && frame->nb_samples == s->nb_out_samples))) - return ff_filter_frame(outlink, frame); + if ((!s->pad || (s->pad && frame->nb_samples == s->nb_out_samples))) { + ret = ff_filter_frame(outlink, frame); + if (ff_framequeue_queued_samples(inlink) >= s->nb_out_samples) + ff_filter_set_ready(ctx, 100); + return ret; + } pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples); if (!pad_frame) {