Skip to content

frdmu/RingBuffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于环形缓冲区的单生产者单消费者模型demo

最近在写一个视频流服务器,有一个环节,需要用到两个线程,一个负责从视频文件解析视频帧,发送到环形缓冲区,另一个线程负责从缓冲区读取视频帧。

难点在于每一视频帧的大小不一样

解决方法是:写线程在发送到缓冲区的视频帧数据前加入该帧长度信息,读取线程只需要进行长度解析,再读取帧数据即可。

这是一个模拟例程

test.png 用于模拟输入的视频,每一帧的长度信息用random()随机生成。

运行

build

$ make

run

$ ./demo

clean

$ make clean

Releases

No releases published

Packages

No packages published