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 4CF9448A63 for ; Tue, 27 Feb 2024 13:40:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9D9BD68C81A; Tue, 27 Feb 2024 15:40:10 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2099.outbound.protection.outlook.com [40.92.73.99]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1EF1568B004 for ; Tue, 27 Feb 2024 15:40:04 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NeMOQfdzcvGI7OPwDoYWXpfwiUp76I9f6uUZtD3/ukAF3wW+pE1Aguihf7oNi5yDO7GJw7SvVdF8jQdORh30BFgk5C3DLkorwK1twFRx9lZ376tcFeAi9caNTiDJVxmW4sk12M6KuwerLxsm3OszZ1pO4VY05LoBKTJoPE5A6lYZYm+YruGLbfBdngL7AWH3CbQsLQttig9m6xrIt5sqDFSSY2M9OQDUT+kFLGyQrcqyEsJUMvmRQQg+TGLI61r84sU0/sV/3Qc9W653tWPBBpY8mCAWbsoL/TRpLpU7tKes9vkdKwrBzLNldMJVKgTN7UPRTy6lM0LmIOHaw8ZcBA== 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=4Z+LgLr1rriheKVBcIRZ8pHRYsSt0WZSDbtAAK8X9co=; b=l4YFpg0tXI5JAJPiYZHI6J1lDHN+/k6oGQTCPnItRYA5/BcCLAAALvkirCr6sIrSqvwUyCPR2iQeAcmsl4DtU25oShE8MMBcsbiTyT7PipmPgAwOV2qYtsgbxanyObkNq9yjg3HAxV3ArU23o1QlPpKhnmqEPRhO/x/mTUC7SRbf5xrgGWcSAchauZudopEJpzohqqOYKbgGs7glsLfApk57AtdAuUopNsku6nCDr5XjkYrL7nb7G6nUywUAy4uHUCPwBgFJr1r2KWtg0y1EGAdsJamW9ju1GFNO3wyR5m80qzi43iCd1/WmfkLl1gCdNMybhNDTHQKdNBbLuTJUMw== 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=4Z+LgLr1rriheKVBcIRZ8pHRYsSt0WZSDbtAAK8X9co=; b=AuI77CvmxCmF34Fs/1G9NwxSYg0iKr3ZCfcgAYU8lruFQpFuAueavsMzvpoN/nQib41SNB+I4ar6R/tpn61KiM9I+bSmHX0gUKjhufsTYkAA5CBaeKGf/LRJGcBvlg48eXf17taNJGARPTgHyzTHJKFAVFUBRbi9vkwAPs501VgqzgTDGKmkwoIpzgJCFAoc22BZo7W7IX10/SFN4nuK41jnmjn+sIb/Q2Vem608fNEnU6nzQD7FRCSsZjy6BZW4SPJLgC2UZ40eOkrZxr3JwDtEcJe8GE6WK9+COrqvZ3Q2Ac0AiyX3yvMzDhs5rKnxUWuxguaaO6LHsQ+byZ3CTg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0153.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:374::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.36; Tue, 27 Feb 2024 13:40:01 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Tue, 27 Feb 2024 13:40:01 +0000 Message-ID: Date: Tue, 27 Feb 2024 14:42:01 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240213230418.457056-1-matthieu.bouron@gmail.com> <20240213230418.457056-3-matthieu.bouron@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240213230418.457056-3-matthieu.bouron@gmail.com> X-TMN: [l+YJYw0QNW59AmZREyT8pgQMevUR2iGjmm2L2RhHWUc=] X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a9::19) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <121e2d3e-d049-4e61-b905-f94bf1a2a028@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0153:EE_ X-MS-Office365-Filtering-Correlation-Id: ff8b553d-f59d-4862-f4f0-08dc3799990f X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnoh573Ov4uulxr+W+j6KqkzxHs+pkxBEOn9aUa85WYhv07dDcbf5aNJ0+nRNRhO1hw6OmTatYmAtqfuyRUCKBt5Zqe3lkpZlyYAg2FiZKJjvQxHe/AT2hT+JldWT1DmApqmbo2G7R28QJVX4Z4tBa2eJMsWWJ9Das74FunrNCGKzqm92/3PI/z86o8fVYeGw7ILlPfXeTNDtH7IOHB5GOyI12fix2WGiVz66ntzRLfmFgygRdFznZ8F2Kc1KfMDCvBIltO1IZDqtOw4f8dEtSGrQNwd3iZLSb/C7eL+200R1RjwFZgIZcPGtJtvfq/keRP9OY9eEVeqJkCfTnaJSCxP5O3irsemQKHcZSUTDEsb/qtAtNTwi2Lu5NpL0VLXWeWznNKXrHXqag6BFmYN8QfYMvacHyQ2uFts4hw3kP0V4ca9D+lsPoO0VffdM+IcvKUS5TUv7Ggja/FvrxqFUKZJ/fI9xShpGIWUpKUGe8WVfiwDUEeyH4B1QjlVzi4F+xKs6ybPIhdqL7UleUm/ihJEQKvbTBQRDd1B5AYjJ/6PllrtfVgguaiuAxb/5GF899nfjk5mYSiqXlnUEPeiMBYrt4g52l9me12C03XdQT3XgVk3lMLefMZoK3oDzQoEw+4pVWp9ASVGZ256dhpBir4b1zrLu49ns6DWgkvXvX68P/gZtS8A7eaK5F58+1cdQyuW81P8GqaKghmimR/46PgX0e1ykkBubkawoukp/xbYIrOVPbzURYFn7HYth4obePk= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w9FnBojXmRsvM5LhWNhT6ZGlPd/bm9HA5N3cFL00qiCWoq6R48Vd4Y4QQ9sUb/jjiDG+UD/aMuADVKlxn9oSuQzy7knrqZ1Hr2r0lgNC7r+iAp6lWmD1JHv8tHRq1ufDXM34bCY0hf+4X6XbSEVuySXLxPgwdLundWen6lFbiEn5w6GvWnNY2r9MG8UmOtcI5ZKAiaSJ2T1FfLB/AEL97hYd4cht21xpRE85KicbCB+aRyG0LOz/Ra+G/mRGQlle3U66UNRle70dUM6yeFNaqCCm8zBxiUsVnVq2ucDsHdg9rLSOdSp68bD46HVF3mUIgWaYFxG4K2Bkflqqi/NYy1uJt4OfwR9d+sY19H1JO0hfnB3pK0O+wiN5SvzBTx9fQMFRaeVepwkvMvMvjicyMnyDEyKsIW5OTbLPqCwjQN5hjx+AFIVcrB1uLrCVHSdU1/NSmKaH3R7EZxgBd5qwoMKH3xgKdtflNgNmF6Wt6eWu0NIz7hSqiR+jbhWdjSWTNlDREh0/hCws28RDzJ1tFivsgEWFPAjobOjjoiwzLrph0mvmuR+ifeLM94pToHyC X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUFhK3BCeEkxOHAyQTE2ZXV6eFVOWWY3RmdoWGZXaFNZZnUzOWNwcERpK3pG?= =?utf-8?B?eDZ2YTdTWUpJMGNOWmRML29USDJOVXZ1MWkvT0JiZ213SE0xMDd2N2ppaVN3?= =?utf-8?B?ZGdrOVo4SEFreWVSem9xcFAzU2ZaVzNGcFZ1aG4xWVR5UFhGays1MFViWjEy?= =?utf-8?B?NWZLeWZiQnE1d0lPc1o0RUlwS25acElhSlBMT2NEK3c4aVIrYWFVMmZGNDJo?= =?utf-8?B?RFFLZHNnODRVT2hrMGlIaUpvVTNQSkhhYzdvR1A2VlJkTStaaW9TYXhpbW0y?= =?utf-8?B?Mkp0d2ZUU00zbHdZNG5JS1dUQVZWbkhHcXA3a1pGSmRFT3k1WTgxUm5Objl0?= =?utf-8?B?NWE5dTV1cGJYQmJWTU9LTmdQaThiVCtUbkdXMytYTng5b3JYQmdUc2RKamtL?= =?utf-8?B?cWtzRFZrbHM2ckx5RGl1OHA4L2J4Wk1XUEluTmRJK2FYNjdSRzE0YkxOTFN5?= =?utf-8?B?eVF6NmFyZXlhS3FmOWQwSzJHY0xJR3IzU0IxSU00RWNDWmQ5UVBrRUg1U0ZQ?= =?utf-8?B?K3B0VTRocnJxL0ZCdHNmbHFma2NObnkyWjUxeGEvRFMrZFdIMFRUVlRFQ2dC?= =?utf-8?B?WHhpZXZYazhFMjZScFFRaWF6QW9Jb0ZFRmRLVUxLRWZNcWVQRzlyS2h0eml6?= =?utf-8?B?amdLdjdDajFrR012MG9STWZXYmMxOUNHak9ET0FMb01JeUl2am1uZ1pKSVJk?= =?utf-8?B?YkY1K1pjOW9ZaXNDbWZqNUVBckVzVWJpYmtSbiszdDJZc0hobTZMbjdsVVFq?= =?utf-8?B?ODQ1Q0g4VmJ0b2s4V2hsT3pzOUlnUEVCWEc1aTNyemtNTllTQU5ScmVzV3ht?= =?utf-8?B?dUpwQkVGek1STlZlRGxNVTcrUjZFZE5UVVdoQ3d4MjZ3UXdISFVtSmlXSFVR?= =?utf-8?B?ZkVBUWpQa1Y5Uk96WXVwZXp6WFNUTmhHSUM4TUdCd05ENTBBelJLU2NlUWkx?= =?utf-8?B?dGIxN1owR2N6cnFrMWVNUzRabCtOMlJZbi9QUHlNVTRxUTYwRU5SSUx6Y2dl?= =?utf-8?B?aE1aVVRBZ3k4ejYwMFhSNUFSK09OdytPd3AzY3VCU2tMc2hKREFCNGNYNi9m?= =?utf-8?B?Ykl4WXFTY2dNTVZGOTlzMWZwSFZHRFFuU09HRUhJam5HNEt2dXZ6Tm1HRDBl?= =?utf-8?B?UXkxdDJFcWhsMCtZZVdWZjJMNEF1Q1Q3ZzJEZWxMYmVkT2FpV29ieXZ0dmhr?= =?utf-8?B?clp3eWVQcFd3MjVycnN6VWVOMk8yRElSa1NLa2I3Z1Q3MHVDbHRYYzU3UC9K?= =?utf-8?B?d3dCdXhITXpFNFR5ZTQ0WjVVSkpJM1d2ZkxUQkxhWHFCVGlnTkxhNnJBcGI5?= =?utf-8?B?RVcwRjdwVjMzYXhrMTIvcGFoMkFaa1FXVmpyS1ZsNlFLbmpvR1RSMzBEU1d4?= =?utf-8?B?ekF2UlAyQkJLQU1yeGJrWFE5OTFFNlEvM0RsdUZQeW5NNzIyR1hjUW9pSmI0?= =?utf-8?B?ZWRDU3FtZmZUVzl1NFVJN1UwdDJ2Y0ZYMXdXZGtGZkZ1d0hzbHVUTERrT0dK?= =?utf-8?B?NDNQRzUyTWtNRUkwSDBnd1pOTkNoQUlySDBhN0krdEVNekFPb01ZMWpnblVN?= =?utf-8?B?TjdnZHdEbDFwVFhjTmcxaGpzaXVGTW9KZUUxWVpVTHNUWSt1dEErNWMrTGJt?= =?utf-8?B?VXorcHFhSEJPV3VURWFtMWFrODBVU3I5b0MvZy9JelNWSjdDZW9aYnFTWFN3?= =?utf-8?B?cEtiZEJmaGQ4cVdUZ1NCR0IzVU9NNDBPckhhajdWZ2VkVHFyM2RqOVlRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff8b553d-f59d-4862-f4f0-08dc3799990f X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2024 13:40:01.9112 (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: AS8P250MB0153 Subject: Re: [FFmpeg-devel] [PATCH 2/7] avutil: 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. > --- > libavutil/jni.c | 28 ++++++++++++++++++++++++++++ > libavutil/jni.h | 17 +++++++++++++++++ > 2 files changed, 45 insertions(+) > > diff --git a/libavutil/jni.c b/libavutil/jni.c > index 541747cb20..d6f96717b0 100644 > --- a/libavutil/jni.c > +++ b/libavutil/jni.c > @@ -34,6 +34,7 @@ > #include "libavutil/jni.h" > > static void *java_vm; > +static void *android_app_ctx; > static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; > > int av_jni_set_jvm(void *vm, void *log_ctx) > @@ -63,6 +64,24 @@ void *av_jni_get_jvm(void *log_ctx) > return vm; > } > > +void av_jni_set_android_app_ctx(void *app_ctx) > +{ > + pthread_mutex_lock(&lock); > + android_app_ctx = app_ctx; > + pthread_mutex_unlock(&lock); > +} > + > +void *av_jni_get_android_app_ctx(void) > +{ > + void *ctx; > + > + pthread_mutex_lock(&lock); > + ctx = android_app_ctx; > + pthread_mutex_unlock(&lock); > + > + return ctx; > +} > + > #else > > int av_jni_set_java_vm(void *vm, void *log_ctx) > @@ -75,4 +94,13 @@ void *av_jni_get_java_vm(void *log_ctx) > return NULL; > } > > +void av_jni_set_android_app_ctx(void *app_ctx) > +{ > +} > + > +void *av_jni_get_android_app_ctx(void) > +{ > + return NULL; > +} > + > #endif > diff --git a/libavutil/jni.h b/libavutil/jni.h > index 700960dbb8..630f4074a1 100644 > --- a/libavutil/jni.h > +++ b/libavutil/jni.h > @@ -43,4 +43,21 @@ int av_jni_set_jvm(void *vm, void *log_ctx); > */ > void *av_jni_get_jvm(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 > + */ > +void av_jni_set_android_app_ctx(void *app_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); > + > + > #endif /* AVUTIL_JNI_H */ This adds global state in order to pass the application context to your protocol (in lieu of an option to pass pointers to a protocol). Can there be scenarios in which multiple application contexts are useful in the same process? - 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".