媒体环形共享缓冲区写类(注意:所有操作都是非线程安全的)
#include "MediaRingBuffer.hpp"
◆ 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 | 获取地址与缓冲区起始地址的的偏移量 |