|
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 内被实现.