|
Tange Cloud for Device
Rev.362 |
多用户帧缓冲区导出接口 更多...
#include "platforms.h"结构体 | |
| struct | MUFHEADER |
| 帧头 更多... | |
| struct | MUFBCLT |
| mufb client 更多... | |
函数 | |
| int | TcfbClientInit (MUFBCLT *clt) |
| 初始化一个缓冲区用户 | |
| int | TcfbClientDestroy (MUFBCLT *clt) |
| 删除缓冲区用户 | |
| MUFHEADER * | TcfbFetchPreKeyFrame (MUFBCLT *clt) |
| 取最近的关键帧(用于预录) 使用完后调用 TcfbReleaseFrame() 释放 | |
| MUFHEADER * | TcfbFetchFrame (MUFBCLT *clt, int *b_overwritten) |
| 获取下一帧 使用完后调用mufb_release_frame()释放 | |
| int | TcfbGetFrameDataPtr (const MUFBCLT *clt, const MUFHEADER *pfh, struct iovec vec[2]) |
| 获取帧数据指针 | |
| int | TcfbReleaseFrame (MUFBCLT *clt, struct MUFHEADER *pfh) |
| 释放 Fetch 操作获取的数据帧, 并且内部指针前进到下一帧(下一次 TcfbFetchFrame() 返回新的帧) | |
多用户帧缓冲区导出接口
SDK的云存储模块在内部维护了一个循环缓冲区,用于保存要上传的音视频数据。
当缓冲区満时,最老的数据帧会被丢弃。
应用层可以复用这个缓冲机制,用于SD录像、网络传输等。
在文件 TgCloudApi_mufb.h 中定义.
| struct MUFHEADER |
帧头
在文件 TgCloudApi_mufb.h 第 20 行定义.
| 成员变量 | ||
|---|---|---|
| unsigned short | type | media type |
| unsigned short | flags | 1 - sync point, key frame |
| unsigned int | ts | timestamp, used by user |
| unsigned int | len | length of data(exclude header) |
| struct MUFBCLT |
mufb client
在文件 TgCloudApi_mufb.h 第 31 行定义.
| 成员变量 | ||
|---|---|---|
| struct mufbuffer * | fb | |
| int | clt_id | |
| int TcfbClientInit | ( | MUFBCLT * | clt | ) |
初始化一个缓冲区用户
| int TcfbClientDestroy | ( | MUFBCLT * | clt | ) |
取最近的关键帧(用于预录) 使用完后调用 TcfbReleaseFrame() 释放
获取下一帧 使用完后调用mufb_release_frame()释放
| clt | MUFBCLT 指针 |
| b_overwritten | when returns, indicates whether some frames are discarded |
获取帧数据指针
| clt | |
| pfh | pointer to frame header |
| vec | space to receive the pointer(s) of the frame |