123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef RVC_LOG_LIBSHAREQUEUE
- #define RVC_LOG_LIBSHAREQUEUE
- #define MAX_SHAREQUEUE_LENS 4000 //视频队列最大节点数量
- #define MAX_SHAREQNODE_SIZE 8000 //队列单个节点默认最大长度
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct _shareq_frame
- {
- int size;
- unsigned char* data;
- }shareq_frame;
- typedef struct Clibsharequeue_t Clibsharequeue;
- //queuename:用于访问共享内存的共享内存文件名。size:默认最大长度,一般使用默认值即可
- Clibsharequeue* ClibsharequeueCreate(char* queuename,int size);
- Clibsharequeue* ClibsharequeueCreate2(char* queuename);
- Clibsharequeue* ClibsharequeueCreate3(char* queuename, int newcreate);
-
- void ClibsharequeueDestroy(Clibsharequeue* queue);
- //插入数据到队头
- int ClibsharequeueInsert(Clibsharequeue* queue, shareq_frame* data, unsigned int nowtime);
- //读取队头数据
- int ClibsharequeueGet(Clibsharequeue* queue, shareq_frame* data);
- //读取队头图像并删除
- int ClibsharequeueGetAndDel(Clibsharequeue* queue, shareq_frame* data);
- //获取最后的帧时间
- unsigned int ClibsharequeueGetLastFrameTime(Clibsharequeue* queue);
- //获取帧大小
- int ClibsharequeueGetFrameSize(Clibsharequeue* queue);
- //获取队列的长度
- int ClibsharequeueGetLens(Clibsharequeue* queue);
- //清空队列
- void ClibsharequeueClearQueue(Clibsharequeue* queue);
- //删除头部节点
- void ClibsharequeueDeleteHead(Clibsharequeue* queue);
- #ifdef __cplusplus
- }
- #endif
- #endif
|