PonyPlayer
ReverseDecoderImpl< Audio >类 参考

#include <backward.hpp>

类 ReverseDecoderImpl< Audio > 继承关系图:
ReverseDecoderImpl< Common > DecoderContext IDemuxDecoder

Public 成员函数

 ReverseDecoderImpl (AVStream *vs, TwinsBlockQueue< AVFrame * > *queue)
 
 ~ReverseDecoderImpl () override
 
void reverseSample (uint8_t *samples, int len)
 
PONY_THREAD_SAFE AudioFrame getSample () override
 
PonyAudioFormat getInputFormat () override
 
void setOutputFormat (const PonyAudioFormat &format) override
 
- Public 成员函数 继承自 ReverseDecoderImpl< Common >
 ReverseDecoderImpl (AVStream *vs, TwinsBlockQueue< AVFrame * > *queue)
 
void setFollower (IDemuxDecoder *follower) override
 
void pushFrameStack () override
 
qreal getLastPts () override
 
void clearFrameStack () override
 
void setStart (qreal secs) override
 
qreal nextSegment () override
 
double duration () override
 
 ~ReverseDecoderImpl () override
 
bool accept (AVPacket *pkt, std::atomic< bool > &interrupt) override
 
void flushFFmpegBuffers () override
 
VideoFrameRef getPicture () override
 
AudioFrame getSample () override
 
PONY_THREAD_SAFE void setEnable (bool b) override
 
qreal viewFront () override
 
PonyAudioFormat getInputFormat () override
 
void setOutputFormat (const PonyAudioFormat &format) override
 
int skip (const std::function< bool(qreal)> &predicate) override
 
- Public 成员函数 继承自 DecoderContext
 DecoderContext (AVStream *vs)
 
 ~DecoderContext ()
 
- Public 成员函数 继承自 IDemuxDecoder
virtual ~IDemuxDecoder ()=default
 

额外继承的成员函数

- Public 类型 继承自 IDemuxDecoder
enum class  DecoderType { Audio , Video , Common }
 
- Public 属性 继承自 DecoderContext
AVCodec * codec = nullptr
 
AVStream * stream = nullptr
 
AVCodecContext * codecCtx = nullptr
 
AVFrame * frameBuf = nullptr
 
- Protected 属性 继承自 ReverseDecoderImpl< Common >
const qreal interval
 
TwinsBlockQueue< AVFrame * > * frameQueue
 
std::vector< AVFrame * > * frameStack
 
IDemuxDecoderm_follower
 
qreal lastPts
 
qreal from
 
qreal next
 

构造及析构函数说明

◆ ReverseDecoderImpl()

ReverseDecoderImpl< Audio >::ReverseDecoderImpl ( AVStream *  vs,
TwinsBlockQueue< AVFrame * > *  queue 
)
inline

◆ ~ReverseDecoderImpl()

ReverseDecoderImpl< Audio >::~ReverseDecoderImpl ( )
inlineoverride

成员函数说明

◆ getInputFormat()

PonyAudioFormat ReverseDecoderImpl< Audio >::getInputFormat ( )
inlineoverridevirtual

实现了 IDemuxDecoder.

◆ getSample()

PONY_THREAD_SAFE AudioFrame ReverseDecoderImpl< Audio >::getSample ( )
inlineoverridevirtual

获取音频帧并从队列中删除, 仅当当前解码器是音频解码器时有效

参数
b是否阻塞
返回
音频帧, 请用 isValid 判断是否有效

实现了 IDemuxDecoder.

◆ reverseSample()

void ReverseDecoderImpl< Audio >::reverseSample ( uint8_t *  samples,
int  len 
)
inline

◆ setOutputFormat()

void ReverseDecoderImpl< Audio >::setOutputFormat ( const PonyAudioFormat format)
inlineoverridevirtual

实现了 IDemuxDecoder.


该类的文档由以下文件生成: