PonyPlayer
|
#include <decoders.hpp>
Public 类型 | |
enum class | DecoderType { Audio , Video , Common } |
Public 成员函数 | |
virtual bool | accept (AVPacket *pkt, std::atomic< bool > &interrupt)=0 |
virtual void | flushFFmpegBuffers ()=0 |
virtual VideoFrameRef | getPicture ()=0 |
virtual AudioFrame | getSample ()=0 |
virtual qreal | viewFront ()=0 |
virtual int | skip (const std::function< bool(qreal)> &predicate)=0 |
virtual double | duration ()=0 |
virtual void | setEnable (bool b)=0 |
virtual | ~IDemuxDecoder ()=default |
virtual void | setFollower (IDemuxDecoder *follower) |
virtual void | pushFrameStack () |
virtual qreal | getLastPts () |
virtual void | clearFrameStack () |
virtual void | setStart (qreal secs) |
virtual qreal | nextSegment () |
virtual PonyAudioFormat | getInputFormat ()=0 |
virtual void | setOutputFormat (const PonyAudioFormat &format)=0 |
|
strong |
|
virtualdefault |
|
pure virtual |
接收一个包
pkt |
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common > , 以及 VirtualVideoDecoder 内被实现.
|
inlinevirtual |
|
pure virtual |
获取流的长度
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common >, DecoderImpl< type >, DecoderImpl< Common > , 以及 VirtualVideoDecoder 内被实现.
|
pure virtual |
清空 FFmpeg 内部缓冲区
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common > , 以及 VirtualVideoDecoder 内被实现.
|
pure virtual |
|
inlinevirtual |
|
pure virtual |
获取视频帧并从队列中删除, 仅当当前解码器是视频解码器时有效
b | 是否阻塞 |
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common >, ReverseDecoderImpl< Video >, DecoderImpl< type >, DecoderImpl< Common >, DecoderImpl< Video > , 以及 VirtualVideoDecoder 内被实现.
|
pure virtual |
获取音频帧并从队列中删除, 仅当当前解码器是音频解码器时有效
b | 是否阻塞 |
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common >, ReverseDecoderImpl< Audio >, DecoderImpl< type >, DecoderImpl< Common >, DecoderImpl< Audio > , 以及 VirtualVideoDecoder 内被实现.
|
inlinevirtual |
|
inlinevirtual |
|
pure virtual |
|
inlinevirtual |
|
pure virtual |
|
inlinevirtual |
|
pure virtual |
线性扫描移除满足条件的帧, 当发现帧不满足条件时, 结束扫描
predicate | 条件 |
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common >, ReverseDecoderImpl< Video >, DecoderImpl< type >, DecoderImpl< Common > , 以及 VirtualVideoDecoder 内被实现.
|
pure virtual |
获取队首帧的PTS, 若不存在, 返回NaN
在 ReverseDecoderImpl< type >, ReverseDecoderImpl< Common >, ReverseDecoderImpl< Video >, DecoderImpl< type >, DecoderImpl< Common > , 以及 VirtualVideoDecoder 内被实现.