From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B35BF4E058 for ; Fri, 6 Jun 2025 10:00:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 2551768C59E; Fri, 6 Jun 2025 13:00:53 +0300 (EEST) Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 511DF68C21E for ; Fri, 6 Jun 2025 13:00:47 +0300 (EEST) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-710f39f5cb9so10347877b3.3 for ; Fri, 06 Jun 2025 03:00:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749204046; x=1749808846; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UD3HWUpkmBW/ON8nqMPhZ+ps/2UxWl1O99gGVco/VCc=; b=tKsoGF2lDgw6d5KXkq7mW69s8i4rvfi48j0g85TL+ToqtX8CuHiAcCxw2CooHo7j92 qN8K3cDV+Hu3HBbJo/8XMTRmpmB9GdcpxbId+Z6HfeiyilXZMVCdz8LF8sOp0uEFTAfd RdlFXT5OLj/LhFeeCY5a0LcZZDD/DW2ZoirgnXi0hRfFF98mxn+3bHd1cUTBXL1qMjrl eXIicv+r5dJxrASZGtZLcs/LBPfWFA1195pbrJJLj5F26aBF17LUMPsereTLnJ/aeyuS ZqKtIbUdw8uRyLAlItn2yqBY/GyndfQ+vyYUUItBlQaIDXlnmYt2vHc/od2TFpCw6xN0 W8DQ== X-Gm-Message-State: AOJu0Yx6+J27FI//y261V2JhCOtIRFUzDLTTLpjYhZ8nNdlCQflgYUcd XNmri5dxiXCNd+NfRjaK8YRpE9zn50bQptLsOKm9MrWzO/FuhmI6auNHLAiOUTMULLzlGiUKXFB Xf39lX6NZeXnt2QsI373rxeTEzEQ1JTFcYQ== X-Gm-Gg: ASbGncuHQXnkjhZkA/m+LcRa3f6r8jM1cgVILcSfTNZ9mE8ALV7Ex91ykZKRImOhRIZ xLJXnoE4NkUBWWpVSm9bC+HD2NFtVT9eQ5KJ3Hau0rNuNL2XD8Rp7wN7aFXDgrAQWtjObedeqMf Dm51cqhGHJcMsmbvelKEstzNl4+tF7lAxc X-Google-Smtp-Source: AGHT+IGI6OfjOXC5Ix+DZbCyAGHvE8zQdDrzEXMWI45IhbBWndHGW449MF+5cGaqqx/fu3Rf2pQQv0b6Tnzm95Atd3Q= X-Received: by 2002:a05:690c:4d49:b0:70c:b882:305 with SMTP id 00721157ae682-710f7786d38mr36818587b3.36.1749204045570; Fri, 06 Jun 2025 03:00:45 -0700 (PDT) MIME-Version: 1.0 References: <20250606095109.GX29660@pb2> In-Reply-To: <20250606095109.GX29660@pb2> Date: Fri, 6 Jun 2025 11:00:35 +0100 X-Gm-Features: AX0GCFvovxsUFvepwWNH7bWm2J_f6IkZJbIR2vGfPnQ4onz5ZXb_R_Y7XNyyeC8 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avformat/format: make experimental flag works for muxer 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: , From: Kieran Kunhya via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Kieran Kunhya 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 Fri, 6 Jun 2025, 10:51 Michael Niedermayer, wrote: > On Fri, Jun 06, 2025 at 12:06:34AM +0800, Zhao Zhili wrote: > > From: Zhao Zhili > > > > --- > > libavformat/avformat.h | 3 +-- > > libavformat/format.c | 2 ++ > > 2 files changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/libavformat/avformat.h b/libavformat/avformat.h > > index 2034d2aecc..6edcf11022 100644 > > --- a/libavformat/avformat.h > > +++ b/libavformat/avformat.h > > @@ -470,8 +470,7 @@ typedef struct AVProbeData { > > /** > > * The muxer/demuxer is experimental and should be used with caution. > > * > > - * - demuxers: will not be selected automatically by probing, must be > specified > > - * explicitly. > > + * Will not be selected automatically, must be specified explicitly. > > */ > > #define AVFMT_EXPERIMENTAL 0x0004 > > #define AVFMT_SHOW_IDS 0x0008 /**< Show format stream IDs numbers. > */ > > diff --git a/libavformat/format.c b/libavformat/format.c > > index 71018ea6ab..516925e7e4 100644 > > --- a/libavformat/format.c > > +++ b/libavformat/format.c > > @@ -95,6 +95,8 @@ const AVOutputFormat *av_guess_format(const char > *short_name, const char *filena > > /* Find the proper file type. */ > > score_max = 0; > > while ((fmt = av_muxer_iterate(&i))) { > > + if (fmt->flags & AVFMT_EXPERIMENTAL && !short_name) > > + continue; > > what does AVFMT_EXPERIMENTAL mean for a muxer ? > > * a muxer could generate invalid, non compliant data > * a muxer could be insecure and exploitable > * a muxer could lack some feature (iam sure most muxers in most projects > lack some feature) > > I think the first 2 are reasons to use this flag > In the case of WebRTC it's 3. The user would expect it to work over the internet (*Web*RTC after all) but it lacks NACK support so cannot recover from any packet loss. Without the experimental flag FFmpeg will get support tickets raised and claims it is inferior to other implementations. Users will not be aware of the lack of missing feature otherwise. So it may be compliant on paper but it's not usable in the real world. Kieran _______________________________________________ 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".