From patchwork Sat May 7 11:28:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35667 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2122839pzb; Sat, 7 May 2022 04:34:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUcCuRLgMlXJBTVVN16YcsVr54n06pSlEsOPtmI36MMlwGEQsTs/FAKToweEhe1DfTWViN X-Received: by 2002:a17:906:6a28:b0:6f4:d368:ccf1 with SMTP id qw40-20020a1709066a2800b006f4d368ccf1mr6881280ejc.35.1651923275719; Sat, 07 May 2022 04:34:35 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 16-20020a508750000000b00418c2b5befcsi6067879edv.478.2022.05.07.04.34.35; Sat, 07 May 2022 04:34:35 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=DADW72Yb; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5917F68B4C4; Sat, 7 May 2022 14:30:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2105.outbound.protection.outlook.com [40.92.89.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AE22768B4BA for ; Sat, 7 May 2022 14:30:51 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T4l5A5MDWyB4fHwgw77ahdcSd5PwZjqm3PWTetNskrTmznEaouisaxfM9/hIGAUBMRbid2T8+94CUKHu3PFH7Ats1xCCWLGRkZNZOt9fS9j9ptFyfnTsK5noPEtXQhoNQFOPy26+J4zDnw2lTe4u09AGU8VWlLeSPxkr3/jYgH58UIxcCfR/II/JDkVle80rg+0dr4fhs0GRNKQY2M6vNIabDdP9rOdGvb/0Hr3sluQf9nB2btb7U7Ae6PmKw2e8sGvzzOePNmUBtKqYqvuJhuAfolKuK2P42NOHzSiXmxArwHu25GFwbNuED89wnmAmKk6/jMes+AwcwxPh3okfxA== 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=lv0xcxxCADRL/uRX1EeBjFujeXskjSKkxlGBu1/gAEQ=; b=EHqEtnys7fhPyICHqh1kb1bIEk/csdHdXVsmfuV1sJ5h4G8g237L1furzLOaJdNdYSt31E0q3+auihGcAv0957hE9Q6ZYYNf1W5DYe39BSaFK6GWv5W1DtoHJX8lPigf5TGgvEWUeNDHPQybdMJXcZG4ZPZxeJcG7jv1PO3i0qEjKgMnyO80QrDkTywSZU0FIYhBCDUZXV0IZVF3iRJa7K/St8MWbfX5xiVpIQJzak9yOkSgPwkNGa1W/+PFhbWGHZyb96ub6SXfz9zuqcw02v0fcMXyZ7PhxHWd7DM8qHLQ3GbTjlsxOKqC+HqV7zqNe7dWu1qTohwlseswFwTHQQ== 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=lv0xcxxCADRL/uRX1EeBjFujeXskjSKkxlGBu1/gAEQ=; b=DADW72YbSzbXiEmkMhJM5ZrwQ6rALMDy/RyvOK9KrHRasmWDGTmh4Ci9mqtfjX5fLsiC2E1I3mPqcBTuDzyTw83TOFJhAG2rjEJmrbdFFh+zSeevRpqms27haFb1XCJPviF2gjgA4fxNqQIaWQvSUx9ZUqk4d7VVlwHZwiJZY6S8jmPplBgI/zhTR04wzfZ8sdyMeohXSbpYodUkkHpNCfDY47BMM/8QtRrH2pYXYKk7YP5KKfM9ElHC28hiDduQAN7BJ8fpC3iOFKdXbphGmwiwmd1u0H5Cx3K6awf7rEZkJNY2gmleDqsSBZLo2RxvdzMl9Ia0aHRZEJ09blii8g== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by AM6PR0102MB3128.eurprd01.prod.exchangelabs.com (2603:10a6:209:c::33) 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:49 +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:47 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 7 May 2022 13:28:20 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [FlSkaE5O1PI2Emy4h5htoiPh02E7q7BI] 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-33-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 177896a1-f2aa-44a1-974a-08da301d0561 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRIovyFjHwHllp74iOQFItwhfMPADru2NH1gKe7N2z2deFIFqx7KLZpiwgIA2MGyHCI+O4OOwDIUPdlM+ObcwKtgRn6AMWVSabgyUiwgMDeHGcRXswjJ7wNp2RwQa4PEEvT2uMhMPLk10MO6zJBCF5JpFzzzyYb3JopRRjjYzf5n/AqxNi3ARehJAfIM4suTkMcrKDn2lJb5IWL+0n41OUOoa6dySHcVj6hJoG4/7TaHE917wEj4qUbxcLS1+4H8K8ANxiW5ReBhHNVXnMh6vode9i4UHpMy4rJpHMwOnBfkyMumVaXdNpK7aPl263mAtV3u1G4hUN3Wzgz3YOqhaR8MnCZKhIiiapcP+FurNlqioQwV2yNFr41Y0nS9JCcSQkwfWjEWeBFgyytTqq9Ka6errm8nt0scmgNFysCF4L/kVGikskBLHnXylYez/vy8pri8A8KXngtIjKqO8FrkgXw5TKHMpcaDvog74p5Phs9U+r4O8SiuuU2d7vjp3eOzfBPn3ME4WEePsoFE/FoecDgEbUuCadiTq87KiFgRWjKVRV+BsK7OssOv+gi8WCl/tWMdyOO0GF7VLpCmj8v4N6zlRgSd5wjEDW8uvG+MMuzEYt1B1NnHLtk1QD95mScSZ2vSYDCru0YVWkstICOA1YzJa6/13RmjwVVZDCkWMZNnx70hOqwomrNMuYgssGusWLqKZfbNQcyKh+5Q8/WG9yd3gg1lShfoHXL8fwxzWoSZe5yVqwv8vgjLvojovg0guE= X-MS-TrafficTypeDiagnostic: AM6PR0102MB3128:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tunr87Xnm5i7QY8fZTeIc0WSsh6PO5xaKBnp+8aMXjRAKrx+jtkU3y4+DuYsACNT4o1TRIdFBQfAer9pQsTk03V7EAIdK1KaXEuKxySX9UjMQqw8JFaouqXpnEGej6mIqxdqsRUJmNrdjlvT8sLpSs31TdvfFyGiTmbEhC9or1/vmJ/WxPSmMRBBiX54fWg2/qFIfQV/Af3BPmDS3KgAtK6o6mii363qOPNfacwheKePGRhwN4bniUOMTUY/CO/Uw9nKjwAXEdVnHTMsY2FkeKcTzQb4PpVk27B/i7dCx/5KoSv8DTcrvzCdUwsp4vCEkJ8VmQdHifXzadWKf8dfIl73WCfRPZY1NTxXX3xVIRdaV1V5f2ud5XHTCZ7YM9aLk0IISkz9g/7S/6RDpABtlJvnf9BzbNCCSl993ZSLB9N8JaAlhpGjjphsmnvGSYWfw67lixoTBhtpjq2EBPF+ZRIPy4wfhsHDa8y0P19OK1cUavLH9DTUVWL8NJjhzLvyLSlim9DfSu4QzqKO1QUNP/gl4oozApmY3ccSIeqlpxnnNaDNdUjydje8hAwxQhvDpqhyZ5JGgx/YooomGWA6VmoLj0yHGi0DrAJ7EWA5dWVNyfze0Gs+/xfhb50EYnBE X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1Qk9QP3Y9ikkZVmqWQZdGGpbp4vv4pXAogiVr4SMoEU4+7Ujw34yV53OrLiUr257ZiTc/wSoAL7gqyAiq9bHRnW8CZUJDMWrMCO1lypmBVIVfWLxK1nOOMylxsnEBALeGeplRmkkAwFmd8UJHmLuTX5cD72o5gXKNxT0L4HTnv7Ea2PhGU2Nm+PcKFyqkmc+osviIfbm6NFmxPwAtvfM+QRWzbxTZ6CaXeD1CntjSsaOKryxdwEjEou7XvQIejq9N0KY2YO8JYrAUVcTOT3W62bRkfkooVknRuL7k0q/rY29u36OFzhwPhf6nYUs1UgU7k0kzHDmLkYwbzChCiRHk+DVgqkmydDjLSfUmzwBENbSl9gW8bfAvvUpN2pWa0UoYdttwOR/7SbGU0XbYCOvNbE/ofK9wPU7aj3dz5JIAtIal2LlVWOChazMONFlvyVlNhIfG+Wq0a1JXa4bUimNifd66rjkgTxhWjlgLBKeepVWpkGaPxSmPsJftRtQljxNz1n2G/pRYbYjxlx7PX8yWRBlrF6qvjuJNs7qIZ3GDGvHax+JvKw+hi/apRhbjPc+u904yzw9uJFNgg2TsA4s4NyJa3IRRGQvKcJHzBZWMjmtzknhrDLquc9jhZfF914mxDb11uxTAoFH1+zhhZ9N/3c+F91dnhvqEGyPB1kPIbjlIXkdZc+rTUExAT3tfkMCbg+QgPqlgCR2bJmoNJv5trAtNOltcJ1N03forK1FVmdSUuItRsTae3MblS8RA7Y1qP0tKpRGUpIlq7dt5meIvIyBK+5ceXBAH0MjWt9Yl25medqRPb3DtZv7RwPLGwZ2LQzkijDQc+1/LV13K+SFQahUE6vUfkyZzGuQrmJkecXgKCLtrWNqZn1ZbF3xqB7Ntph9ixAJgy5SjGlcz3pIK6wEfAHUkiVVSnoJqbpyuczvsalIGZY61hJS3HEUvg6mol24M07ApjZItlXkuj5uWV090hNR1fak7NXOCKCN8rP8Y43zaKx+jhcPmG3m6qF0Xr9ombJH7FbHO5lmmXTLWm0BD4ocZo1Hbi2XYy+LQB25cw3jyEGfi9a8Hm1F/L8yfWTHZ7m8Hspl/lZTrbZ7ktdowCCR7O0V9g2pb4Z9FpCEstlKGbCpvNjwwmSHQweom6l+9V4qJrvxMzzWS4+UxT1lWNo98nJpyGkwUtpas5QwaS6wQZjISS47osoQx1st03ct9zBA41g2U99l+tsfL5q89u6/6WSyEMJgv8klo+QmPZPvhaRTezaJ8m01F9ql88Ht3+E5CkltNYDtGREGJn5gJiA0f1yhx1oZMyEQQV1YXwLdfANnW1QfC4DSLUqMtDZJTDDzpcyiQ3QGTeTlmOtBRvEgpGrfe8ACv0rPQxjY62o+7MyLYvfXGMgpmvbXNzVCsZnHj24/49D6raLVv2a/p6jVuCeVP5MJ5mngTCaSCjkmnN1Lsc/99ZWnUWvA X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 177896a1-f2aa-44a1-974a-08da301d0561 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:43.0699 (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: AM6PR0102MB3128 Subject: [FFmpeg-devel] [PATCH 34/44] avformat/utils: Move av_find_program_from_stream 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: C6XtK594WP69 It is potentially used with both demuxers and muxers. Signed-off-by: Andreas Rheinhardt --- libavformat/avformat.c | 15 +++++++++++++++ libavformat/utils.c | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/libavformat/avformat.c b/libavformat/avformat.c index 78bec2f736..e3dad1f9a5 100644 --- a/libavformat/avformat.c +++ b/libavformat/avformat.c @@ -261,6 +261,21 @@ void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned idx) } } +AVProgram *av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s) +{ + for (unsigned i = 0; i < ic->nb_programs; i++) { + if (ic->programs[i] == last) { + last = NULL; + } else { + if (!last) + for (unsigned j = 0; j < ic->programs[i]->nb_stream_indexes; j++) + if (ic->programs[i]->stream_index[j] == s) + return ic->programs[i]; + } + } + return NULL; +} + /** * Matches a stream specifier (but ignores requested index). * diff --git a/libavformat/utils.c b/libavformat/utils.c index 272b8790a6..e500d35d83 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -341,21 +341,6 @@ int ff_alloc_extradata(AVCodecParameters *par, int size) return 0; } -AVProgram *av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s) -{ - for (unsigned i = 0; i < ic->nb_programs; i++) { - if (ic->programs[i] == last) { - last = NULL; - } else { - if (!last) - for (unsigned j = 0; j < ic->programs[i]->nb_stream_indexes; j++) - if (ic->programs[i]->stream_index[j] == s) - return ic->programs[i]; - } - } - return NULL; -} - int av_find_best_stream(AVFormatContext *ic, enum AVMediaType type, int wanted_stream_nb, int related_stream, const AVCodec **decoder_ret, int flags)