IPC and media progress design.

This commit is contained in:
xiaojiazhu 2023-08-15 16:04:38 -07:00
parent 9099831066
commit 85ac294cb8

View File

@ -262,6 +262,63 @@ ipc_config -->> -User:return
   基于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语言开发时如何解决智能指针问题
#### 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.8. 多进程协议库
&emsp;&emsp; 负责IPC应用和媒体进程之间的协议组包 / 拆包,在协议和业务之间进行转换接口的封装。
## 1.5. 自动化测试
### 1.5.1. 自动化测试概述