前言:
gstreamer里很多element都提供 QOS 机制,src,filter 和 sink 都有。Sink element 的 QOS 机制由 gstbasesink 统一提供。
qos (quality of service) 是一种评价机制,这个领域中都有这一概念,比如网络的qos。gstbasesink里的 qos 用来统计传入的 gstbuffer 的数据信息,然后发送 qos event 给上游 element ,从而让上游element 控制对 gstbasesink 的gstbuffer 输入速度,比如送的太快了,则发送一个 qos event 要求上游element 推送 gstbuffer 慢一点,如果推送 gstbuffer 慢了,则发送 qos event 要求上游推送快一点。
可以把 gstbasesink 里 的 qos 工作分为两块:
- 统计分析;
- qos event上报。
统计分析是一直在做的,当qos_enable设置true后,qos event上报功能被打开。