android camera data -> surface 显示

一、ais_v4l2_proxy -> v4l2loopback

这里就是将dev上申请的DMA buffer,在ais_server将camera data填充后,通知到ais_v4l2_proxy,然后proxy会将index、时间戳、帧信息cpoy到v4l2loopback中保存起来,等camera v4l2 hal来使用buffer的时候会告诉它用那个index等信息。

这就是为啥你在camera hal看到buffer交互是 "buffer.memory = V4L2_MEMORY_MMAP", 但是在kernal中会看到copy_to_user的操作。

camera data数据是内存映射,camera index、时间戳等信息是copy_to_user操作。

二、v4l2loopback -> c2d buffer

product surface bufffer -> consumer buffer

1、一般在android中向graphicbuffer填充数据的对象是app来绘制,但是camera中是camera hal来填充app申请的camera surface画面,然后通知consumer 去消费buffer

2、Camera3Device: : RequestThread::threadloop 一直再循环中当发现有可用的buffer后,就会将这个buffer set到camera hal去

相关推荐
编程乐学(Arfan开发工程师)2 小时前
06、基础入门-SpringBoot-依赖管理特性
android·spring boot·后端
androidwork2 小时前
使用 Kotlin 和 Jetpack Compose 开发 Wear OS 应用的完整指南
android·kotlin
繁依Fanyi4 小时前
Animaster:一次由 CodeBuddy 主导的 CSS 动画编辑器诞生记
android·前端·css·编辑器·codebuddy首席试玩官
奔跑吧 android6 小时前
【android bluetooth 框架分析 02】【Module详解 6】【StorageModule 模块介绍】
android·bluetooth·bt·aosp13·storagemodule
田一一一9 小时前
Android framework 中间件开发(三)
android·中间件·framework·jni
androidwork14 小时前
掌握 Kotlin Android 单元测试:MockK 框架深度实践指南
android·kotlin
田一一一14 小时前
Android framework 中间件开发(二)
android·中间件·framework
追随远方14 小时前
FFmpeg在Android开发中的核心价值是什么?
android·ffmpeg
神探阿航15 小时前
HNUST湖南科技大学-安卓Android期中复习
android·安卓·hnust
千里马-horse17 小时前
android vlc播放rtsp
android·media·rtsp·mediaplayer·vlc