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 9E78B46B83 for ; Mon, 4 Sep 2023 11:27:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DE2C468C7BC; Mon, 4 Sep 2023 14:27:42 +0300 (EEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2033.outbound.protection.outlook.com [40.92.74.33]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E343068C7A7 for ; Mon, 4 Sep 2023 14:27:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oMAuw3u29eoieb/lIIphqibhDXd3yAaQLt/JUx3peBAbYZNJiivfIoY17O7VN3o8v5A+ISnx3K6zn2Sz5+dR3LeGIde4mukZoADCXaHXUKbiFEHn957fxfornzisGLFR55/a+1tgv9ojCpusGl3YL5LqIpytr1zMGlsBvM1us6pU8PtIdJPf7gL1Y9pdUfBLbS86iWDL0DE7+RY5TiJL4EcH83+f4MDBHQa9QagISFO3Hn4eml327E7AIha5mYx5i5QO4mp3WAEdSRCr9k22TWxHb9X6TCqaiB3Y0l9foiGk+m+BiZ+YonQJSY7jkYf+kj6Rkagf1rbu5sfsBEEtew== 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=eJ1OdajbNLgkHMNXckuTa515iT0kY3u6fuC+hhHc8zs=; b=X/R0ZvDR1FySd8IslYIngZ/vow0JPajtyF5f+t6ZQvkV1uq9ZtNPixaA5IKNE8Ew4S1R2EuK8sN906fmi8HPFU84v2EcxuRRIHzEabVUQ/FfJxhDbHWlNvkhQ4QGIN4aFzLF79d6vw5hbNZwZsxFw8IHWDn3N8k7qS3IRCtmJUueaOmRVhhmyl/s+zxYH6Q7FdiKFDK+vQ48Q0/t45ox5ub1yVVisDp9vX4qPmHPpXuSiWKfTP/2Xzoo4aWHBS+Rimn9H0JbpdDNWG37zXW3sVt1uU3pf2deJJxortw+5zucDHAWWPlZBenOtDxgQwHTL86yS9zrrvl6lEDVZj6fhw== 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=eJ1OdajbNLgkHMNXckuTa515iT0kY3u6fuC+hhHc8zs=; b=YkoHSlmxg5iQNMxSLSoOaoAr/6ywbY9s8iWGumsr54NtdtYHnTXNAn9EyqMv9tJ04OeVsngvxNJLy/eHOTuYdHXC9X86cVFo88mMZtzD+tk/g85egrV7mnyv6P5hWcI1PxbHrrkr64NW56qicpKlkvgzO2zT24Xxjc5emfolo2RD4EwDFw/O9ZhKIN69Xf9tQje5nnpeDae5AA5ztbZ1HnF9nJ3R3mbswTCUasvuDkGTsNwlQKlIgmTRG+MMm2RMvn2l8EsK8NOAxiYWaluRD6cx5IgZvJXfZmehsAJ709KAmq+HHZi6klWpavU2xQ+crqd8Fgz4kHBFQouVzWT4pg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0333.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.30; Mon, 4 Sep 2023 11:27:01 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6745.030; Mon, 4 Sep 2023 11:27:01 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Sep 2023 13:27:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [+PztpqPjJufP24/5p8ErsF39+xSX9kjCBVZym8RL6/g=] X-ClientProxiedBy: ZR2P278CA0078.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:65::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230904112759.2652347-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0333:EE_ X-MS-Office365-Filtering-Correlation-Id: 60c7e458-84ff-44c5-69f1-08dbad39dbaf X-MS-Exchange-SLBlob-MailProps: 70qbaZjg4msS5Ik6K0Q5QnvM6p6iC6nw64vnOp/IiuCftGodWpHctBF/5+ffKzTlR21y5UpIMVeHcprJHEXtuST+2Hh3JgdGm38ngRBk7gixPWkWHcWFk66uV5+J804EfKSZXl5jLCfsyrUEEy8IRCe/Dlxu15a4UYhscxaUS37nHnhwRL9IO1HdN0YJYoFef0pSYzIuaeK7b6nsbfsLpbAOfbuGFSlhH1e7ZQpcD+jOD1eeFyHJOLmZG/uDtsYa3dDNy01MVKjvuVdQEmd54aULXsuakU3g3NhR6rNRwb22RoKP8Hs9yTRjlvA/orC5iBnwAvDAHb+2OyChsSZqa8aLdMKwQEjHt75rJ3XCm9NGgZsqdhvs/4VxOnOq6mjg+P0Zg8r9Ar8FmMlUyKhD4eGTwHBeWWut9mXAN5CRCdIXi4wQRSTwFHfnrOcUQ2sPxNTSfpM+FYWaW/Ciibw9+jdNj6f5U328kvMkrrZ6Hnh3AQAWS8ZKXj+EB6cdsklRHkhiRZlkDuGOD/wKKYVYMbdzBBbSZqg/bMLtwjpegqM5TyVcAUNynVNVyeRdk4EFwF300sbBW40nx5HTfac76PHg2C/F0UgoCICkJ9CEESMwIIkU5bulUdXBjQdRh+i8sfEhi3xpa9IYNDrPwjjF/vF8UvJ3Yex9FDo612qzNUWg3QRAdZKYzkwOR2TafmJyNeAydlj/drAnVuYlrwmDKD1J8zCi5fkgcmSZSG8ryT2Vb4eFJpdKWQ== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aHUX94dGomwfYj9PP1389el9LERf/WsymBrsArJ6D173PnCwRf9X6bwq5SKBTB5p4BYSMkxTm7/N8+GqDPtPLXQjXcvOw5QHg5vCdT5kYLu1u9QrtABMVZRA/ZKd97BxJP4+haAMZ/v6INZqpOGxkzUgs27lzqH04ypWECsc50DBFLTnG2Ahrv2VjmyPX0xRJNCsZ6tcUhs936756IfR/N0JHSwPrRhgsuYYy+6Xw/JOHtvqYLo5+bFq4vT9qa2/loOjvUDr3j/nzs7R5nU8fiQjXcLvLGAFD+b/1MfnzPmLj+PF/m6Gq0Zxz5c/fUn0Q+VF7dA5i6o9ibFEdKWNbrRuhxPtLvvmFS4ds9eQVKF0f62GqGwZZ09Zl5eHIZTXNn2yCeQ1gMY59fHkxeudVE3SJZCWVTYPM9uyZH4VzLBWzlUNOGWqJIZ3O5enlR2LjjJ3wnacdzxz5v9vi/TJmG4qUO7YPpm0Of1ZqNs2r9eIHpEDuzmxnVenMXEvsHOWrEmB9Nucnd4vY21I7utPKg+AspZFrhXT4ltQybneUnsdQQygb4rlheRPB9adNbOVUy8RPV5IfDClHc/pXcTfpX88ZP2kyT31m7cZd/glRRCBkhEGM8J9BZedcNV76Xvu X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EBzQJPyrs2Gxaq6M8aO8FjQ8Zskt2OeyrLGkBPkqQXlxklcevvr54OW/I4pC?= =?us-ascii?Q?8vUXux6lvNd9zDe0VxQwXBS4/UkBQ7L2fMFhR7yomIVHZsLv7UzEMJL9O8hf?= =?us-ascii?Q?y0V0PF1678DhaqoONXCPXufEJSP95wbjsz1Fm6Xx+o1NQzNNt3/9to6YdBBx?= =?us-ascii?Q?27G/fOIPWTf6eyTORyt4i4FS8S8rnLkNarfkgA626i9r4sestNmu8aC0/efe?= =?us-ascii?Q?+eEOaqtaPOu1PeTZ87wtkHr2I34SyLzY8VdMLTd8AozZo4Y4E5e4rezUvha3?= =?us-ascii?Q?e4veT9eKLYDT2BL/2XWjOeXnNjfxL8wVWBZk8BzDklGnYwB4wYXvUexXZlnq?= =?us-ascii?Q?m5MTnP7Y2cPWLyRRVbhTb3YeqjCRC/CenuxHZ0PJUB9vZg5dP9bMsuPg/Wsn?= =?us-ascii?Q?G+wHmGnV3gNBYg9/BHNFc/NkZnnMaJ7ITFDF7+2XsuWVIOaWKWXnAQ0J3W2Z?= =?us-ascii?Q?BUinsZiOzV+cEWc7h9V8rSYRnkwdixfA1isQdkhxFD81mJ0amE6wJgNqCmtc?= =?us-ascii?Q?WLcKti7ouaNf0rd0geOSsG24ZWOeTkmMne8D/wFvBoXNe0WJh1t1gGpJjeF+?= =?us-ascii?Q?msCmoMgFZbQPAvYJv+mjuJtjOMJ12jaCaP6ziPqov/bpfhx/fvj/s+QrJbre?= =?us-ascii?Q?AuG8f4q5TSMtTWJwOL9CoCkQT9tLlwKfNUxgfQki36RovyIXhx4AxMW4N6YS?= =?us-ascii?Q?/pZ/hKHAE2FCxyzn5kocLsp4QJgidjj8l0Np75MeuLtRD6t3wP8rHZNY/OCu?= =?us-ascii?Q?EI1UbSZjb9Z85ZARuTK/xcblKWfkgh74/IsPDkBHny8O+qUYfddEXyAmbm4Q?= =?us-ascii?Q?a3ywxXJUlShJvBRkNY8wMqCejIWsuJSba5iZmZ1N+86H7ZZZ47199DdyEU54?= =?us-ascii?Q?+h+Kk6rbFM7x0mj3uV9Sa0TCpMwyrYCUi3ftUiS5uiGIKLBoZoV1jFjpVk5E?= =?us-ascii?Q?ZQhWWyVKJ7w7T4So61NVtMxWkpsyAaulM55+vGammBg0mdcXb4Yyk3VQvwvL?= =?us-ascii?Q?Pv5mALoTnPEABgTLejnIhxLUHtzib5XlJj/7FBeSz6ZgkppQuwz8IZd89OeZ?= =?us-ascii?Q?bqO6aisn0Pl1J+pfD7Lw/NGiJoPNsbU4I2QmcApwzR0Ws0p3Qg+9nLFO/xXM?= =?us-ascii?Q?hTb05JbaEu2EfHfoI23Z7I2g7VwW9szNB8tCX7tSeYb4OIZNIkfRKhO6mUp3?= =?us-ascii?Q?1RKEYqDfiLvT1hMFsLt0MrZdLd6gATpg01Bn6fspDHJir9T0LeFyfqYXdtPp?= =?us-ascii?Q?Eejbka/DgWhlmOIST85q?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60c7e458-84ff-44c5-69f1-08dbad39dbaf X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2023 11:27:01.6360 (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: DU2P250MB0333 Subject: [FFmpeg-devel] [PATCH 03/20] avformat/matroskadec: Use dedicated pointer for access to codecpar 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 Cc: Andreas Rheinhardt 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: Shortens code and improves readability. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskadec.c | 98 ++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index ac3800b880..fd28ff8ab2 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2513,6 +2513,7 @@ static int matroska_parse_tracks(AVFormatContext *s) enum AVCodecID codec_id = AV_CODEC_ID_NONE; EbmlList *encodings_list = &track->encodings; MatroskaTrackEncoding *encodings = encodings_list->elem; + AVCodecParameters *par; uint8_t *extradata = NULL; int extradata_size = 0; int extradata_offset = 0; @@ -2653,6 +2654,7 @@ static int matroska_parse_tracks(AVFormatContext *s) return AVERROR(ENOMEM); } sti = ffstream(st); + par = st->codecpar; if (track->flag_default) st->disposition |= AV_DISPOSITION_DEFAULT; @@ -2711,12 +2713,12 @@ static int matroska_parse_tracks(AVFormatContext *s) ffio_init_context(&b, track->codec_priv.data, track->codec_priv.size, 0, NULL, NULL, NULL, NULL); - ret = ff_get_wav_header(s, &b.pub, st->codecpar, + ret = ff_get_wav_header(s, &b.pub, par, track->codec_priv.size, 0); if (ret < 0) return ret; - codec_id = st->codecpar->codec_id; - fourcc = st->codecpar->codec_tag; + codec_id = par->codec_id; + fourcc = par->codec_tag; extradata_offset = FFMIN(track->codec_priv.size, 18); } else if (!strcmp(track->codec_id, "A_QUICKTIME") /* Normally 36, but allow noncompliant private data */ @@ -2882,7 +2884,7 @@ static int matroska_parse_tracks(AVFormatContext *s) if (track->audio.sub_packet_h & 1 || 2 * track->audio.frame_size != (int64_t)track->audio.sub_packet_h * track->audio.coded_framesize) return AVERROR_INVALIDDATA; - st->codecpar->block_align = track->audio.coded_framesize; + par->block_align = track->audio.coded_framesize; track->codec_priv.size = 0; } else { if (codec_id == AV_CODEC_ID_SIPR) { @@ -2890,11 +2892,11 @@ static int matroska_parse_tracks(AVFormatContext *s) if (flavor > 3) return AVERROR_INVALIDDATA; track->audio.sub_packet_size = ff_sipr_subpk_size[flavor]; - st->codecpar->bit_rate = sipr_bit_rate[flavor]; + par->bit_rate = sipr_bit_rate[flavor]; } else if (track->audio.sub_packet_size <= 0 || track->audio.frame_size % track->audio.sub_packet_size) return AVERROR_INVALIDDATA; - st->codecpar->block_align = track->audio.sub_packet_size; + par->block_align = track->audio.sub_packet_size; extradata_offset = 78; } track->audio.buf = av_malloc_array(track->audio.sub_packet_h, @@ -2928,21 +2930,21 @@ static int matroska_parse_tracks(AVFormatContext *s) // [0x30..0x37] are component tags utilized for // non-mobile captioning service ("profile A"). if (component_tag >= 0x30 && component_tag <= 0x37) { - st->codecpar->profile = FF_PROFILE_ARIB_PROFILE_A; + par->profile = FF_PROFILE_ARIB_PROFILE_A; } break; case 0x0012: // component tag 0x87 signifies a mobile/partial reception // (1seg) captioning service ("profile C"). if (component_tag == 0x87) { - st->codecpar->profile = FF_PROFILE_ARIB_PROFILE_C; + par->profile = FF_PROFILE_ARIB_PROFILE_C; } break; default: break; } - if (st->codecpar->profile == FF_PROFILE_UNKNOWN) + if (par->profile == FF_PROFILE_UNKNOWN) av_log(matroska->ctx, AV_LOG_WARNING, "Unknown ARIB caption profile utilized: %02x / %04x\n", component_tag, data_component_id); @@ -2955,16 +2957,16 @@ static int matroska_parse_tracks(AVFormatContext *s) av_log(matroska->ctx, AV_LOG_INFO, "Unknown/unsupported AVCodecID %s.\n", track->codec_id); - st->codecpar->codec_id = codec_id; + par->codec_id = codec_id; - if (!st->codecpar->extradata) { + if (!par->extradata) { if (extradata) { - st->codecpar->extradata = extradata; - st->codecpar->extradata_size = extradata_size; + par->extradata = extradata; + par->extradata_size = extradata_size; } else if (track->codec_priv.data && track->codec_priv.size > 0) { - if (ff_alloc_extradata(st->codecpar, track->codec_priv.size)) + if (ff_alloc_extradata(par, track->codec_priv.size)) return AVERROR(ENOMEM); - memcpy(st->codecpar->extradata, + memcpy(par->extradata, track->codec_priv.data + extradata_offset, track->codec_priv.size); } @@ -2975,32 +2977,32 @@ static int matroska_parse_tracks(AVFormatContext *s) int display_width_mul = 1; int display_height_mul = 1; - st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO; - st->codecpar->codec_tag = fourcc; + par->codec_type = AVMEDIA_TYPE_VIDEO; + par->codec_tag = fourcc; if (bit_depth >= 0) - st->codecpar->bits_per_coded_sample = bit_depth; - st->codecpar->width = track->video.pixel_width; - st->codecpar->height = track->video.pixel_height; + par->bits_per_coded_sample = bit_depth; + par->width = track->video.pixel_width; + par->height = track->video.pixel_height; if (track->video.interlaced == MATROSKA_VIDEO_INTERLACE_FLAG_INTERLACED) - st->codecpar->field_order = mkv_field_order(matroska, track->video.field_order); + par->field_order = mkv_field_order(matroska, track->video.field_order); else if (track->video.interlaced == MATROSKA_VIDEO_INTERLACE_FLAG_PROGRESSIVE) - st->codecpar->field_order = AV_FIELD_PROGRESSIVE; + par->field_order = AV_FIELD_PROGRESSIVE; if (track->video.stereo_mode && track->video.stereo_mode < MATROSKA_VIDEO_STEREOMODE_TYPE_NB) mkv_stereo_mode_display_mul(track->video.stereo_mode, &display_width_mul, &display_height_mul); if (track->video.display_unit < MATROSKA_VIDEO_DISPLAYUNIT_UNKNOWN) { if (track->video.display_width && track->video.display_height && - st->codecpar->height < INT64_MAX / track->video.display_width / display_width_mul && - st->codecpar->width < INT64_MAX / track->video.display_height / display_height_mul) + par->height < INT64_MAX / track->video.display_width / display_width_mul && + par->width < INT64_MAX / track->video.display_height / display_height_mul) av_reduce(&st->sample_aspect_ratio.num, &st->sample_aspect_ratio.den, - st->codecpar->height * track->video.display_width * display_width_mul, - st->codecpar->width * track->video.display_height * display_height_mul, + par->height * track->video.display_width * display_width_mul, + par->width * track->video.display_height * display_height_mul, INT_MAX); } - if (st->codecpar->codec_id != AV_CODEC_ID_HEVC) + if (par->codec_id != AV_CODEC_ID_HEVC) sti->need_parsing = AVSTREAM_PARSE_HEADERS; if (track->default_duration) { @@ -3052,35 +3054,35 @@ static int matroska_parse_tracks(AVFormatContext *s) if (ret < 0) return ret; } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { - st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; - st->codecpar->codec_tag = fourcc; - st->codecpar->sample_rate = track->audio.out_samplerate; + par->codec_type = AVMEDIA_TYPE_AUDIO; + par->codec_tag = fourcc; + par->sample_rate = track->audio.out_samplerate; // channel layout may be already set by codec private checks above - if (!av_channel_layout_check(&st->codecpar->ch_layout)) { - st->codecpar->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC; - st->codecpar->ch_layout.nb_channels = track->audio.channels; + if (!av_channel_layout_check(&par->ch_layout)) { + par->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC; + par->ch_layout.nb_channels = track->audio.channels; } - if (!st->codecpar->bits_per_coded_sample) - st->codecpar->bits_per_coded_sample = track->audio.bitdepth; - if (st->codecpar->codec_id == AV_CODEC_ID_MP3 || - st->codecpar->codec_id == AV_CODEC_ID_MLP || - st->codecpar->codec_id == AV_CODEC_ID_TRUEHD) + if (!par->bits_per_coded_sample) + par->bits_per_coded_sample = track->audio.bitdepth; + if (par->codec_id == AV_CODEC_ID_MP3 || + par->codec_id == AV_CODEC_ID_MLP || + par->codec_id == AV_CODEC_ID_TRUEHD) sti->need_parsing = AVSTREAM_PARSE_FULL; - else if (st->codecpar->codec_id != AV_CODEC_ID_AAC) + else if (par->codec_id != AV_CODEC_ID_AAC) sti->need_parsing = AVSTREAM_PARSE_HEADERS; if (track->codec_delay > 0) { - st->codecpar->initial_padding = av_rescale_q(track->codec_delay, - (AVRational){1, 1000000000}, - (AVRational){1, st->codecpar->codec_id == AV_CODEC_ID_OPUS ? - 48000 : st->codecpar->sample_rate}); + par->initial_padding = av_rescale_q(track->codec_delay, + (AVRational){1, 1000000000}, + (AVRational){1, par->codec_id == AV_CODEC_ID_OPUS ? + 48000 : par->sample_rate}); } if (track->seek_preroll > 0) { - st->codecpar->seek_preroll = av_rescale_q(track->seek_preroll, - (AVRational){1, 1000000000}, - (AVRational){1, st->codecpar->sample_rate}); + par->seek_preroll = av_rescale_q(track->seek_preroll, + (AVRational){1, 1000000000}, + (AVRational){1, par->sample_rate}); } } else if (codec_id == AV_CODEC_ID_WEBVTT) { - st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; + par->codec_type = AVMEDIA_TYPE_SUBTITLE; if (!strcmp(track->codec_id, "D_WEBVTT/CAPTIONS")) { st->disposition |= AV_DISPOSITION_CAPTIONS; @@ -3090,7 +3092,7 @@ static int matroska_parse_tracks(AVFormatContext *s) st->disposition |= AV_DISPOSITION_METADATA; } } else if (track->type == MATROSKA_TRACK_TYPE_SUBTITLE) { - st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; + par->codec_type = AVMEDIA_TYPE_SUBTITLE; if (track->flag_textdescriptions) st->disposition |= AV_DISPOSITION_DESCRIPTIONS; -- 2.34.1 _______________________________________________ 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".