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 1CFC04298A for ; Sat, 7 May 2022 11:33:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CDC3B68B4A5; Sat, 7 May 2022 14:30:33 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073102.outbound.protection.outlook.com [40.92.73.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 80B1068B498 for ; Sat, 7 May 2022 14:30:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bp+AU90sZdD1+7rFz8IiLfpmJL10j8Zirhzy9colcX3uhEraCpnWchHBkpv8CeMqkTbHeJChhJOMYOw993QFbT5ekF6uIC1NR8roHnS9tlGa5RcS1G2b5KqtfLPZtTPWcRfvOUQ4NeTiUbQw4FjfksgcofzxwBk5Bwc5C2d6e9WvkpzjfoMT4ZTqLQ/3uw0FRNgtDP8kApn5b7vWm1Om2TKxcqxA9GQqOugZsgA+6YZuhCVuh8DMbW7imrF6k6PBRMQyN2sxpJ1Gfur0kFgGcnEoCi1qkmFPkgxeVYIMvT/OEApKdQ+xU8uuo/jEualwnF9tl64uZ6W92CeU7r8VSQ== 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=SyNXRYV1SVsAkiEXFQF05uusv5AhU0teeYtp8jKu+8A=; b=Zt1ek+16Duuyg2YE2BHbgvCSnsD4uqXtqZ6FyfcvTeM8zIU/gkMw/ZKGkZeg83dEofaHJV3yfWJtysllJd+b3eBQdIVKkkgOYoEZx8PeAggfR/DuHczUkRdQaJIcI/yf1fxXu4Asr0d1UfFmXYdmq47pULQaGQrwpCIkANZhOpXU5t6eW7oegcLgSXxxV9ZfdwSADjqOzCMyvd/OGbWVLIv+80KGQP1rV929ocsC1DSXjAdWsEuLkKxzCWRYnuFFEI+tuS3VqrpQr4pIQ3NjBgtm16Sy372UcSvALXoUzxiNegb4/zSN7OH5+485fece59Lmv6JbrSKN9QpqCOcG8w== 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=SyNXRYV1SVsAkiEXFQF05uusv5AhU0teeYtp8jKu+8A=; b=l7/ZWEL9UP75qiH7jTTAZl0kbkvArjFarmeoeoI5aEZMny6W8al4BigGSgeNp1rhaGhAUsPzAEH/ZDhYpSYEJ5mq4BDdNC4o6xclN7afNovL4fJ5uWUwO431/fCBqLQPJYqUtXG5OiaP32cQUxssf0Kt+mf/8IXM3bj1WeGyoGUyXolqGGoMkulN4Nq3g3rYt+SN/1CZaCNELPrx9AdkgIuEPt+qBKQeNy17A8pDNKojapPyqSP9NjWUQXnV1b1dYENOOO5rMYNxP5SN8CtZrwuPz+cuOIEgmFh4oB6JyBhARvSSzk0CMdqZv6Fz5CSADTYy1sn8Bla0DCuWxswETQ== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by DB6PR01MB3895.eurprd01.prod.exchangelabs.com (2603:10a6:6:4b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Sat, 7 May 2022 11:30:28 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431%6]) with mapi id 15.20.5206.024; Sat, 7 May 2022 11:30:28 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 7 May 2022 13:28:15 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [uiqp+4UnHiNuZ3gr3Ssx1dRvyfXjNnGS] X-ClientProxiedBy: ZRAP278CA0004.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::14) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220507112830.406162-28-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5fd51ac0-d0b3-4c9e-ff2d-08da301cfccc X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVZjuqTokTVdg9S7+crVfX8WIYYNqwA9x7aT8m3jGyw/O2YinY7NHBNrmZMwiB/gTfYdnnmjRFhbq8ML8ULzYk2dQq2QTTMCMu7mU57kUJ2VH3xtG8FqADNQ4cO4xqIP6O7jQj9Wjw71PLai3MUmlYCuGvlbUfzR9vHNChXrvHYxIjG9f9n7yb+ZUD+5KreTchRD9SYjXMM5Lwp3LejNUA63Kqu7mRzSmVb/1eBHhcQM6rEzdnRHdguzV/yZxAQfOFoaznwwdY8yKLqHRPs+jKC6Wj75j2niPim3Z+nEWG+Rf5YEdSjeK0Y8dTOKoTOHc90amDdhR72o52UubiybcHps4TcX+WRWNbMf6l5GOhvaXzvwfDZi35ZmZSIUAOTgsbE48uOqV/SmIo6mSI2V9rhTWYHvyyx9Y8bqB84CICSf3ksqcwuF+NhTD3/BvOXX8hPTCAqGkPsmZPmwiPIEc4gQTQ/gk3CVWlG+oTteXJ5MVz4sv8N1Rn+zwKKcH93nZNPuStnMpvtI+Y0syu/rS+5qzo+bvePPI2tlveER+JT9brKniUZNWNPUdDavNlon1suIebVK4UM/PIl30odRDCgQMNdQ7dWodS0fXUKBj5UhXvNZ1ES6SKL0gpJmS5vok8QihOWcjROEaQxGgARTLaRobiYJckKgMrUIrCC6tpBE83SQk15H66Xk61zD6Dnufx7WpiYQmKB8yJODAdMxAZstS3xCUey05Q= X-MS-TrafficTypeDiagnostic: DB6PR01MB3895:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t5pSP8GYxSRCc+0lon9EX2FFFUgBlLVmkYcUCU5dQEitOi3yZlZXWR3acikMrCW3JGMx3o3adyMRzfSlfqGWXDn8X0t1W/06XZZcMBY1JKPozVdgpvu5CCrLGIKOzlhwOyBpc+3wqR9dPdKMXHUIItlEhRGhEId7OLy/pn8Z7c17cZeriJTi+XPKm1kldqj7cwposjCezL5ljbFA8IRMVVNmUNixDZzmMIrna/4/2TfYI9BdwQP3o3/j6RcmogD1RSH8/fuqX3BXz2Pa3IcuNOJjGiPlTQPP8nLEAHsDdMQ1B3/3YiuRu8MXiVr7mEsG4a7WMLlmfe8BqWyvJoAG9lkqVxpnsJ1IH/hpGZ4GO4lZw1Cr8/pwHMyegLeY9NvlTKkYnyq76fDF+fbEUaOJ2n08NSMdMAxSm2yEd0D0Ili3C5/AYH8b23Hh+jpXXQWrJi3m7UAAhBneNdKA/hNJm9SL9jn2tJEZOlES8zbNrDzkKbMofJ+QSiClsHHg4m0qnBaUWTC4F7M/+8BzURLvUwjasZrey0GisTc2ujD3DQQEG+q99VsuiqUdAIWo8gbVTJKyqDNHpnS6NqqSbQ1/7G07Fp+kcXfXXWVyshX1VceLfgP7RIuEYwe9ijAEUUj1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+CHPr0n5LNQy8HHlxNEnWno5fGJySnQvLxps8Xji/bpQZh3ztAY6FRJM62j3?= =?us-ascii?Q?w9h6D6eDSji4l/IkigrUjY0F2ee8moIbbRhJTK9eohLX9+Yi7E5RmECRCUsS?= =?us-ascii?Q?IuG+vUeJhIbLyvcxNwzvrCAvSdqZA/3c6vuK4wEhAX+D2NmUec1RKt6vqitG?= =?us-ascii?Q?kNoxMnZ2ZtpUZnlWSV/3Vq67+DExXel39xNSf0lQNPjPkaqHxpwF+Lxg5dHw?= =?us-ascii?Q?VLjgIV8hpKnKRSvhIunJztHgL97PUyfAR0pg6+pmKyrq/6jihApD6916jPOf?= =?us-ascii?Q?Fj9HsrVz7OPSglOEdlYSkGXrxB1IYhWtzcyvG0sWxN4KTOYTylcc87DLB7UR?= =?us-ascii?Q?TVUIxvJ0jgHBdIO9WNN/DpLjJ9zkFC6kIumK5pES6tEZ6DsgXLLslAzWjq+Z?= =?us-ascii?Q?iwrQ4mK8zsg8onHJgi1fP4FQx9ta3A7wmRfU6esoIplPPGIeYXc+Nqj458yl?= =?us-ascii?Q?K56aIyJPMOdLjAH7TgzL3ZjWXvFz40nM3ATdbOLcdmYjrQ2lgmC5jPgiYFvN?= =?us-ascii?Q?AtY8wWqPwgWFSZ8TK76cbMLTZH4WEBDZf/mpMnMyb7GzFg0qdxpxblRGUyUW?= =?us-ascii?Q?bktel9a05YSsnL9jLMHNiwaWQYiSMihjNTIj22vMB84Z38nie6qphquj2k4U?= =?us-ascii?Q?bqCu3d1f7/EZa+k2sjBc8f8BnYthHvyLNQ6/VnGv2lt8pP/VwapuS4//2Bme?= =?us-ascii?Q?M4dFeyhlMPQV6ZVcbk5CPDY616cqb7Pwd9HviVaPGWa85MiYTU1SyBHLnrcr?= =?us-ascii?Q?yZviJQ/ZFKR1y8QLSRsepBSjbeOOay0zOt6AsPUQM556XibeKkfRG0wof7B9?= =?us-ascii?Q?yuUlY1ivmZHQQd9W5JfRN1j622lra37G5Qn5fYXEZ9VlWn1ftGEitBV5fvDy?= =?us-ascii?Q?H0B/eiv+3WGKv222h0FSMgjWhkxO0Iup4ZTwMYcs4r/Gyaj9W/h8iztByI4F?= =?us-ascii?Q?5Ho7+XxPpWUBvbGy3GYTcAVXiRybrDvxwgfoda4ly6N/fiw70Qo/NC8PhHpv?= =?us-ascii?Q?/OimLvUk3PapJqDXnCF+FYYk2C3Ik5s2j+UxcsSrF4//bLvNmT2W2wqqY7KV?= =?us-ascii?Q?TgMWgsWBQbWEBrV+nhLt/Fa4X0ZUXuycq3A3g54cPqXH2Q/DuIZn0I+xABuU?= =?us-ascii?Q?3I8FlLEMtU+mkyMA7AC8UFsahNZB7KZei+exe4vxkgvATYunwx12tVM0uLSa?= =?us-ascii?Q?STwIsGWpCi0I201ev+mQ0xmTD4vg3JEJQr/qYgeFoMFRlfbiA0db/vVIvx6h?= =?us-ascii?Q?qaJs7r3Qq4rvowOB3+khSsb8GtCUwOvKBVXAonUiiWTgvDYv3745DfeSZ8sI?= =?us-ascii?Q?0wGu7ib+LUo+id5zrBnSnxDH6lpwT5ObyTFv2Hh0rEIiYX2x0jd4cht06awV?= =?us-ascii?Q?Av0JLIxQ2EBvmWgsmqEmbqz8UOjLAoUqNQpKfsx+hOQ0aQ/el9WyneNAcytN?= =?us-ascii?Q?j/5Qe77n+zWuZkYOevcSb8fLSwr5fnp6?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5fd51ac0-d0b3-4c9e-ff2d-08da301cfccc X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2022 11:30:28.7045 (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: DB6PR01MB3895 Subject: [FFmpeg-devel] [PATCH 29/44] avformat/utils: Move av_stream_*_side_data API to avformat.c 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: Signed-off-by: Andreas Rheinhardt --- libavformat/avformat.c | 68 ++++++++++++++++++++++++++++++++++++++++++ libavformat/utils.c | 68 ------------------------------------------ 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/libavformat/avformat.c b/libavformat/avformat.c index 88acae018e..baad2acde1 100644 --- a/libavformat/avformat.c +++ b/libavformat/avformat.c @@ -128,3 +128,71 @@ void avformat_free_context(AVFormatContext *s) av_freep(&s->url); av_free(s); } + +uint8_t *av_stream_get_side_data(const AVStream *st, + enum AVPacketSideDataType type, size_t *size) +{ + for (int i = 0; i < st->nb_side_data; i++) { + if (st->side_data[i].type == type) { + if (size) + *size = st->side_data[i].size; + return st->side_data[i].data; + } + } + if (size) + *size = 0; + return NULL; +} + +int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type, + uint8_t *data, size_t size) +{ + AVPacketSideData *sd, *tmp; + + for (int i = 0; i < st->nb_side_data; i++) { + sd = &st->side_data[i]; + + if (sd->type == type) { + av_freep(&sd->data); + sd->data = data; + sd->size = size; + return 0; + } + } + + if (st->nb_side_data + 1U > FFMIN(INT_MAX, SIZE_MAX / sizeof(*tmp))) + return AVERROR(ERANGE); + + tmp = av_realloc_array(st->side_data, st->nb_side_data + 1, sizeof(*tmp)); + if (!tmp) { + return AVERROR(ENOMEM); + } + + st->side_data = tmp; + st->nb_side_data++; + + sd = &st->side_data[st->nb_side_data - 1]; + sd->type = type; + sd->data = data; + sd->size = size; + + return 0; +} + +uint8_t *av_stream_new_side_data(AVStream *st, enum AVPacketSideDataType type, + size_t size) +{ + int ret; + uint8_t *data = av_malloc(size); + + if (!data) + return NULL; + + ret = av_stream_add_side_data(st, type, data, size); + if (ret < 0) { + av_freep(&data); + return NULL; + } + + return data; +} diff --git a/libavformat/utils.c b/libavformat/utils.c index b3806fe87b..e7788f3f40 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1091,74 +1091,6 @@ error: return ret; } -uint8_t *av_stream_get_side_data(const AVStream *st, - enum AVPacketSideDataType type, size_t *size) -{ - for (int i = 0; i < st->nb_side_data; i++) { - if (st->side_data[i].type == type) { - if (size) - *size = st->side_data[i].size; - return st->side_data[i].data; - } - } - if (size) - *size = 0; - return NULL; -} - -int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type, - uint8_t *data, size_t size) -{ - AVPacketSideData *sd, *tmp; - - for (int i = 0; i < st->nb_side_data; i++) { - sd = &st->side_data[i]; - - if (sd->type == type) { - av_freep(&sd->data); - sd->data = data; - sd->size = size; - return 0; - } - } - - if (st->nb_side_data + 1U > FFMIN(INT_MAX, SIZE_MAX / sizeof(*tmp))) - return AVERROR(ERANGE); - - tmp = av_realloc_array(st->side_data, st->nb_side_data + 1, sizeof(*tmp)); - if (!tmp) { - return AVERROR(ENOMEM); - } - - st->side_data = tmp; - st->nb_side_data++; - - sd = &st->side_data[st->nb_side_data - 1]; - sd->type = type; - sd->data = data; - sd->size = size; - - return 0; -} - -uint8_t *av_stream_new_side_data(AVStream *st, enum AVPacketSideDataType type, - size_t size) -{ - int ret; - uint8_t *data = av_malloc(size); - - if (!data) - return NULL; - - ret = av_stream_add_side_data(st, type, data, size); - if (ret < 0) { - av_freep(&data); - return NULL; - } - - return data; -} - void ff_format_io_close_default(AVFormatContext *s, AVIOContext *pb) { avio_close(pb); -- 2.32.0 _______________________________________________ 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".