Tange Cloud for Device
Rev.333 |
多用户帧缓冲区导出接口 更多...
#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 |