ANDROID:在不使用快速消息队列的情况下读取JNI中的mmaped缓冲区

时间:2019-09-25 12:24:48

标签: android mmap exoplayer

我有一个可以生成视频和音频数据的设备。 我们为Exoplayer实现了自定义数据源,以读取AV数据。 现在,我们正在将数据从内核缓冲区读取到快速消息队列中。 然后,我们将其从FMQ复制到JNI(java缓冲区)。 当玩家执行读取操作时,这又被读入玩家的缓冲区。 但是,我们希望提高其性能。

我们为驱动程序实现了mmap接口,从中可以直接访问内核缓冲区。 我们有一个服务器程序,它映射缓冲区并使用快速消息队列将其发送到JNI。 该服务器程序的SE策略是 sepolicy / xoserver.te:38:允许xoserver xover_misc_device:chr_file {读写open ioctl映射};

我想避免使用FMQ,而是直接将缓冲区访问权限授予JNI。 有没有一种方法可以从mmaped内核缓冲区直接复制到JNI缓冲区,而无需使用FMQ。 我在HIDL实施站点中找不到任何此类接口。

0 个答案:

没有答案