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 DC31349FD0 for ; Sun, 17 Mar 2024 22:38:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AA2BA68D21C; Mon, 18 Mar 2024 00:38:34 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2097.outbound.protection.outlook.com [40.92.89.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E90568CA3D for ; Mon, 18 Mar 2024 00:38:28 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ja0rlFjELe5r+k7J6rSq7SIw/dxprCq6LgjXjS46GfZSMs59WzhKbRpYYR7yPwzPo5hvjkXSR0Yz47bZvpk6Q0E/A3QCDCknOBo2QCBalkvhBbaECPEF426UsrtGAp/7SytXoJZgLdMpbL2JDhKuFjcKr7Ygf1BG/5JpGZqJM/+08G242hAE+WfPbn7422JM9DEIxc01m7237Gqug65KPUAjUAJ84NZrAVx6aJG0yADIA6u8l4POxgmeRciEL2u7fMGEJF7cFBxC84NFkPoF/K5jk5nwEVUXB6+17ZNAwiruT0lRtCCR21OImYC1e7MImpTa51kJqMwFi01TJzBGjQ== 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=UWMU9NAF9XcSX91NqWJ26WNQP1yfekatFYjqX43wEsA=; b=LsTmfkGGZmNGb6urlysiagdi+0MIva/rgSqN9gBR7VCtpUmR2EB+X3IhEyWCeOF1iUmhze8IVn5oft7cBc2/581l4uCldLPB0E8mMKKx/nxCvyFIeW8ngOhxRcprHktfdGwsSSnspbnQaXB8iFAhxIHnrKy6UEZliLQey6HLXwusvCE4SpL3EjBE0Kg2jT++9WhgA8ZupW5OOVnC5nM652SIl+3iLRD9GY3jw9Ar+sNMiHyFsSn5pkf6IIyle7NH9B2oT5kIGvzjm0dxoQIfa/GSBgUI2nX5YZhLTu6BbwstiwqGkDYB6ph0dHLEZASYPcadFYNnXw+eWyhyfCpi2Q== 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=UWMU9NAF9XcSX91NqWJ26WNQP1yfekatFYjqX43wEsA=; b=tf11lsRadyrQTnrQvziYCq42gj3HvOJRUYAPyvVcEdDCX/d67pkox/S5UEJwpyiRz9tOwyjmvND2SNBCgwWpJMHBTZEVfc83z/+0oACnlz+UmmKoPpn3BX5PgyfYKuZNNjkzHRtmYzL2/h6kMG+qFnHPxmGCFPePTsC4kVE6rw/BA5RsxXNaVHxI1FggsnACzYSgQ4c/GhMe1gDr98aDxmK10zOXxck1pLIvgROqoaWCsaN8wJ9hXfkhow9ND3qANdmuRkxsR99Eg/RxH69URIG3Xd5K4kJSK1YzfN2MWr+g3Q9ALnnSEhKbnoV9pyFI29YedcsSL6+TaTyGRUWsKg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0012.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:3db::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.26; Sun, 17 Mar 2024 22:38:26 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Sun, 17 Mar 2024 22:38:26 +0000 Message-ID: Date: Sun, 17 Mar 2024 23:38:25 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240227145536.281991-1-matthieu.bouron@gmail.com> <20240317223102.49414-1-matthieu.bouron@gmail.com> <20240317223102.49414-2-matthieu.bouron@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240317223102.49414-2-matthieu.bouron@gmail.com> X-TMN: [cYR7CK51gkuIfVWbW06yKppuIsIWAMWcs4xQ1U/RoLM=] X-ClientProxiedBy: FR5P281CA0027.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f1::7) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <44366cd4-d9cd-4830-987f-e8d777240e6a@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0012:EE_ X-MS-Office365-Filtering-Correlation-Id: 388f65e4-90db-41bb-de5e-08dc46d2f5f4 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnqOm5fONWoLHSIw92M/7TBvHUxEAncOJUiLkfiag9sS4yoss3i6ZgnhG7Yf1uqfOXNg+3zKNB7jMs9gA3BfZBEKpbfiE0MdFGtQfqnGeQoibGKVZyenSY8II9u8RdDUQ0F0Shdmtwb9OJvJr+8yvBwzdMmyKLz8U57/asc/zbK3Bzrc+xYOTDTCVOg3Z50DpNPFxZUh4kjBPZ/O4PhndGnT4vAtR99dbV53pB230qOALGcbp3huV952KuROScBU/kwOLih4HkhHQiR3OnSFyK9q9MvNyHwVd9E2qrMynLshN5GDT9JvbTWuY0udorXp7hGKX8OAgnof9p5Qwv0++IVjHeDv5cI/1zouZo0OjCW3232fRMpyMipBdkFJLYFQOMxalvlJ0kaHiOVCqFcxoZeXDBY6FXJf64dsIEAIaeUjV3O54nSSWO8h8vzoBCGayZgSK7jJeit7GSY0wh8xKKOD3UZH6NrrWUQeGAxd+1QIuhf9wWnw+yt3bkzBQoIpXcCAcI7VVTS6jTSH2YJaKb9CORNu+0ro9etmB8wkqaE9cZE3oi7QBzs0vlg9eS/FX05eAuP1p53uDrAX9rfq5PV60I59dtwzVAUbnPZ0uS/6NFyNocCpFBnQhDlWHL2txKHCk3e6tzw3rZ4uRJpwvbsTjNJcgNBNVMGq3f3VenU0pMeXrtc4u5fBXx5eZh88HbyhQg81PlpQtONPmNADOCnTjmECDsdn7OsUeomLqRgd9hPkbiaK0eX30eaLEIF92QI= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +lVMuNVb/0ARw7UJBN2ehdfAbFe6KeivMFSygfBWWd/XxRYYBOGZZohl9kkeexg8ajyCiU1zKob/YHRP3RV0Y4pYkbmTrz2FR0sJSqC8JsSzQHizy5m3RkW9HhNo0cxYPBMyRwx+K+YpaeyToQPjgQOyB91YpQpmTnDPe/yTYM6FIate6rzOeZFJhev6Us16hD4EjPiEhxBgoPxdeRyhPGHhPLSXuZOuJsKXj6OQ4PiXq0ss97p3fAdtJVDG3WcZ6wf0x3VXdIthMoRxegAnKVPMxLx3NfM7nZ3fvAP9l/ZnEJfn922dAQPIA2hLZ1TCVeybghsDMydRQ9atsT4dUhrCKIkZlWy0gHg/j5RrC1eKy5PM1a8slkpuCUgUZU+PhFUijIQbcPSrsIoEsGQ+rmPLEwydnnoUXBwmaY54eU6w5Sil38E5mVAKdqhHvIbvxYBUtj4QH49o+mlIl0Tm+9z2mN18/Tn8XqQNw4nFM2C2OY0hJwm3NWqJ49mmq2pR7Iw4IMOFCcHDi0ldZzxlq/dFIrnnQZbFCfLzTCc3NRyaOY+8HD5W0L/+8rlfNe5b X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ekZWMjNEeXZwTlg3Q0VjZ1V0MDh6a0RwUGxaQkxsVlgwQ1B2SlZ6MFlGMGRm?= =?utf-8?B?Y0dFaUVKWkdGbU1QWG83bU5rTVJwZDVjL0VuMWNCR0lFTkUvdnJYYnppbWJV?= =?utf-8?B?Qk81SVhsWU9iVkV3eGx6eU5BTnptR1pDbjhjc1ZLbVI3c3NCYzdQYlhKSmZB?= =?utf-8?B?N0xselo4UkJxL3VxeTFEWTU3UkdpUkNFYzNPQ3FHZzdLWkhFbXNCdlhYY3pW?= =?utf-8?B?MVNSZ2svemJGb2pnWWlONWd6L3VWWkZ4SzZaMXRRTUFTbmtabG51RGlSZHg3?= =?utf-8?B?UE15V090THRnNHJKZnkxK01SU3RJZ2NmdW44WmtzTDZ0d0lsMERINDR5dFB0?= =?utf-8?B?SUJadWRza1k3M0lJZVZJOWtUWlNHY1dCVVYweG42bUlFMkRXWmRnaXp3Q3Y5?= =?utf-8?B?c0h6Rk1SdDQ1MFl1YkV2RUlsUjU3R2tpZ1NJMDR4QVRBZkJNbHRpV3hYZ0c2?= =?utf-8?B?NDFrUklyWWlOakNXN3lnVDVjWDFFSUNNYzZPTFJaOTRRTzlkWTZob3BOVGxV?= =?utf-8?B?YTRQU2MxS29uYnJBakVxSVRtejZ6TEQrUzZ1NWpRcHlmK0xUc3loOXhhUjhm?= =?utf-8?B?RjBGNlRrazZPNXd1SkY0NlY3c1ppUnRFYTdJWWpUdURPOE5Xam1Kd1I3TnJG?= =?utf-8?B?QVNmbU9iNjZEMUY2ZkttbTZzNzBRT1d0WVhYaWdQZDZQZDZOaVhRNVE5c0Jk?= =?utf-8?B?emF3WU9hQmcvcVBHWExQbHpndjNJVlZhVGswMzByV1JEV1JGZFY1eEU2WmFv?= =?utf-8?B?UENlUTBkNnJia0dOcHhRYUdKYU96SnFyZ2NtK2hjdUJncjg5aHU0NVhyU0hh?= =?utf-8?B?UVF1aEFGR2g1MDUrYnh0MzJLMDYxbERaNGxRQnhmS3hBRkpWbzNwWVovVloz?= =?utf-8?B?eHJONEMwaEVwNHVMOWx2dEUvajFoTlpkVWxvb2N2d1gxcDI5RlA5SFNZeVdH?= =?utf-8?B?bDB1Z1JvanFwVG8vclRodlNDc0Y4clN1bUc2YlY4cGJxSDdVZnVsUnRtYVhM?= =?utf-8?B?M1diY3RkVjRSTkJFdjArUGpiNUw4ZWdSbiszT2xDcnM4eVJPcTNyWmVyR1pR?= =?utf-8?B?RG5vMDhVTk1pUWh6K3RDR01YYTNhaEpTQUs3ZG4wcFdyaGlkelphWGViVGVw?= =?utf-8?B?MG1HVEVEQVFQRE05QndJTlJjam1vTGEzRUNYZ0VtVyt0UmxNU0xWVFVOVmdk?= =?utf-8?B?YWNPa013RGJzSE1nc2lCOWs0aUJ2djBkV1hPYlNyVGNlZ01XWk1OeDZrK1N1?= =?utf-8?B?L05qTjF3SHR5N1F3NFNTeUxoZXdsQkFrNlZFcEZkYzlQVlo4QmNJdGVSbWdU?= =?utf-8?B?SklwVlhnWWJ2YmxvM3BRSUd5Ylh5ZXdJem1zY3YvZFJGSmdVZUNjNktkNWN6?= =?utf-8?B?MFhsSk40VzZydVFLcUltcXMzNmdmZE9CVGorSk96YkZFVHFYNjhNMHJ4b0dH?= =?utf-8?B?Zzd1Qzk5ZHpSdURkZGhDanNhZkdMSC9FYjhhcWsrVSt1b3VBWW1mcFBsbDA3?= =?utf-8?B?OTJLU3l3bkFkUlhVWUxzM1l0QzJ1L0tkYSs2MVZXMFVtQURTSTlvMGoxWEpp?= =?utf-8?B?eDRidlF5SDJIaTlHWUxxSC9WK29zaTZkYm9GeTZpdjJnaHZjRkkxSVVOQUpJ?= =?utf-8?B?TVR3YlhZcGNGajZPRTdGMFdiUFZ0S1A0MjJFK1BLRTExNUJ3ZXVJQ2t2QTVk?= =?utf-8?B?bllTWVo4ZStzSUE5VFhVWGg0OWpqeEhGaFVJRVZCNTgrMkQwYXBTcFV3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 388f65e4-90db-41bb-de5e-08dc46d2f5f4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2024 22:38:26.4997 (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: AM8P250MB0012 Subject: Re: [FFmpeg-devel] [PATCH v4 1/6] avcodec: add av_jni_{get, set}_android_app_ctx helper 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: Matthieu Bouron: > This will allow users to pass the Android ApplicationContext which is mandatory > to retrieve the ContentResolver responsible to resolve/open Android content-uri. > --- > doc/APIchanges | 3 +++ > libavcodec/jni.c | 42 ++++++++++++++++++++++++++++++++++++++++++ > libavcodec/jni.h | 17 +++++++++++++++++ > 3 files changed, 62 insertions(+) > > diff --git a/doc/APIchanges b/doc/APIchanges > index a44c8e4f10..ae1868047e 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 > > API changes, most recent first: > > +2024-03-xx - xxxxxxxxxx - lavc 61.2.100 - jni.h > + Add av_jni_set_android_app_ctx() and av_jni_get_android_app_ctx(). > + > 2024-03-xx - xxxxxxxxxx - lavu 59.2.100 - channel_layout.h > Add AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL. > > diff --git a/libavcodec/jni.c b/libavcodec/jni.c > index ae6490de9d..cfe95bd1ec 100644 > --- a/libavcodec/jni.c > +++ b/libavcodec/jni.c > @@ -77,3 +77,45 @@ void *av_jni_get_java_vm(void *log_ctx) > } > > #endif > + > +#if defined(__ANDROID__) > + > +int av_jni_set_android_app_ctx(void *app_ctx, void *log_ctx) > +{ > +#if CONFIG_JNI > + JNIEnv *env = ff_jni_get_env(log_ctx); > + if (!env) > + return AVERROR(EINVAL); > + > + jobjectRefType type = (*env)->GetObjectRefType(env, app_ctx); > + if (type != JNIGlobalRefType) { > + av_log(log_ctx, AV_LOG_ERROR, "Application context must be passed as a global reference"); > + return AVERROR(EINVAL); > + } > + > + pthread_mutex_lock(&lock); > + android_app_ctx = app_ctx; > + pthread_mutex_unlock(&lock); > + > + return 0; > +#else > + return AVERROR(ENOSYS); > +#endif > +} > + > +void *av_jni_get_android_app_ctx(void) > +{ > +#if CONFIG_JNI > + void *ctx; > + > + pthread_mutex_lock(&lock); > + ctx = android_app_ctx; > + pthread_mutex_unlock(&lock); > + > + return ctx; > +#else > + return NULL; > +#endif > +} > + > +#endif > diff --git a/libavcodec/jni.h b/libavcodec/jni.h > index dd99e92611..da8025f830 100644 > --- a/libavcodec/jni.h > +++ b/libavcodec/jni.h > @@ -43,4 +43,21 @@ int av_jni_set_java_vm(void *vm, void *log_ctx); > */ > void *av_jni_get_java_vm(void *log_ctx); > > +/* > + * Set the Android application context which will be used to retrieve the Android > + * content resolver to resolve content uris. > + * > + * @param app_ctx global JNI reference to the Android application context > + * @return 0 on success, < 0 otherwise > + */ > +int av_jni_set_android_app_ctx(void *app_ctx, void *log_ctx); > + > +/* > + * Get the Android application context that has been set with > + * av_jni_set_android_app_ctx. > + * > + * @return a pointer the the Android application context > + */ > +void *av_jni_get_android_app_ctx(void); This should mention that these functions are only available on android. > + > #endif /* AVCODEC_JNI_H */ _______________________________________________ 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".