Gstreamer流

Gstreamer流 翻译自part-streams.txt

Streams
----------------------
    这篇文档描述在流线程中从一个元素传递到另一个元素的对象。

Stream objects
~~~~~~~~~~~~~~
    如下的对象可能会出现在流线程中。
    - events
        - NEW_SEGMENT (NS)
        - EOS  (EOS)                  *
        - TAG               (T)
     - buffers              (B)          *
    *号标记的对象表示这些对象需要被同步到时钟。

Typical stream
~~~~~~~~~~~~~~
    一个典型的流以一个标记了buffer有效时间范围的newsegment event开始,发送了newsegment event后,数据buffer就一个接一个被发送 ,最后一个buffer后,EOS标记了流的结束。在EOS event后,不会再有buffer被处理。如下图:
    +--+ +-++-+     +-+ +---+
    |NS| |B||B| ... |B| |EOS|
    +--+ +-++-+     +-+ +---+
    1)NEW_SEGMENT, rate, start/stop, time
     - start,stop标记了buffer的有效时间。
     - time标记了stream time.
     - rate标记了待请求的播放速率.
     - applied_rate标记了已经采用的播放速率.
    2) N buffers
     - displayable buffers 的时间戳应于start和stop之间,范围之外的buffer应该被丢弃。
     - running_time:
         if (NS.rate > 0.0)
            running_time = (B.timestamp - NS.start) / NS.abs_rate + NS.accum
         else
             running_time = (NS.stop - B.timestamp) / NS.abs_rate + NS.accum
     - stream_time:
         stream_time = (B.timestamp - NS.start) * NS.abs_applied_rate + NS.time
         stream_time介于0和媒体长度之间.
  3) EOS
     - 标记数据的结束。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值