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 5EB6C43960 for ; Sun, 3 Jul 2022 21:13:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F16CD68B98F; Mon, 4 Jul 2022 00:13:11 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2010.outbound.protection.outlook.com [40.92.91.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8BB2868B920 for ; Mon, 4 Jul 2022 00:13:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GT3a6X9bURfNr31HHrVJCfUW/GeHTzPKIS/VBwidudBZBYrRbgU0TgP0BK1NNa0LrE2+j3WbOF78j6g0ApIXUEInsNEasOvu3Q1Z8fpeOCNCrB6E6WczbE+KTvQaXpNpFVGESw0vzTfR7utSPPvWc1oQe4D9GqaYqajzEYY0S9LJhmoGErm1B/z/9HUsdAPNKwpXsRGsiFFTS512u71c4HahvF0h8aui/HQuPra6tfdCa7/QY5juxP7vW3+bjTEIw3F6XVpfSQ14UmsiI5alAsm+EISfsn6emnAE7AULuBil+RSI2m9Q1o8X0k2pCzkmYu90Yd5ZurB0APerxD9O5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=BOZhRszwI/Yj1c/vQhNc4A9TLTWYnUq5ggmeXQSg4o0=; b=mN32vz3cVoC73rrNFqadC3OqdQJW9VdjL0MAwJ7ZLp973MjZDFOFUepNvXBIiQIuZWVZ5XRyV+fyi3L/iZ5DyOf6E/3ukaH4IfEVzjXVyLlvojmi7awyRQiHCFbI5gdsUCHNQ5UsHm2JiEenirIYiNHTLFiL7iL+DlDjnB9cH2v47yT1Uo/9uMRlzB9QvcCvaDZy7CNOC+ZSCzVFN3kn79uBwzNL6LvnTJ1/EBApbjkqdnLMeMApc/hAznK+SEzsVsh6oQJ6RSwyBAFk/KYXFswgEkUiHhCLRAVlZCvLdLvGxiCPy7KOnimHcaGOczA4Bw1HX+hY9r1feDFFtqryrA== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BOZhRszwI/Yj1c/vQhNc4A9TLTWYnUq5ggmeXQSg4o0=; b=jrQERxZ1xS2vcCkBe9g78qoBKyto0DFs12WgyuRvFNnCPswybo67irQDcuMimy7gXoPIQtEs/lvQ8oKVrBheEwHfq+HQTgAGqRaoMVmAlWvkjy7ddkKsvHwiFFXYkljJjQRCvY6U0gdFBkNe449VKIsn89X/eTAzTWr8o/9OGNOhxZxzwkZ1+9wFoPbdFO0kcd0q8cC/e53TH6wH+CbTCv9YCmG5P6JzPD+pulfit1ZiE4U8Xx8g6PERVJoTKt8+8ObNNkKbeAPN21MspLhV2JZE1bCJsUmYamUpNaCATMdndRIR1kgiDxdefQmhycq96/96+Wgv5MxYMoBKEwr/AA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB6PR01MB2967.eurprd01.prod.exchangelabs.com (2603:10a6:6:7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.19; Sun, 3 Jul 2022 21:13:03 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.020; Sun, 3 Jul 2022 21:13:02 +0000 Message-ID: Date: Sun, 3 Jul 2022 23:12:44 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220703181525.6488-1-pal@sandflow.com> From: Andreas Rheinhardt In-Reply-To: X-TMN: [W1bl9hQZRG+zUNVgwu3sIot4jd8krgpF] X-ClientProxiedBy: AM6P193CA0109.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <400d549e-a1c2-ac53-4476-f5ce44f198de@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 26941d2a-50fc-40e1-ed03-08da5d38d07f X-MS-TrafficTypeDiagnostic: DB6PR01MB2967:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3hEkm9DaiBS8XFZqzvc1fHcVy61R3YKSww9aAZtCKCyIAh3kziqwzphl1f0LpfrXcHsIY9hzEkst6v+iWxSGCqskmBo9sorvD5p8MSfLXqu5BZQXUVxDEGDbsWeA+OMtqpq/Fii16EWhjf9Z2IwrOu0F7tRwmZ821z1EvT3OryNdPVCbZRUKOnvzKN7vkKTatYKM7iD6hrtwxuZnaOhCXMVKeVLTueDTJ3sjoniVMptaIU94FgA+9PNhRHFRAYjXhwsfYq7bf3noZuD42YSjGliwc+DmHXRVp4hQFDmFMIoEIbcHqE4IMmM5/FLGJk5HIJoJb8aBCYoJTXTsxMdxaeCiIpjQRJafUBgHOBLqda6IU4gR3fgC/bm6c1hsFQtTJwizraYazc1NhEyxs/OWVwk9gQ8zoJzahBB98BWe3Hq4Q5U5ZRr01MOKh+yeDOhk+y7lZUIoXjT0kqJiSmc4P3JE6k7SOaZIouuAU/HHE3PLV5GKAGJb0YLH9I7SAByV6ybJG6wyT5OGxUYsvyGAwyu3W1CPyP+AI5twCqVuk+go3W7hWeTgpGhLtKh/o5AeWZUTQcW7UDOMvnty6PbP+dGxPNmy1urYxSWLrJ62QQbDs6lqTu5F84F/TQhLjIlqEG3YBjUdTD/ZMXyOwxG7Eypse9X1ZL+nhkFcAIk6IYIbnpdQY8eyzEA925oL/rM1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUFqZVo3b1NvbVdOOUQwdk5NU0xxQUg4NW9UbE4rZis4Yjk4QVg5UWE4RFoy?= =?utf-8?B?OE8rdWphNkl1TFRCN2lrVnF4emt0VjFjUmttbmpkVVA1akwyUXV6ZytIajV0?= =?utf-8?B?enZJbjVlVXMxeVk0Uk11Wm9Zcnc4Q3c1ajB4eHk2aVI2UmF1Q2R5Ry8rZ3VO?= =?utf-8?B?cGxSWFpYTHZjNk4zb3YxQUh0anhsNDNWdDZ4aGlYVWVpZzdZaVl3ZzlPQ3Nu?= =?utf-8?B?MlZKR0xTRFhYUzJRbXEvK2JPLzE3bzFyMExnNnRFZndOV2VBbjExRTNEUS9B?= =?utf-8?B?YWxrcGtkZ0JBc3d1OEhhOWlDWGlHMkcybXBVR29NY0d1bDhsV0tWUUJkSGgy?= =?utf-8?B?ZlVQRkV4d1FKeWtVQks0OG91Y2IrY1pqTkE5cmtGT1VIQnBGaDBsNGlvMXZj?= =?utf-8?B?M2Q5OWhGR1ZwNXFsM09Ddk1HcDZSQU01bFRWYnlKYWlId3d4S0V1Nmc2d1FM?= =?utf-8?B?WjBTd2srSThNWGI1d1FmYS9hTUNaWmRiQ2NwYUdTQjBvaGk2d3lWUGFVK2h3?= =?utf-8?B?TGpLQ2NqTERlWHU0WWgwNmszMlpyS2ZoQlE4aXh2djhWS2t3YTAwU1MrYUo0?= =?utf-8?B?aUZOYmpSMjBxVlFPVjFYYXJYZkF0L2k2RUxIRVFlMjhjQ2R3a2RHM214SndW?= =?utf-8?B?akkyMUd5TFI3TzRadUtKamcyZ295ZWdnRnBzOHJ2enJpbGJISkZqRm9xTFVF?= =?utf-8?B?SEt0VHNDRXhIQTNCaDlMMDlkK0E0WEl6aU5iK3VhYjhDUHVHZHhHd0QwV1dD?= =?utf-8?B?MThRVk45Tlc0RTEyRldZTjhOaTdtL0M1MzBHeGZ6OHZYeUtDeFVHWjIrWlkr?= =?utf-8?B?MkliZHhBU2k3WFdhRTFlN3BHTW5ZL2FpNTZibDlTSUdZTktvUVdMVTY5Q3M5?= =?utf-8?B?YVVzZVFiS0lBY0x4U2tldEhkS1c1UnFKQTJWSG91YkFjVkd0VGlqSUZXeFJq?= =?utf-8?B?b2F5TlFEUG41Snc5dzJGVVFydVNCVkpXSC9xZ2lrTVA5K0Q2VUx3TGhWZm9F?= =?utf-8?B?dmFTT3g0UGxEOUFyMFZNakN6WmU0TURydFJLSWJwK3ZWZ0w2aERJdFp0b1Bt?= =?utf-8?B?MElxZXhieHl0MHg2SG9ZMHZwSnVHQ3Y5TmJMbnZnd3NuYzNmNkxockcxQWRn?= =?utf-8?B?TkU2Z0s5dWxBZGtoQlF0VS9sY0ljNzdRZWNIc21wamtkZTZ6NXJNYlYyWVVy?= =?utf-8?B?VUhDakIrdnZmWFJuMkhpWEJwK1hEenV0N3orUzFXS3FiQVNZUzBieGVVNmFn?= =?utf-8?B?RzNsOTNZNVpnSnExcmJ3R2wvejVvZkVSbHRrR05aUnU1bWNkRmNaN0RsSGJj?= =?utf-8?B?b0hBVXlTWG53T29wa0xwRFlQRis3YXVHa0piS285Q2NoMHpBMzFMNTBRRTZX?= =?utf-8?B?R3ltMHQzdkdINUVIUjdkbTdpOWZDZ2wxcWJYa2swWGk3NCt4dk9QMzRZZTdp?= =?utf-8?B?MWdEU3gxZm5WRGtiWVQ4V2J6elhoOFVnMDFQWnVZZzFMYlIyendZNFU5dm9S?= =?utf-8?B?d2lOVzdIdTJ3MXFMT1dRVVEveXlwZmZzQVdGZnVWTEhNNUtKT2o4ZnpMTHNk?= =?utf-8?B?RzMxWXdqNDNTTklaWWpOTk1KSmViNGpqdGpjYTd3ZWM5U3puQjlORE9OeXVQ?= =?utf-8?B?WDd4TUFtR1F1emdadTJXVjVzRGJHajBPcU9xZGgycytyeFBpa21zNEFvZGVR?= =?utf-8?B?cG1PLzRqU09OdDVraURmVmVDZGRTSll6MG55T1NQWGZZWEdkQnFYbjhLMVNV?= =?utf-8?Q?QQt7zus5eq660jCzps=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26941d2a-50fc-40e1-ed03-08da5d38d07f X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2022 21:13:02.6741 (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: DB6PR01MB2967 Subject: Re: [FFmpeg-devel] [PATCH v1] avformat/imfdec: preserve stream information 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: Pierre-Anthony Lemieux: > On Sun, Jul 3, 2022 at 12:15 PM Andreas Rheinhardt > wrote: >> >> Pierre-Anthony Lemieux: >>> On Sun, Jul 3, 2022 at 11:28 AM Andreas Rheinhardt >>> wrote: >>>> >>>> pal@sandflow.com: >>>>> From: Pierre-Anthony Lemieux >>>>> >>>>> As discussed at https://trac.ffmpeg.org/ticket/9818, the IMF demuxer does not >>>>> currently preserve stream information such as language in the case of audio >>>>> streams. This patch is modeled on copy_stream_props() at avformat/concatdec.c. >>>>> >>>>> --- >>>>> libavformat/imfdec.c | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c >>>>> index 71dfb26958..7aa66a06bf 100644 >>>>> --- a/libavformat/imfdec.c >>>>> +++ b/libavformat/imfdec.c >>>>> @@ -580,11 +580,16 @@ static int set_context_streams_from_tracks(AVFormatContext *s) >>>>> return AVERROR(ENOMEM); >>>>> } >>>>> asset_stream->id = i; >>>>> + asset_stream->r_frame_rate = first_resource_stream->r_frame_rate; >>>>> + asset_stream->avg_frame_rate = first_resource_stream->avg_frame_rate; >>>>> + asset_stream->sample_aspect_ratio = first_resource_stream->sample_aspect_ratio; >>>>> ret = avcodec_parameters_copy(asset_stream->codecpar, first_resource_stream->codecpar); >>>>> if (ret < 0) { >>>>> av_log(s, AV_LOG_ERROR, "Could not copy stream parameters\n"); >>>>> return ret; >>>>> } >>>>> + av_dict_copy(&asset_stream->metadata, first_resource_stream->metadata, 0); >>>>> + ff_stream_side_data_copy(asset_stream, first_resource_stream); >>>>> avpriv_set_pts_info(asset_stream, >>>>> first_resource_stream->pts_wrap_bits, >>>>> first_resource_stream->time_base.num, >>>> >>>> Seems to me like one should use ff_stream_encode_params_copy here. Of >>>> course, it would have to be renamed and moved if used in a demuxer. >>> >>> Would copy_stream_props() in concatdec.c need to be refactored as well? >>> >> >> I often wondered about this. The problem with copy_stream_props is that >> it is not only called during read_header, but lateron as well, but e.g. >> the documentation of AVStream.side_data says that it is populated when >> the stream is created and not later. >> This issue does of course not exist in your case. > > ff_stream_encode_params_copy() does not seem to set pts_wrap_bits, > i.e. it does not call avpriv_set_pts_info(). > The reason for this is that pts_wrap_bits is irrelevant for muxing. >> >>> Note that, in the case of avformat/imfdec.c, AVStream::id is not >>> copied across, so ff_stream_encode_params_copy() would need to be >>> followed by asset_stream->id = i; >>> >> >> Yeah, I know. >> >> - Andreas >> _______________________________________________ >> 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". > _______________________________________________ > 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". _______________________________________________ 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".