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 0E8CC49BA1 for ; Mon, 4 Mar 2024 11:29:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 37F9668D43D; Mon, 4 Mar 2024 13:29:07 +0200 (EET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2041.outbound.protection.outlook.com [40.92.75.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DD21E68D3EB for ; Mon, 4 Mar 2024 13:28:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RphGlVMk2cjO9k610Ay3bOW3psgA6pSIkwD/BSgN+ejRwOJrTJlZYAV5mRJsxDGjmt3a+iNP0aPuRDzsyvHwnfEvykCtuJZPYpkRsnMuQH9PM+zsOpOt+g8X1HZz1fkK2dIOSfhRl5TpvkuJhVRCB3E1RcVQGCukWzqOnQPPH0stQT+Lb7jDg/yPsI3spGuqletw1M44rHxjYIHkrlAD987gKIuYP+xZI634Pq+OETuSdV4+OD282WKukFseBd7nxzHqFmgwuaDNz3CAEANWDwxr6y+Tob/ovq//Ccbi7TdExgsJlh1xHg34PEgMmcaL5TH1zTMqE8jMyeadmOgIGA== 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=b9GLPhFkS1dWB0gLbgvZL/xEZnyLea073vRSRAlZ8ak=; b=SS1MJSgKBgK5gW7Iuo+nwqgW+eMJi/LWSqA8+/ZrI5pAIK26S6C6rgj+vb5gb3jy8FxVwbsegyEWnEOcU5FC/kNjpCmuTLjXuZdgssWVcwt0VUuS8hCAAlDOkCIDwNSKUf8isX+wDNYEMzv9ri6iFKLOfnkr95tquQBgCmd7I3mKdk1NVF2KWCOvRleDtqteqTzaxkRyT+faZ4TNaJOFrgUrOhkPxzPU+JGbK/PISTWqcoUuBpco9+ldojqTfVUYmWt35My/W4+qSWaH0Pc2/iaVvA66KssvyQx+v6ZZHe0m2+RplD1eoA1TYBf3Af2Kd3rOEtdi0HUVXGILlH62GQ== 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=b9GLPhFkS1dWB0gLbgvZL/xEZnyLea073vRSRAlZ8ak=; b=VU0MujDdl1itspbDvZRGNTWewrgzkTigjap0CB+eHt6whvK57MJ+3UGYgyFs9G8NIfYZJVfc7eVwTffkST7zjXXbktUuyW50iqNdXDa5XUlvl8CnIJJNLaD73jyW5pju/Q1frP1UwcmJjVzRDQq1HV4Z5h23K4i8Cq9ViPKUPn0M6JdixHvf4qBqvCcHs0vwz7mGZns3HUrc7j4Cr/DdgPiYhdkLm0ETVFijsZDwRJprx9zmdPw1qqZiHlKGRAjLhIAIRg4vceCCz+GjKKGr5pFJUA8H//5BMimw4ao9fqS1Iuv0DgX79qmpNGqgzx2+EE8p1OLpknYawyMZ36dtXw== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by DB9P250MB0476.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:33b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.40; Mon, 4 Mar 2024 11:28:58 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::db07:87f6:7c75:38cc]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::db07:87f6:7c75:38cc%3]) with mapi id 15.20.7292.036; Mon, 4 Mar 2024 11:28:58 +0000 Message-ID: Date: Mon, 4 Mar 2024 12:30:55 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240213230418.457056-1-matthieu.bouron@gmail.com> <20240227145536.281991-1-matthieu.bouron@gmail.com> <20240227145536.281991-2-matthieu.bouron@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240227145536.281991-2-matthieu.bouron@gmail.com> X-TMN: [SfkHjMzMJlAuTgx1hMJ4s5oppAq5fSzMXBXXc9iOw1Q=] X-ClientProxiedBy: FR2P281CA0062.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::20) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|DB9P250MB0476:EE_ X-MS-Office365-Filtering-Correlation-Id: 78aeffe5-7705-4353-4f4d-08dc3c3e484c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K3+JqembBnDxCSmNHcnMUdCaKJhnfpfcOszNp7aPTDVa7l4teUHyW3k2xIFoJuLkGo3WOvc2W3qG2vZ0qf4zE/305+k/ouinjQ62dShzzNtRbWzZLld+f4hiHOhHiLJ93TZ8L/x/KBrtWKM5k5d/mk9gNuyMybRluWIe7gw5MOO3JS/66A/15eZxzxL0wra6nESuQCq9fCSBfsNX2fT930xpR7qr8qUDHd2q0qd4BvVy6aJ+Zd6MHvtWWCBKrxd+f3ATZvt2JsHpxZWs1b11jaRkfDQeR3Rytp/bIDmal2gcP7fraAZCkLjFaAWLRUFQi6poh0VcXwCooTVIXB3JuyAGto6QSwZtQ2YTg1JvxNaSjCnq0NpchmAK1xzv8iMR4qpaFWF9k3Y+vykOn8U1ZvhhxolJfhdKFAWtwCx/ElUuk92LbGpSLG966Zp9MVKvG8Q6MB0f+FxuL1S5X02L0qrtigis/5ugAHmN4A7GZsMNYYySLZfiULaVcBNzaRR7E4ZU9qVZtw3UYa4QJmLSkxwjP9EDFuZ5Ntt3stlxMpN5zPjHa902ocyZRrRYvhXj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFU0WE90MkZxd3QrSVZJMTBuM2hYMFBmeXdWb2tLMndaQlZUcThsdWVEOEMw?= =?utf-8?B?MUJYZzBETEZ2dTJlZ2tkN0VFM3ZGSld6N1dJS3FQOXFiY21UZlhYRHBEbDVG?= =?utf-8?B?cHZ0cG0vMzM2bUI5bVM5Rk02Y1RZWGR1SGk2UDBCNVUzdmlkYWJoVUhCWUIw?= =?utf-8?B?am1pdFNZZUtLRUhYcVBUdUlCcEVjN1RYSVc3cUNFdEZ2bDJsRFFhZ21uTmUy?= =?utf-8?B?Zk8zLzdsRHNtMGdyU0pDbS9Obm03VXcrNUNQR1d6dnArTXhkWEFDbW9RdGt0?= =?utf-8?B?R3ZOSlRVTjVBR2xaUmpiakZxdEt2OEVvYXNYRFlMdWJqR2tqV3Ywd2JURnhI?= =?utf-8?B?b3pjdUZJVDB5bks1VEZBZUxzQmxhb0NJcXZYRGJISlgyV3dKU0VGbmJLaFBN?= =?utf-8?B?MTRMSnhUM1dLWC9scTgxQWlUakVqd1VXUkxEQ2dUODJ6clFMWU4rcWhaT0JQ?= =?utf-8?B?UTRvdVhzcHZncDdPdjdzSnRyM0hYVTMraGM1bEpuNDVSd1ozVjkrNDFTYm5K?= =?utf-8?B?NkxsTEhQb01scHNkOTczUWhKUHNPay9WYURoUFN4akdJMzBrVit1Tms1NmYv?= =?utf-8?B?RmVKWjROQ0JwTGFLUHF6cSs5NnRFb2VxQ3dtZlRjL1NUdmgxY21qVGZreVNV?= =?utf-8?B?VTRHMGRFNlM1VWRndThzOW85Q01RMVVENTNwRlV1cVpqSkRXQ3o5WG1pNStL?= =?utf-8?B?aERkbHFjZlRGNktVNDAvOUJyamQ5RG83WFBUd3ViVWR6WmFQaTJtZHVIV2cw?= =?utf-8?B?ZUNRWVllcHNLbmFIS0pKZktreE5FRk9kU1hoQU9DTUJER250eUQrdlg5ajJJ?= =?utf-8?B?TE5ScTJrWUlUdjg0MGhnSmIxWkU1a0tobXlUbzE5ZU5VR2Q1NWFndUl1RWY4?= =?utf-8?B?ZUpkaEdrc01GbzhsMklMUElSZjBibXlOVjA0ZTZPbVc1dkViL1ZXeW1DRHNh?= =?utf-8?B?aHBRekEvQXQwSVlNcHRzMnlYM0NISXdZdFcxMlI5TkdyOWJOYWJPaFdoZFFF?= =?utf-8?B?QThCSUZTUGxrQUVuQ3lHU2tFUXoza2pscFhNVFJVSnlMU3gyTzRXRDk3dVhC?= =?utf-8?B?S3N6SW5zUDRsRXlnSWFoa3JqRmVKR1JkNm5yRXZlcVFSKzZOMnRxVDhqSVV6?= =?utf-8?B?c1pLajB5ZDZsNkJ5V013eUhaMzNFL0tJT0tpcWRibE1rL1YreDlFeEg2RWxw?= =?utf-8?B?OVU5b3A4em1zSXBIUUZUUU9GK1VaNE1XV2grSzVmSGVmdFRCSllVcE1rQzFZ?= =?utf-8?B?aXFzblpJRUp6TEZRMmUxSmxpVmtsMnROTE11aHpoYUFHUUVsMXR5Ujc4ZkFG?= =?utf-8?B?eS9STG56cG5XSXc3aGpmNGRPOEN6QlRTYWI1aGVDK2JwZFlmT1JtYTVua0Yr?= =?utf-8?B?a2c1MkNCci9FMDlFU1hIOEpYQUNFbkg3amRaZUFEOTliMUptK3VXclI1dXpJ?= =?utf-8?B?aGJsTjh6d2d1NEs2YWUzMnJHTzRZLzFYYjgzWTd6WG1JN0tLU3NXTkFGVlpn?= =?utf-8?B?aVA3R3p2ZmZNMEx4VEJhT3k4aFgzNkNtT1c4ZGtWNFRobUJQVklTVk5sT3Fs?= =?utf-8?B?SWdPUXdzR2NadGNWUmx0UTg3WVh1QmR6aFVQeGwweEFtUXZqM0c3T1JUczZa?= =?utf-8?B?M0E5L3hQK2pKa1RHOGE3ekRxZGxCM0dkODRDQWp2dDFESkhMQmk0RlJxMXI2?= =?utf-8?B?cVQxQ2ppUkxIQW9hWGpjRC9rK29kRWk1Zlk5Y3JJNUViWFRpK1V0N0F3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78aeffe5-7705-4353-4f4d-08dc3c3e484c X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2024 11:28:58.1449 (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: DB9P250MB0476 Subject: Re: [FFmpeg-devel] [PATCH v2 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. > --- > libavcodec/jni.c | 40 ++++++++++++++++++++++++++++++++++++++++ > libavcodec/jni.h | 17 +++++++++++++++++ > 2 files changed, 57 insertions(+) > > diff --git a/libavcodec/jni.c b/libavcodec/jni.c > index ae6490de9d..7d04d0a268 100644 > --- a/libavcodec/jni.c > +++ b/libavcodec/jni.c > @@ -64,6 +64,36 @@ void *av_jni_get_java_vm(void *log_ctx) > return vm; > } > > +int av_jni_set_android_app_ctx(void *app_ctx, void *log_ctx) > +{ > + JNIEnv *env = avpriv_jni_get_env(c); Patch #1 won't compile on its own due to this; you fix this up in patch #2. > + 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; > +} > + > +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) > @@ -76,4 +106,14 @@ void *av_jni_get_java_vm(void *log_ctx) > return NULL; > } > > +int av_jni_set_android_app_ctx(void *app_ctx, void *log_ctx) > +{ > + return AVERROR(ENOSYS); > +} > + > +void *av_jni_get_android_app_ctx(void) > +{ > + return NULL; > +} I am against adding stub functions on platforms where they are known to be useless, i.e. everything except android. > + > #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); > + > #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".