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 A20344D225 for ; Sat, 31 May 2025 01:44:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 9EC3D68D4B8; Sat, 31 May 2025 04:44:10 +0300 (EEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02olkn2082.outbound.protection.outlook.com [40.92.43.82]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id AF48E68CCC7 for ; Sat, 31 May 2025 04:44:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cGU6PrXWtX+bqlXn9CzwGiH12oJ2XKFnx6gmiJ1AyI05SlJRcmSCHL3dSe3sagOsDIrrZiM1tPhBlKKo7+IJMoWLuTzHqtBp2BA238PFPobpA65llxsh0W/3DfB2jmbfHwofSaA31W7GLKwKzUlMDxdLD0OVr27TR+7EHyu92OiGVH1KFsLSX1MRFaEgpzO9AkWiSodirbNuwY9jnP3COJbFEZBrJdVt3EYtEXHgk5nHyhxuM2r0X0sQ3FHDIStM7FbuBsDmtA84N9qq1cnu/T6rQedutadgJ8wZh/3ZuIbGNfVQPvNSJKCjVLittrfZ9IpoWTOQUVFU3dRHWj+LmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xU20XH5Gd8QhCsyfPNm7hzClwA5fkkk0Sg0lTywsjWY=; b=D14FYacD30bko4AZlmv2F84MP99CVXXOskKwFVTYqPA1zgegxkSEcOZz6EBbSjUTXGd3/MsvI4qT3hgpUuWp5uTatmwr9sPh48kSuD++X8rvl1DUIdBu7JrfiPSftXrpbbSZ9ar+cBRqaIE6rWJ0ICPiM4PhRmDlXNF6mhCGeRWQkfC6powq1cLdJFPNx8BL2GETUxhvjRL0GIh6lod3d3k25cuOrrYpV3bWiuV49ilqTAkQ6RJX3FHd1kQWvLIBOK4Wo2mqPOd/mjKr2R6zjukb12ccvjyfF/XWajwhg7psPu+tDvAEejEPIWuNM4OsRdpgE73aTdR0YCEKqHsCWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xU20XH5Gd8QhCsyfPNm7hzClwA5fkkk0Sg0lTywsjWY=; b=ntuL6PSfT26edxvPKnpC0S3jZ2wBzqWAgfiaAO8jJ2Km36308PpXqp8OCO/WMSScD+mb63wp1A1diNtIktXCUnwOwe24WFwvlM7cuH6TiA0rYh/Z1xqKcRB/9iv7Aj03CCYm3aAJVj44WqX6phYUqIipwvQayd1yrmVjhf2bboRABRuYoNnvUf+9RyFwOmsvXLTfGKfNHZlPPP4lNf3g8vV6ts6MUfVNOvDz9gTGrV43pHnX22aIsEV4/PC2EJxs83p+Gn45vf1c5xzwVqkXzMByhqlFRa7zAk/QgQMzpXp9j/QKEyn+4py6iHFwX4BYpiGZEBe1GiPNJRg4q94Wmw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by PH8P223MB0601.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:1c4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Sat, 31 May 2025 01:44:00 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8769.031; Sat, 31 May 2025 01:44:00 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 2/2] fftools/ffmpeg_filter: make InputFilterPriv and OutputFilterPriv private again Thread-Index: AQHb0EbOKCk3Wt12nkKvgiNogA3SgrPr21Ag Date: Sat, 31 May 2025 01:44:00 +0000 Message-ID: References: <20250529030643.70454-1-jamrial@gmail.com> <20250529030643.70454-2-jamrial@gmail.com> In-Reply-To: <20250529030643.70454-2-jamrial@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|PH8P223MB0601:EE_ x-ms-office365-filtering-correlation-id: 6ea027c9-7d28-431b-3ce5-08dd9fe49dae x-ms-exchange-slblob-mailprops: 9IecXKUgicB0Vgu95vFSoXNdCFmhIzagE7c97Cpf3/iRRJyt7IAck1fI9KfNjbLm2R4iUH3m41HxOXlpEVw0sShTd6CauzvN8p0iblQjQUXlO4oQsJHcyOITIpNfuGrp2GsWoji/7ibFA6a9GWQJY3UAqKI0h7RR5v4NS2zmELYS0qixq5ulKyFp9HkPO9Ub5ducjNke9UWa+ZHhK36yUGAfNH2qQeH84U+ZO9SPAEIx0Dndzrub4KANXfVXqlrgjqr+TISK0Kt8oX1SeHIM+Hx1kIqk/pWXeF52DR77Jsl526wdCVqyz4RBUviKj4g9F/RjhaxKqPvnCmpU8smLgmHa1Xa5D+Cx/Dzmu40zmlJ/naOrKUjh/UllhNLmpGOaZv9/JXV2MgllEUOYLk0zkZExaicanZ2Skxw1aY5+KBjzEkleP0LjjsZUHOiVd1UPwpv4TICKeULjaWAfTmCGE//IXuv+SkAy81fMYRfoL2NFuQ9Tgs64yG7xCCgmA9dySSvOFOrrMlpqDm6H+E56JFgS9esy9VZQXfuIjtpPB20TJlY1n0doH08OzVr5lefzRSK5zu43Y4Fy9Nmfk63zPlotv9OZgGRmICpHTiYnXe3jtRUdUTtVWUf3qryqMlDBliCLetOwSacIo65NTJQ6B8qwtfgLVkGKQUzzkj6vQ2QFxlV8h4DMVczb5aQhrNgyxuCO2r71xungPL3VsgU7UYBMbxXPx+1+KVlfjVwq3Ey0Kd/ZbbYj5Q== x-microsoft-antispam: BCL:0; ARA:14566002|8062599006|461199028|8060799009|7092599006|41001999006|19110799006|15080799009|440099028|3412199025|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?JHAXWIsy/Q4lWhb71Hu/GF7tHxdyid8GgS3xn1x4HNjvCKZUVKUDRqB3Mv4D?= =?us-ascii?Q?AeAUzaVDeOgqxeodqDk8OwC09Ewmu0p1E1+YFU1x2dYc7QnPgaXqjpPRnBp3?= =?us-ascii?Q?XUu8CSafajzkZbXbeZr+1CyM2D+YCuvyLQVu7nAZvf0rOWt/AF12rrwphCRW?= =?us-ascii?Q?PSj32BDyowFWBnv/FJmI+YaSrib9zXVFSjsnPcPffYScCeKJ9QXYd+Q5BFV9?= =?us-ascii?Q?cIQWd41uWL+xS8uzMDs0/nZTBG6cnS/IfIGzCuo5o3Y27GnZve+R443EvkFQ?= =?us-ascii?Q?CBYEIqgss3dAfrhK3Zk+qo482w2HC43vgjzVR+60f5jLqzp1z7AwGsf1OFI2?= =?us-ascii?Q?feOdUxhQ+EYBRuwq5limlou6CddUNGkSwmUCm1F2diE1K1FxyUvTpjfPxbu0?= =?us-ascii?Q?4MkDDEYfURclXq2MBvO2HTw8NhX5MTgZN08j+v3uBWN9FsnVXiIs8gGQYgPb?= =?us-ascii?Q?0kMeHP977yqeJfQlsrgeh+l/Up7AV0kd+k+op4eaoE5Wb/3Z/XFFudczhLH2?= =?us-ascii?Q?l8Um8KVAy6TKqNdtdQLwIgjvXqS5YqQpa6PYFUXVTHDSkqP278hVIyHzBGlQ?= =?us-ascii?Q?JfgJOkDYL87pxt8x8ZuQWdTp1mdRzbU8Y6wtdax+nXHvQoXVKXXDCClsHXIv?= =?us-ascii?Q?I4YdgQJJNYE5c+8DHi+OsnqTyha/i61x73+YgpBWfuiFExzMCUKQ+suMAfL9?= =?us-ascii?Q?2JZLUZ/y7SQruJ2LGiQv/8KxjAOovts4p6wvzf3aiR4IVebPXlbi5B0Yc79p?= =?us-ascii?Q?4UbzMBm9FHEuflJre4HfyczdQee2kyKw1dBQ1Lzm52Xv/jDXoHLbV+GuDtdd?= =?us-ascii?Q?kDlii+uQ08rZ2aw3uw3D2PLNROoWPpqXsHmb1iEMy5WctQZrWMWHTGBNFTqN?= =?us-ascii?Q?rWAYroWSv2s6n1wGm0ndWhTTA3pn9AGnWf65ok+4nqqjtBlXeqWwTCjW1qAs?= =?us-ascii?Q?q8v6UCdRZaX8C61q6Mg3MId5vIMxBbuCgRCw904eSASZykn+pERLmR/rfNgl?= =?us-ascii?Q?Eq7SU/vRSvJFkkDOvz/kvDfAioECsDtFWuZUF4rrCkTP0Gx9FCa37L/WETif?= =?us-ascii?Q?iDV9RuHeKqwBqE1LHoq4QTk7wxWtD+0RZ596ahKte2WoO94mPzaFdrNZ4s1P?= =?us-ascii?Q?gTU71U0IAaSRU4Ig4L+JYBE33CRjzx7u6Q=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?QTv6PgxCEfnKJF2ICyq9J1cerXaYMIy7dBzLzu2nNJltk/a/O++dM5XMQMsg?= =?us-ascii?Q?gHjmK8HHZWCJaiKzz5hc4MYhLooOqctF7o9RLpMDGViqdpQXjwk9NAjz5Y6m?= =?us-ascii?Q?5Xcla5bJ6dHqEq9M6SlULL8yu0hsny+vO/7/0BavkSWedKoVriRqjWk6hfQw?= =?us-ascii?Q?D/FPzZDRkx9TixOtMBkgmVt/PN0cfv7YdrQf24QOldUGS9V01OQTegDfsIZE?= =?us-ascii?Q?Fe0VaR72djmXTDVpWKFt3taOS/v3KxoqA14dm4ROUO8lrGzyyF7jCagpIA0O?= =?us-ascii?Q?HnqHsaBEpL+2fuAwSLLzAv7OyfwGt5S1FoMoc8txv2KP781Hqx/wJWifepeA?= =?us-ascii?Q?PifnoH5+s5NPuShGViZY1dU05OUhWCP8xCaFD/gjoOW3AVwFslRA9iyTpc2E?= =?us-ascii?Q?MzULBcRJlTkAKYZOPi/G193lfhQCUUPMRoDJMU6sr5msgBE690Eb8qa1ytRO?= =?us-ascii?Q?Bme3tzgoT5H8tOOhcFgs97QqrJvKubvCsT7PPlTTVbZnDln0dSI+0AFPhEYK?= =?us-ascii?Q?1LZFqeNYoLomXyeAtIhAh2iLICKpGeVj09naZXywtjclXaGubp3RqqwwPWUp?= =?us-ascii?Q?a26DJZ9wWECf/49s/ZI+UT3HWnpDK1vs8QJViKdATi9answeu0483sDo69DH?= =?us-ascii?Q?a6RUsNNsnp0luptll18UimtXKPlKtadhdQN5ICAzqyb6ubNM/rpv2TfAOSxZ?= =?us-ascii?Q?1bP+9BlLSBgKR4Vjhe2OAey0Y3Dp7yO1CTFPUFilqDoaZvMnQEVY6pIpJyjZ?= =?us-ascii?Q?YbQqGaVDD1QWFssJs3pF+np37yIzPTJR3cLh3l3JD3GhmfrudFBzRCqYwGPx?= =?us-ascii?Q?/4rInEKnOpz6fcD58QyQnJRVmPKWq2WGJlIqrACXeYPrxX6ba3KNYSaratXd?= =?us-ascii?Q?5ewXouCcvSlYswtVMPuKiXvnX72fxOgslVawjBlmZ6JzaS2wKEN7nJp+k225?= =?us-ascii?Q?CDFkFiTbDr4tk819frrfIzqzEdg0Zmn1K84xteQ4kPd7gvIrrDyBnCEpXbMX?= =?us-ascii?Q?rtPy5o3EwdXjpRJ5wfBOLgcdZ5OyhQPA/f2Q2OPIXkJon3imoZQEXmc+RKnM?= =?us-ascii?Q?uRLOkvqefg9wLdKQwNUCXYTuuaiV42GQFyTA1bPEB4LPLnyxdOTd/8VkRFP0?= =?us-ascii?Q?B5c52k+nPx5dW8WqAPCZbh4YRx02eBhqKlYZ8nmWXBM40PHpj7IUco3OtiR9?= =?us-ascii?Q?/UoY/WjddlIVYN1hTcYs40lkaiTX+IdMuyhUNTtZaDq4tDJY4hivzsLrc8I?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-c7cf3.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 6ea027c9-7d28-431b-3ce5-08dd9fe49dae X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2025 01:44:00.2964 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8P223MB0601 Subject: Re: [FFmpeg-devel] [PATCH 2/2] fftools/ffmpeg_filter: make InputFilterPriv and OutputFilterPriv private again 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: Hello James, > -----Original Message----- > From: ffmpeg-devel On Behalf Of James Almer > Sent: Donnerstag, 29. Mai 2025 05:07 > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH 2/2] fftools/ffmpeg_filter: make > InputFilterPriv and OutputFilterPriv private again > > As the names imply, they are structs meant to be internal and private to the > filter handling code. If a field is required in other modules, then it can > be moved to the public facing structs, which is done in this commit. > > Signed-off-by: James Almer > --- [..] > } > @@ -535,10 +669,10 @@ static int ifilter_bind_ist(InputFilter *ifilter, > InputStream *ist, > av_assert0(!ifp->bound); > ifp->bound = 1; > > - if (ifp->type != ist->par->codec_type && > - !(ifp->type == AVMEDIA_TYPE_VIDEO && ist->par->codec_type == > AVMEDIA_TYPE_SUBTITLE)) { > + if (ifilter->type != ist->par->codec_type && > + !(ifilter->type == AVMEDIA_TYPE_VIDEO && ist->par->codec_type == > AVMEDIA_TYPE_SUBTITLE)) { > av_log(fgp, AV_LOG_ERROR, "Tried to connect %s stream to %s > filtergraph input\n", > - av_get_media_type_string(ist->par->codec_type), > av_get_media_type_string(ifp->type)); > + av_get_media_type_string(ist->par->codec_type), > av_get_media_type_string(ifilter->type)); > return AVERROR(EINVAL); > } > > @@ -553,8 +687,12 @@ static int ifilter_bind_ist(InputFilter *ifilter, > InputStream *ist, > if (ret < 0) > return ret; > > + ifilter->input_name = av_strdup(ifp->opts.name); > + if (!ifilter->input_name) > + return AVERROR(EINVAL); Shouldn't it be ENOMEM? opts.name hasn't been checked for NULL before, not sure if it's meant to check for that as well - the return would be null in either case (which you know of course) - so I'm just asking. (not marking the other 3 cases below) > + > ret = sch_connect(fgp->sch, > - src, SCH_FILTER_IN(fgp->sch_idx, ifp->index)); > + src, SCH_FILTER_IN(fgp->sch_idx, ifilter->index)); > if (ret < 0) > return ret; > [..] > --- a/fftools/graph/graphprint.c > +++ b/fftools/graph/graphprint.c > @@ -28,7 +28,7 @@ > > #include "graphprint.h" > > -#include "fftools/ffmpeg_filter.h" > +#include "fftools/ffmpeg.h" > #include "fftools/ffmpeg_mux.h" > > #include "libavutil/avassert.h" > @@ -490,7 +490,7 @@ static void print_filtergraph_single(GraphPrintContext > *gpc, FilterGraph *fg, AV > print_section_header_id(gpc, SECTION_ID_GRAPH_INPUTS, "Input_File", 0); > > for (int i = 0; i < fg->nb_inputs; i++) { > - InputFilterPriv *ifilter = ifp_from_ifilter(fg->inputs[i]); > + InputFilter *ifilter = fg->inputs[i]; > enum AVMediaType media_type = ifilter->type; > > avtext_print_section_header(tfc, NULL, SECTION_ID_GRAPH_INPUT); > @@ -507,8 +507,8 @@ static void print_filtergraph_single(GraphPrintContext > *gpc, FilterGraph *fg, AV > > if (ifilter->linklabel && ifilter->filter) > av_dict_set(&input_map, ifilter->filter->name, (const char > *)ifilter->linklabel, 0); > - else if (ifilter->opts.name && ifilter->filter) > - av_dict_set(&input_map, ifilter->filter->name, (const char > *)ifilter->opts.name, 0); > + else if (ifilter->input_name && ifilter->filter) > + av_dict_set(&input_map, ifilter->filter->name, (const char > *)ifilter->input_name, 0); > > print_str("media_type", av_get_media_type_string(media_type)); > > @@ -520,13 +520,13 @@ static void print_filtergraph_single(GraphPrintContext > *gpc, FilterGraph *fg, AV > print_section_header_id(gpc, SECTION_ID_GRAPH_OUTPUTS, "Output_File", 0); > > for (int i = 0; i < fg->nb_outputs; i++) { > - OutputFilterPriv *ofilter = ofp_from_ofilter(fg->outputs[i]); > + OutputFilter *ofilter = fg->outputs[i]; > > avtext_print_section_header(tfc, NULL, SECTION_ID_GRAPH_OUTPUT); > > print_int("output_index", ofilter->index); > > - print_str("name", ofilter->name); > + print_str("name", ofilter->output_name); > > if (fg->outputs[i]->linklabel) > print_str("link_label", (const char*)fg->outputs[i]->linklabel); 7 lines further down, there's another change needed: if (ofilter->output_name && ofilter->filter) av_dict_set(&output_map, ofilter->filter->name, ofilter->output_name, 0); This is what broke the graph connections on the output side. Thanks sw _______________________________________________ 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".