文档介绍:Android 的 Video 输入输出系统
Android 的 Video 输入输出系统
第一部分 Video 输入输出系统的综
述
第二部分 Overlay 系统
第三部分 Overlay 的硬件抽象层
第四部分 Camera 系统与上层接口
第五部分 Camera 的硬件抽象层
第一部分 Video 输入输出系统的综述
在 Android 系统中,视频的输入、输
出具有特定的架构。
视频输入输出的两个部分是:
视频输入: Camera 系统
既作为视频输入的接口,也作为照相机
应用的下层实现。
视频输出: Overlay 系统
一般作为视频输出的单独层次,在硬件
支持中实现。
第一部分 Video 输入输出系统的综述
Android 的 Overlay 系统结构
Overlay API
Overlay SurfaceFlinger
Overlay Hardware Interface
Overlay HAL 实现
C框架
内核空间
Video Output Driver
第一部分 Video 输入输出系统的综述
Overlay 相关的代码路径:
Overlay 框架部分的头文件和源文件:
frameworks/base/include/ui/
frameworks/base/libs/ui/
主要为类是 IOverlay 和 Overlay ,源代码被编译成
库 。
与 Overlay 相关的 SurfaceFlinger :
framework/base/libs/surfaceflinger/
主要的类是 LayerBuffer 。
Overlay 的硬件抽象层的接口:
hardware/libhardware/include/hardware/
第一部分 Video 输入输出系统的综述
Android 的 Camera 系统结构
Java Camera Class
()
Java 框架
Camera JNI
Camera API
IPC
Camera Service
Camera
Camera Hardware Interface
Camera HAL 实现
C框架
内核空间
Camera Driver
第一部分 Video 输入输出系统的综述
Camera 相关的代码路径:
Camera 框架部分的头文件和源文件:
frameworks/base/include/ui/
frameworks/base/libs/ui/
这部分的内容被编译成库 。
Camera 服务部分:
frameworks/base/camera/libcameraservice/
这部分内容被编译成库 。
第一部分 Video 输入输出系统的综述
Camera 的 JAVA 本地调用部分( JNI ):
frameworks/base/core/jni/
Camera 的 JAVA 类:
frameworks/base/core/java/android/hardware/
Camera 的硬件抽象层的定义:
frameworks/base/include/ui/
目录之中的
第二部分 Overlay 系统
在 Android 中, Overlay 系统提供
overlay 接口,这个接口的含义是叠加在主的显
示层上的另外一个显示层,这个叠加的显示层通
常作为视频的输出或者照相机取景器的预览界面
来使用。
Overlay 通过 ISurface 接口来使用,这个
Overlay 的使用与 ISurface 中的
registerBuffers , postBuffer , unregisterBuffer
s 几个接口是并立的,使用 Overlay 接口将和
SurfaceFlinger 中的显示等功能无关。
第二部分 Overlay 系统
标题标题