Gstreamer 预滚(Preroll)

预滚 翻译自part-preroll.txt

预滚(Preroll)
-----------------
    一个sink元素只有当有一个buffer被缓冲到sink pad里面时,才能够完成到PAUSED状态的改变,这个过程就被称为预滚(Preroll),这样做是为了能够尽快的进入到PLAYING状态,以免给用户造成视觉上的延迟。
    预滚(Preroll)在音视频同步方面是非常关键的,确保不会有buffer被sink元素抛弃。
    当接收到buffer或者EOS事件后,chain/event函数应该等待渲染buffer,或者在EOS状态下,等待投递post消息。在等待的过程中,sink元素等待预滚(Preroll)条件满足的消息。
    预滚消息需要几个条件准备好,这个包括状态改变或者flush事件的发生。

Committing the state
~~~~~~~~~~~~~~~~~~~~
    当转变成PAUSED和PLAYING状态时,必须有一个buffer缓存在sink pad里面。
    状态改变完成需要

你可能感兴趣的:(Gstreamer 预滚(Preroll))