From patchwork Wed Jun 14 16:48:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 42078 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c526:b0:117:ac03:c9de with SMTP id gm38csp191649pzb; Wed, 14 Jun 2023 09:52:42 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ65nRKa/XKVLnt58lnQqgQCUliv9MfOeK0CglwSRjP/if/pYw19+KnxMKLg5cEkSBXjFQ0l X-Received: by 2002:a05:6402:7ca:b0:514:945c:6cea with SMTP id u10-20020a05640207ca00b00514945c6ceamr9649676edy.37.1686761561959; Wed, 14 Jun 2023 09:52:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686761561; cv=none; d=google.com; s=arc-20160816; b=zEmDfu1xyWce4SntEuXiLw2IJn1nDZkWVQ6QKnJjF02TlslpXpaGiagt2O0qAHhbuf uvVb/h0k7BXtSPmRWxABwxOKbFGj0HU+wliGUTR3OIy+KHtT/JP38xXzTNXO+5Q91onv 5yESdqyFW5dx8dMalw5vUYRrfES75rJCSRkkE+397fdIFjEp2QKyFAIpQfEQNA3QXAI2 ++1WtdYptXzlMMuOy8PWSgD5dOYMP3P7ZqLgGCi4g+jedzoOaSTIsY9ZP2/6XlSZ5sq/ czlmk2O/mE7lRL0pK1wyquuco45nhUvZcxQBsqZO1G44O7qLwpfxHH1E57DKaNhqk3Cq 8LAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=Y9eOo9e3YUoe9fQrljxGAbnGGMxbEeMm6f/k47r8T2k=; b=uIPomiIncEX933f0BjtF9Bgodha9GZkjMSYN7mLpHtyLuCO4vFsn7iI5AAnpKens/u +5AmrgIKwqFMNUBuy4mxJZwn1MWIbaQnaWjhW6PaHG/X7t0GHLj7WMV8DLJPh2ipPyGc WYdoKnm4NGUn6yhRUkAzVwVG/OQPAGfWBROFPUyXxFZyDFyXrUrzYMYjQZezwHZgcT9y LeqQQe88fKAWivUyulIT6iMQvi9W2gi5/HnCYv5sKZRfyGAJKaCLO/GvhW2LwICBzvP9 Ym4DUcTqtn8NCLPs7+0ERlOvd2Lrg+SXl/fQXlq1vWL6kyIoQsj0lXcR+fCg9wjp9ho/ ZEkA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u26-20020aa7d89a000000b0051a1ee87ff2si293126edq.647.2023.06.14.09.52.41; Wed, 14 Jun 2023 09:52:41 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8849368C4F8; Wed, 14 Jun 2023 19:50:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 475AC68C4B3 for ; Wed, 14 Jun 2023 19:50:00 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 44CED240591 for ; Wed, 14 Jun 2023 18:49:57 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id IPDCf9Vn9Z1r for ; Wed, 14 Jun 2023 18:49:55 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id C41092404F8 for ; Wed, 14 Jun 2023 18:49:53 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 59CB83A058B for ; Wed, 14 Jun 2023 18:49:47 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 Jun 2023 18:48:52 +0200 Message-Id: <20230614164908.28712-5-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614164908.28712-1-anton@khirnov.net> References: <20230614164908.28712-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/21] fftools/ffmpeg_demux: move the loop out of add_input_streams() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: GInXx9cYMjvk Make the function process just one input stream at a time and save an indentation level. Also rename it to ist_add() to be consistent with an analogous function in ffmpeg_mux_init. --- fftools/ffmpeg_demux.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 5e5f106368..ea407d1f28 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -1032,15 +1032,9 @@ static DemuxStream *demux_stream_alloc(Demuxer *d, AVStream *st) return ds; } -/* Add all the streams from the given input file to the demuxer */ -static void add_input_streams(const OptionsContext *o, Demuxer *d) +static void ist_add(const OptionsContext *o, Demuxer *d, AVStream *st) { - InputFile *f = &d->f; - AVFormatContext *ic = f->ctx; - int i, ret; - - for (i = 0; i < ic->nb_streams; i++) { - AVStream *st = ic->streams[i]; + AVFormatContext *ic = d->f.ctx; AVCodecParameters *par = st->codecpar; DemuxStream *ds; InputStream *ist; @@ -1053,6 +1047,7 @@ static void add_input_streams(const OptionsContext *o, Demuxer *d) const AVClass *cc = avcodec_get_class(); const AVOption *discard_opt = av_opt_find(&cc, "skip_frame", NULL, 0, AV_OPT_SEARCH_FAKE_OBJ); + int ret; ds = demux_stream_alloc(d, st); ist = &ds->ist; @@ -1265,7 +1260,6 @@ static void add_input_streams(const OptionsContext *o, Demuxer *d) } ist->codec_desc = avcodec_descriptor_get(ist->par->codec_id); - } } static void dump_attachment(InputStream *ist, const char *filename) @@ -1580,7 +1574,9 @@ int ifile_open(const OptionsContext *o, const char *filename) d->thread_queue_size = o->thread_queue_size; - add_input_streams(o, d); + /* Add all the streams from the given input file to the demuxer */ + for (int i = 0; i < ic->nb_streams; i++) + ist_add(o, d, ic->streams[i]); /* dump the file content */ av_dump_format(ic, f->index, filename, 0);