IPC and media progress design.
This commit is contained in:
parent
9099831066
commit
85ac294cb8
|
@ -262,6 +262,63 @@ ipc_config -->> -User:return
|
||||||
|
|
||||||
   基于C语言接口的多态单例模式,编译时静态多态链接对应的芯片平台适配代码,实现芯片接口的标准功能定义。
|
   基于C语言接口的多态单例模式,编译时静态多态链接对应的芯片平台适配代码,实现芯片接口的标准功能定义。
|
||||||
|
|
||||||
|
##### 1.4.2.3.2. 媒体适配方案:
|
||||||
|
|
||||||
|
   IPC应用在适配芯片平台的多媒体接口时,使用多进程的方式实现。满足IPC应用可以快起(无需等待媒体相关的初始化)的需求。
|
||||||
|
|
||||||
|
**媒体基本需求**
|
||||||
|
|
||||||
|
1. 图片抓拍;
|
||||||
|
2. 视频抓拍;
|
||||||
|
|
||||||
|
**多进程通信方案**
|
||||||
|
|
||||||
|
   使用本地socket的方式进行多进程通信,媒体进程为客户端,IPC应用为服务端(IPC先启动)。
|
||||||
|
|
||||||
|
1. 客户端可自动重连;
|
||||||
|
2. 服务端可多次关闭和开启,满足gtest资源回收需求;
|
||||||
|
|
||||||
|
##### 1.4.2.3.3. 适配层多进程类图
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
classDiagram
|
||||||
|
i_hal <.. hal:实现
|
||||||
|
hal --> v_media_handle:依赖
|
||||||
|
v_media_handle --> local_socket:依赖
|
||||||
|
local_socket .. media进程:跨进程
|
||||||
|
media进程 --> 芯片媒体API:依赖
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 1.4.2.3.4. 跨进程业务时序图
|
||||||
|
|
||||||
|
* 本地socket链接
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant hal
|
||||||
|
participant v_media_handle
|
||||||
|
participant local_socket_s
|
||||||
|
participant local_socket_c
|
||||||
|
participant media进程
|
||||||
|
participant 芯片媒体API
|
||||||
|
hal ->> +v_media_handle:初始化
|
||||||
|
v_media_handle ->> +local_socket_s:本地socket服务端启动
|
||||||
|
par 本地socket初始化
|
||||||
|
local_socket_s -->> -v_media_handle:return
|
||||||
|
v_media_handle -->> -hal:return
|
||||||
|
and
|
||||||
|
media进程 ->> media进程:启动
|
||||||
|
media进程 ->> +local_socket_c:初始化服务端
|
||||||
|
local_socket_c -->> local_socket_s:链接
|
||||||
|
local_socket_c -->> -media进程:return
|
||||||
|
local_socket_s -->> local_socket_c:初始化媒体
|
||||||
|
local_socket_c ->> media进程:回调回传协议事件
|
||||||
|
media进程 ->> +芯片媒体API:初始化媒体
|
||||||
|
芯片媒体API -->> -media进程:return
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
* 存在问题:
|
||||||
使用C语言开发时如何解决智能指针问题?
|
使用C语言开发时如何解决智能指针问题?
|
||||||
|
|
||||||
#### 1.4.2.4. 工具库(utils)
|
#### 1.4.2.4. 工具库(utils)
|
||||||
|
@ -364,6 +421,10 @@ https://gitee.com/RT-Thread-Mirror/TinyFrame
|
||||||
|
|
||||||
###### 1.4.2.4.7.2. 协议数据结构
|
###### 1.4.2.4.7.2. 协议数据结构
|
||||||
|
|
||||||
|
##### 1.4.2.4.8. 多进程协议库
|
||||||
|
|
||||||
|
   负责IPC应用和媒体进程之间的协议组包 / 拆包,在协议和业务之间进行转换接口的封装。
|
||||||
|
|
||||||
## 1.5. 自动化测试
|
## 1.5. 自动化测试
|
||||||
|
|
||||||
### 1.5.1. 自动化测试概述
|
### 1.5.1. 自动化测试概述
|
||||||
|
|
Loading…
Reference in New Issue
Block a user