From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 0B32C46138 for ; Sun, 7 May 2023 22:47:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D301568C041; Mon, 8 May 2023 01:46:58 +0300 (EEST) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8F8DE68BF9D for ; Mon, 8 May 2023 01:46:52 +0300 (EEST) Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3078c092056so734804f8f.1 for ; Sun, 07 May 2023 15:46:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683499611; x=1686091611; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=V7wg2ts8mceSqnQE+w6nfIg6IaehGBTgRctxADx88FY=; b=XA9KvsElr0jxtB/S6FYUJmUrcLv+3n7gvgfejjDZxMWH13tI2wdto1LtR/bYr8Mfsq 9+uDz977SptPbdQo7eNobJMOaMApkkd75kvUEH/nFroezQbdi1Kbqoh0jTj63rq8UiUD rbIe2ewGZxtCiDmJ5YHatv6VaMXf2RPyvpQSqODeiiiLjxDw4j34rbZ4G0B/YYA+YtKA cZhgRX7GzK+VXXB1yivKF8xnM1wSl5wYbkN1cUhn/XJl6EzNUaLm507Z6RsdKDt39hTY 53r6Hs10bPkJ9ZMFmwhUTH/BkQLhCmf3aOR+214Ltx7EW/sSV3tIw2iEkOM6D32QkkUl ZAyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683499611; x=1686091611; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=V7wg2ts8mceSqnQE+w6nfIg6IaehGBTgRctxADx88FY=; b=EYQ70XEw3L9r0hRwMgnewcTr4m0aDUZlGKNhjY8SlIN5nGkqtXF0zdx7iE2CV06KsW 9YX3PQL+wKT3empsgl2mzXaEMnYcw+iUqDjylXbuxRPhNX3CnGugZcNyWLjgda0KxXQx Lc7de34h/O2drJP1MrtrgdVK/DLtOtqxwqMeYK1ARSs3eDAAfrwUL2aQPcXtQX7znEqi KXBHl3om3qd3Bcg85NqQj9x2932zBHCDR2LyriqXStBkgsty3YiExs8KTc0lHvUBoprm pwUAnV3y4KGqrWTxR8EdBO8IAhYhrRO9jZ/vTALY+311EkuIxiMqTsj96HgZoE+4Zez3 NUNA== X-Gm-Message-State: AC+VfDw8hmXH0ncfWUp23zLCM1nWkloi38kZ6tuH/iiIq7cK+IyVL99/ ewKUGDUoukUSn39+3YH7V+BgoDsOxuOcdA== X-Google-Smtp-Source: ACHHUZ7LwW33QA2Sqfq2oehX+nUFhf/9FYkiXMD05psj3QqkatWg5ZaRh4wUIT/xotxHC5o8Hx5txw== X-Received: by 2002:adf:fe10:0:b0:2d5:39d:514f with SMTP id n16-20020adffe10000000b002d5039d514fmr5489250wrr.65.1683499610938; Sun, 07 May 2023 15:46:50 -0700 (PDT) Received: from mariano ([91.254.67.164]) by smtp.gmail.com with ESMTPSA id l11-20020adfe58b000000b002f22c44e974sm9364380wrm.102.2023.05.07.15.46.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 May 2023 15:46:50 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id 063A7BFB73; Mon, 8 May 2023 00:46:49 +0200 (CEST) Date: Mon, 8 May 2023 00:46:48 +0200 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: <20230507224648.GE4348@mariano> Mail-Followup-To: FFmpeg development discussions and patches References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.13.2 (2019-12-18) Subject: Re: [FFmpeg-devel] [PATCH] avfilter/setpts: add command support 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On date Monday 2023-05-01 22:01:05 +0100, Oleg Afanasyev wrote: > I'm using setpts to generate timelapses with slowdowns in the middle. > Using setpts filter requires complicated expr to handle intervals. This > patch allows commands to change expr and also adds a constant that > provides time of last command applications to allow specifying gradual > changes using difference between time and cmd time. > > ---------------------- > with best regards > Oleg Afanasyev > From a714a0957a57c1d392feca0ba675ba5ac7c875ee Mon Sep 17 00:00:00 2001 > From: Oleg > Date: Sat, 29 Apr 2023 19:56:46 +0100 > Subject: [PATCH] avfilter/setpts: add command support > > Add support for changing expr on the fly. > > Signed-off-by: Oleg > --- > doc/filters.texi | 7 +++++ > libavfilter/setpts.c | 68 +++++++++++++++++++++++++++++++++----------- > 2 files changed, 58 insertions(+), 17 deletions(-) > > diff --git a/doc/filters.texi b/doc/filters.texi > index 50e1682144..fbdb1f8ecf 100644 > diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c > index 5bcc0c2dcf..7b09ce7707 100644 > --- a/libavfilter/setpts.c > +++ b/libavfilter/setpts.c [...] > +static int process_command(AVFilterContext *ctx, const char *cmd, const char *arg, > + char *res, int res_len, int flags) > +{ > + SetPTSContext *setpts = ctx->priv; > + int ret; > + > + ret = ff_filter_process_command(ctx, cmd, arg, res, res_len, flags); > + > + if (ret < 0) > + return ret; > + > + if (!strcmp(cmd, "expr")) { > + av_expr_free(setpts->expr); > + ret = av_expr_parse(&setpts->expr, arg, var_names, NULL, NULL, NULL, NULL, 0, ctx); > + if (ret < 0) { > + av_log(ctx, AV_LOG_ERROR, "Error while parsing expression '%s'\n", arg); > + } what happens in case setpts->expr is freed and this fails? probably it should keep a reference to expr and remove it only in case the new expression was successfully parsed [...] Looks good to me otherwise. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".