Emx::MediaRingBufferWriter类 参考

媒体环形共享缓冲区写类(注意:所有操作都是非线程安全的)

#include "MediaRingBuffer.hpp"

Public 成员函数

ErrCodeE Create (int32_t key, int32_t size=0)
 创建或关联一个缓冲区 更多...
 
void Destroy ()
 销毁或断开缓冲区 更多...
 
int32_t Push (char *data, int32_t size, uint32_t magicId)
 发送数据到缓冲区 更多...
 
int32_t GetFreeBuffer (int32_t size, uint32_t magicId, char **data)
 从缓冲区获取一块内存 更多...
 

成员函数说明

◆ Create()

ErrCodeE Emx::MediaRingBufferWriter::Create ( int32_t  key,
int32_t  size = 0 
)
参数
key[in] 缓冲区的识别码
size[in] 缓冲区的大小
返回
ErrCodeE

◆ Destroy()

void Emx::MediaRingBufferWriter::Destroy ( )
inline

◆ Push()

int32_t Emx::MediaRingBufferWriter::Push ( char *  data,
int32_t  size,
uint32_t  magicId 
)
参数
data[in] 数据内存地址
size[in] 数据大小
magicId[in] 用于判断数据是否被改写,尽量保证每次push都会变化
返回值
-1:失败
other写入地址与缓冲区起始地址的的偏移量

◆ GetFreeBuffer()

int32_t Emx::MediaRingBufferWriter::GetFreeBuffer ( int32_t  size,
uint32_t  magicId,
char **  data 
)
参数
size[in] 期望获取内存大小
magicId[in] 用于判断数据是否被改写,尽量保证每次Get都会变化
data[out] 获取到的内存地址
返回值
-1:失败
other获取地址与缓冲区起始地址的的偏移量