云计算百科
云计算领域专业知识百科平台

10-GStreamer多线程模型-queue-tee与Backpressure

GStreamer 多线程模型:queue、tee 与 Backpressure

专栏:GStreamer C++ 从零到工程实战 · 第 11 篇 / 共 17 篇

理解 streaming thread、queue 线程边界、有界队列、阻塞与丢帧策略,并掌握 tee 多分支为何需要独立 queue。

第 13 课:线程 / queue / tee / Backpressure

GStreamer 的数据流通常由 streaming thread 推动。

先看最简单的 Pipeline:

videotestsrc → videoconvert → autovideosink

在常见 push-mode 下,上游调用下游,调用链可能发生在同一条 streaming thread 中。

source 产生 Buffer
↓ push
convert 处理
↓ push
sink 消费

如果下游慢,上游的这次调用就会晚返回。

一、Backpressure 不是错误

下游处理不完

上游 push 被阻塞

生产速度下降

这叫 Backpressure。

它能阻止内存无限增长,是流系统中必要的反馈机制。

二、queue 做了什么?</

赞(0)
未经允许不得转载:网硕互联帮助中心 » 10-GStreamer多线程模型-queue-tee与Backpressure
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!