From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id A82994CD6B for <ffmpegdev@gitmailbox.com>; Mon, 14 Apr 2025 04:57:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C4FFE687C56; Mon, 14 Apr 2025 07:57:32 +0300 (EEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2042.outbound.protection.outlook.com [40.92.41.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C0947687C78 for <ffmpeg-devel@ffmpeg.org>; Mon, 14 Apr 2025 07:57:26 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ehAnfu9HAsay2LkTXXcO/r69CeZsenKO5Sfxc00ytybJXEaa1JqPRxptZD9ac6utd27Er1IcrFI2IrT8HE9TPJ5zEOnSDv+OAxTNT33BgKJ/PH/3EoXjSq1Zzf5nrDde2N0Z42kuR3U7DLo0fOUqInsjOCfA8vdN2mgSCbwWS7mWPXMvEPc5l1s+OORRADbwvARANQfjeDoemyAoAy4GBiOahsYmbkw3s7CG8BllT8vd3sxdO+fhUC2h64GmqYrRdFJm9ijlWbHaE3eZ2WY5doKeZi4Xk/izoGbTk38iW2zOBV4Qth1oXt7bMUC2TPNFQa38gXGQLKACqPBtwUzfUQ== 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=sw75jW0+6ss9zH65+tBBciUvPOJYsvUuxQbVGloTOqY=; b=TyXCnKQ+E5EWZVkfuyNYJ/b5D5nUmd9beZXUoqqjjdFVIUtBM0en7gzUUopepkfrR0gFzNb8hC/Mk24RKGKITu4xx1HKnDTLUNgM6Uem58aroFlX2WddC7Rq7o3egp50GNWo3sj9IBParlbreT3B2DwtkznYMVu35VqcPEYfRFwA3eqVFF6ZRb7KOE0UYpYXYQTJZJXrw3MpU0NHt/K5L7jkHyHYhX4rRmGAF5GH7npUrkR7P5CbDVbeRTahtCBakKi29X4LMQjG0fQkg1eygP1vdmWDDl/tBClUQl9dx8tpsgBvVlngjCUYYa66ziyCHkJLc7lbBrHMW4Rs4jQUxw== 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=sw75jW0+6ss9zH65+tBBciUvPOJYsvUuxQbVGloTOqY=; b=FBhgdmWv5PB349uYRX1t7i31wpfvj2IRLUtCgXAMtAesO8fC0xhwNcE8UQL/TKOYgRK82EeMek0n3zYPoUnYBhOBSOMAlcX7JGV8KFP0RaahO5JCfh6FiV38aYwsyyzV0C2ASxUQKMxcPjbKFj6SeAxefPNNsVQSRVv01RpoGMxpsfCGjr8Wdj4N2SYtxqZWKQPxXixTOe3oqZR+q/LCB3lAZks2vsCvg3/Zyt751jAzCKVehWCsUwl3GX167jl87HurS+qd+fgKNzEy2z+6X4BvHBYRr3mSzYfVz0W6Qn26zd26ASiJt086R188uOccpyHEwfN/6fb+1QwgJPG20g== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by LV3P223MB1113.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:1d6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.32; Mon, 14 Apr 2025 04:57:23 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8632.030; Mon, 14 Apr 2025 04:57:23 +0000 From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Thread-Topic: [FFmpeg-devel] [PATCH 2/2] ffprobe: show seekability details in format section Thread-Index: AQHbrGWHV2WHo1N7Gk+41e8PpHCZ5rOhxB5wgADRiICAAAG8IIAAArsQ Date: Mon, 14 Apr 2025 04:57:23 +0000 Message-ID: <DM8P223MB0365B0CEEF1E86CA34AC264CBAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> References: <20250413111545.4619-1-ffmpeg@gyani.pro> <20250413111545.4619-2-ffmpeg@gyani.pro> <DM8P223MB0365B8C3EDA17E5CAC6414D3BAB02@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <ebac78d5-578b-4ff4-ba3f-797f952adfa1@gyani.pro> <DM8P223MB03656CAE5F3A772BAF522CB6BAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> In-Reply-To: <DM8P223MB03656CAE5F3A772BAF522CB6BAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.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_|LV3P223MB1113:EE_ x-ms-office365-filtering-correlation-id: 6eb99ab2-4dc8-41b2-7516-08dd7b10d813 x-microsoft-antispam: BCL:0; ARA:14566002|461199028|8062599003|8060799006|19110799003|7092599003|15080799006|3412199025|440099028|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?qkWCqRM3FHawDPnUSbhZiydoc1FD0b+bOhEkNkUfvoWByMXmzqysNNQrRSVZ?= =?us-ascii?Q?0LhK1ZZskXy9sGtcpgdFiApOiBN8pUF1zuEkyYFsxXacoRjL4PEo5Ox1zYao?= =?us-ascii?Q?ijYIxPVYG6yk2b9OUv/OrE+jl7nYqJ2z1tolGsfunKITTKZcD0bbN/PcY0sf?= =?us-ascii?Q?OaeNyg1eoVVdV9fu9yaBM7Xqibarc2uRFVxZ9si/vP6RSXk/E5r7JVR+uqJn?= =?us-ascii?Q?AMUN2lJVRqR2FHbUhioBqapLaaYgLFgqgrj1gBvTlKMkreB40TJiNTeJquaK?= =?us-ascii?Q?RPJ+Qf8DpPDdGB1pDU07SsmFHamwicl+FPH5hx7ds8wUIKLqqJaQrqbNVpTz?= =?us-ascii?Q?V/O4gLiSnoWPUkfP4Do450Q9WW0t1tY2zcUCzLvxF83cwi68sj6pGFH7+6me?= =?us-ascii?Q?uEZs/JZ4ykQQCWkFDXYuvWO1m1ql6IBvOuqzZ62j4IkDLdQZGtRzoQ62eQtL?= =?us-ascii?Q?yetSKwZ1JJigVyu37LglZ0XRtZDxo/rXqX6AMC7IldV+W3C6tUqpySvXUcDp?= =?us-ascii?Q?cPGWmuhihLiqucVC2ZHUNdwHUyonjfiWOdC6n8WnMoteuBcv6CzE2GKh0i93?= =?us-ascii?Q?aiJ8R1jJx8lqiEk4O1OEpO9Wx8OdbrdMd84WtM1c0xewTJgD2jYD1wZIluR2?= =?us-ascii?Q?DrW4+bPnJSvrGrbjfyw5vkJRShYZNXlkHo9/3zRYKxW85w1EWYpJC43b8Of0?= =?us-ascii?Q?dgV9frVlOUaItObG8uawQ6OsjiQocIPRXzmCWH+PGdQ3rK7X+voJU+PSUgmE?= =?us-ascii?Q?UuUQl+84DIQWTLfQQqJp3x9jyEi5Myx4asmH6izVa98B2i14JFjzo6BFFxar?= =?us-ascii?Q?Jhwp2H1tgELr70CDlQFAInFl/qg89yU3993gRjl5Wc2A8DX3DV1weODZA58C?= =?us-ascii?Q?L83cVP4w8tEOlwWcQEjY3e2dfq8xmx7Ns/lGMH/UFjioFIbQ67/6sZEmLxm3?= =?us-ascii?Q?+162OvsoEAjjSSI3SiK3aEfiUnTOn0RHcUaGgrSAc/CtcW0rYbkQ5sdzYU4O?= =?us-ascii?Q?U7Vtr8ngOE1TmArpM39m0U/ZnSoRsOkaGF88VNf2y1GQkpF57QW3BO29fkhB?= =?us-ascii?Q?HSbFS8Y2Dx5cdZxF40dO71HMEWAq8zLTOWtmav6Hmxok3ai10pQ=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?fLombl2Cxb3E+yhUqQOI+4gpvLqDnd7RhbktAmcMjFWHqCiIAItOKckar3IM?= =?us-ascii?Q?cV7CH08fx7Y3XF9k1ESHBFRkzwAK5hg3iF3rIzzd4UJ8Ec0mJnfwYN3KF4L5?= =?us-ascii?Q?vBDfZKjEUNGVkYsrPpXPs0fOItk/Fh/HHh2e33VhdYbadP41rXQCZRjdmyo0?= =?us-ascii?Q?0WmIEqLgwfV+sTn6hcAjFD5BsgBEvEFiPnQi7LPMJ2lomokp0sXg+Pn/QCLd?= =?us-ascii?Q?qNcpL0A3T3MH5mq8cL0myvO1WvKmpvWiUh6EdHDwDqF320fC8mWbFTZsOs0k?= =?us-ascii?Q?HkskZD0ISaGmrHg9K/GOjB3ttB/bXXctK9aHkfGCGhoknKxMly8z58jdJnun?= =?us-ascii?Q?MFKRHIYDM7DSKZwclIs9iVzUGYLm+Aib98uI/nw9+IdQWQLxt+jKE0ckYO+5?= =?us-ascii?Q?ihdlWKLkTzPkPC4vxfw7Ro/NyQLHns8MX7/qkAtOeSrPP7wyyZz5lc+swDu0?= =?us-ascii?Q?yQP1rWK3i9Zesp6S3FdxS+Op63pyHg7YQB5w4IGNqg1w5GmI4tGk7/J6SAAU?= =?us-ascii?Q?FjXfbfPaL/oMqT2vZqanfgS38pJQArQBDpouVrxsL7G4h7so/KNG6uVw5A5p?= =?us-ascii?Q?Ql/3rPq9kz1Vqtfil6mzRAymtWnZpn1C8s9VIXxX/aLbaYhNwbBhJ0CtjGdk?= =?us-ascii?Q?UF5QGRCpGolxmhPf59VzPmWwiT3CfmAs1P794U4ZzIYRJRWYBQYLI56XIH9D?= =?us-ascii?Q?OTesMAK6VDVvK2hMtBXIBCSYmX0Q86lBDOrGjxWctz2UdeWrJfY8oJfu4X+/?= =?us-ascii?Q?hm6LAgwRkg0K16vIDfhdv2C/cbXLCKACRugiz4J5Q9NtoRzPj43DqHHhLzu7?= =?us-ascii?Q?I86T6H7MQph1B5Mc04q2yEmpSo4darqGZ+M9BP3o0Ngj5+hSt8vmQLAGnR6v?= =?us-ascii?Q?SyRjZrJg8xQftaNh/4C04DYFkxlT4vfPBdMn5wPKoYh4oBMuVIJEbRq0bTIW?= =?us-ascii?Q?BHnOmMhNro60nFxl2GtCjXXg7AoIcvjD+AciOw+Qcwj65kSL3ABjl3MJftSz?= =?us-ascii?Q?Eo/QnIux7HqmDetplAOiHTNOoARjzUnABMeEcwKEuFHs3ms9J+IAL5my6JQk?= =?us-ascii?Q?kjAK9lv08GeReL5m+ydryTaMWOhtwwia9FhxbZ2hZFbXFlVmPwGwplGofih8?= =?us-ascii?Q?kCLrYWPtdv6Hev2ElCMxie1oCILqnNd0mCd6Wxx8h/FA787WP16sDJRUbcK3?= =?us-ascii?Q?TJSrhXocc8dAEnww58cV29f/SorPd2uImOqleMZw7zmQrVW/LFtBAebXa80?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.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: 6eb99ab2-4dc8-41b2-7516-08dd7b10d813 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2025 04:57:23.0809 (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: LV3P223MB1113 Subject: Re: [FFmpeg-devel] [PATCH 2/2] ffprobe: show seekability details in format section X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB0365B0CEEF1E86CA34AC264CBAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > softworkz . > Sent: Montag, 14. April 2025 06:52 > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH 2/2] ffprobe: show seekability > details in format section > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Gyan > > Doshi > > Sent: Montag, 14. April 2025 06:40 > > To: ffmpeg-devel@ffmpeg.org > > Subject: Re: [FFmpeg-devel] [PATCH 2/2] ffprobe: show seekability > > details in format section > > > > > > > > On 2025-04-13 09:48 pm, softworkz . wrote: > > > > > >> -----Original Message----- > > >> From: ffmpeg-devel<ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > > Gyan > > >> Doshi > > >> Sent: Sonntag, 13. April 2025 13:16 > > >> To:ffmpeg-devel@ffmpeg.org > > >> Subject: [FFmpeg-devel] [PATCH 2/2] ffprobe: show seekability > details > > in > > >> format section > > >> > > >> --- > > >> fftools/ffprobe.c | 49 > > +++++++++++++++++++++++++++- > > >> tests/ref/fate/cavs-demux | 2 +- > > >> tests/ref/fate/ffprobe_compact | 2 +- > > >> tests/ref/fate/ffprobe_csv | 2 +- > > >> tests/ref/fate/ffprobe_default | 1 + > > >> tests/ref/fate/ffprobe_flat | 1 + > > >> tests/ref/fate/ffprobe_ini | 1 + > > >> tests/ref/fate/ffprobe_json | 1 + > > >> tests/ref/fate/ffprobe_xml | 2 +- > > >> tests/ref/fate/ffprobe_xsd | 2 +- > > >> tests/ref/fate/flv-demux | 2 +- > > >> tests/ref/fate/gapless-mp3-side-data | 2 +- > > >> tests/ref/fate/oggopus-demux | 2 +- > > >> tests/ref/fate/ts-demux | 2 +- > > >> tests/ref/fate/ts-opus-demux | 2 +- > > >> tests/ref/fate/ts-small-demux | 2 +- > > >> tests/ref/fate/ts-timed-id3-demux | 2 +- > > >> 17 files changed, 64 insertions(+), 13 deletions(-) > > >> > > >> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c > > >> index e0a7322523..8b09afb8c1 100644 > > >> --- a/fftools/ffprobe.c > > >> +++ b/fftools/ffprobe.c > > >> @@ -2260,7 +2260,7 @@ static int show_format(AVTextFormatContext > > *tfc, > > >> InputFile *ifile) > > >> { > > >> AVFormatContext *fmt_ctx = ifile->fmt_ctx; > > >> int64_t size = fmt_ctx->pb ? avio_size(fmt_ctx->pb) : -1; > > >> - int ret = 0; > > >> + int seekable, ret = 0; > > >> > > >> avtext_print_section_header(tfc, NULL, SECTION_ID_FORMAT); > > >> print_str_validate("filename", fmt_ctx->url); > > >> @@ -2279,6 +2279,53 @@ static int show_format(AVTextFormatContext > > *tfc, > > >> InputFile *ifile) > > >> if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", > fmt_ctx- > > >>> bit_rate, unit_bit_per_second_str); > > >> else print_str_opt("bit_rate", > "N/A"); > > >> print_int("probe_score", fmt_ctx->probe_score); > > >> + > > >> + seekable = avformat_query_seekable(fmt_ctx); > > >> + if (seekable > 0) { > > >> + int gen = 1, ante = 0; > > >> + AVBPrint seek_str; > > >> + av_bprint_init(&seek_str, 0, AV_BPRINT_SIZE_AUTOMATIC); > > >> + > > >> + av_bprintf(&seek_str, "yes, by"); > > >> + if (seekable & AVSEEKABLE_TIME) { > > >> + av_bprintf(&seek_str, " time"); > > >> + if (seekable & AVSEEKABLE_PTS) > > >> + av_bprintf(&seek_str, "(pts)"); > > >> + else > > >> + av_bprintf(&seek_str, "(dts)"); > > >> + ante = 1; > > >> + } > > >> + if (seekable & AVSEEKABLE_BYTE) { > > >> + av_bprintf(&seek_str, "%cbyte-offset", ante ? ',':' > '); > > >> + ante = 1; > > >> + } > > >> + if (seekable & AVSEEKABLE_FRAME) { > > >> + av_bprintf(&seek_str, "%cframe-index", ante ? ',':' > '); > > >> + } > > >> + > > >> + ante = 0; > > >> + av_bprintf(&seek_str, " via"); > > >> + if (seekable & AVSEEKABLE_DEMUXER) { > > >> + av_bprintf(&seek_str, " demuxer"); > > >> + gen = 0; > > >> + ante = 1; > > >> + } > > >> + if (seekable & AVSEEKABLE_PKTSCAN) { > > >> + av_bprintf(&seek_str, "%cpacket-scan", ante ? ',':' > '); > > >> + gen = 0; > > >> + ante = 0; > > >> + } > > >> + if (gen) > > >> + av_bprintf(&seek_str, " generic seek"); > > >> + > > >> + if (seekable & AVSEEKABLE_FWDONLY) > > >> + av_bprintf(&seek_str, " (forward only)"); > > >> + > > >> + print_str("seekable", seek_str.str); > > >> + } > > >> + else > > >> + print_str("seekable", "no"); > > >> + > > >> if (do_show_format_tags) > > >> ret = show_tags(tfc, fmt_ctx->metadata, > > >> SECTION_ID_FORMAT_TAGS); > > > > > > Hi Gyan, > > > > > > the problem that I see here is that it's not machine-readable and > > would require non-trivial parsing to translate back to the actual > > information behind it. > > > I think that either a separate sub-section or at least three > separate > > values would be better. > > > > I can add a delimiter like | > > > > e.g. > > > > yes|time(pts),frame-index|demuxer,packet-scan|fast > > > > All of the phrases for an attribute are unique, and for that, they > just > > need to grep, not parse the string. > > Most CLI users will only care about two things: yes/no and forward- > only. > > When processing data using formats like XML or JSON by software, there > is no "grep". > Machine-readable means (not only but including) that no additional > parsing needs to be done. The XML schema must indicate the possible > values and I don't believe that a pipe-delimited multi-string value > can be described with an XML schema. The string that you are constructing would be perfect though for the log output though which FFmpeg is printing as well on startup - not sure whether you want to print it there as well? 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".