【CicadaPlayer】seek :SeekInCache(int64_t pos)的实现

SuperMediaPlayer::SeekInCache(int64_t pos) 的实现

  • seek的pos就是pts值。
  • 缓冲是list,那么插入的包是按照到达的顺序插入到list的,也就是无排序的。
  • 包的pts 正常应该单调连续,
  • 即使不单调连续,缓存也不在意。
  • seek的操作主要是先比较pos与mCurrentPos ,
  • pos 比 mCurrentPos 小,那么向后,向后就是从cache里查找pts
  • 向前也是在cache里查找。

媒体包队列是一个list : 链表

        std::list<mediaPacket> mQueue;

mPlayedAudioPts 初始化为INT64_MIN

        int64_t mPlayedAudioPts{
   INT64_MIN

你可能感兴趣的:(媒体播放器设计与实现,网络协议,rtmp,CicadaPlayer)