PonyPlayer
|
#include <forward.hpp>
Public 成员函数 | |
DecoderImpl (AVStream *vs, TwinsBlockQueue< AVFrame * > *queue) | |
VideoFrameRef | getPicture () override |
~DecoderImpl () override | |
![]() | |
DecoderImpl (AVStream *vs, TwinsBlockQueue< AVFrame * > *queue) | |
PONY_THREAD_SAFE double | duration () override |
PONY_GUARD_BY (DECODER) bool accept(AVPacket *pkt | |
PONY_GUARD_BY (DECODER) void flushFFmpegBuffers() override | |
if (ret< 0) | |
while (ret >=0 &&!interrupt) | |
PONY_THREAD_SAFE VideoFrameRef | getPicture () override |
PONY_THREAD_SAFE AudioFrame | getSample () override |
PonyAudioFormat | getInputFormat () override |
void | setOutputFormat (const PonyAudioFormat &format) override |
PONY_THREAD_SAFE qreal | viewFront () override |
PONY_THREAD_SAFE int | skip (const std::function< bool(qreal)> &predicate) override |
PONY_THREAD_SAFE void | setEnable (bool b) override |
![]() | |
DecoderContext (AVStream *vs) | |
~DecoderContext () | |
![]() | |
virtual bool | accept (AVPacket *pkt, std::atomic< bool > &interrupt)=0 |
virtual void | flushFFmpegBuffers ()=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 () |
额外继承的成员函数 | |
![]() | |
enum class | DecoderType { Audio , Video , Common } |
![]() | |
std::atomic< bool > &interrupt | override |
int | ret |
return | false |
![]() | |
AVCodec * | codec = nullptr |
AVStream * | stream = nullptr |
AVCodecContext * | codecCtx = nullptr |
AVFrame * | frameBuf = nullptr |
![]() | |
TwinsBlockQueue< AVFrame * > * | frameQueue |
视频解码器实现
|
inline |
|
inlineoverride |
|
inlineoverridevirtual |