PonyPlayer
ReverseDecodeDispatcher类 参考

反向解码器调度器 更多...

#include <dispatcher.hpp>

类 ReverseDecodeDispatcher 继承关系图:
DemuxDispatcherBase

信号

void signalStartWorker (QPrivateSignal)
 

Public 成员函数

 ReverseDecodeDispatcher (const std::string &fn, QObject *parent=nullptr)
 
 ~ReverseDecodeDispatcher () override
 
PONY_THREAD_SAFE void statePause () override
 
PONY_THREAD_SAFE void flush () override
 
PONY_THREAD_SAFE void stateResume () override
 
void seek (qreal secs) override
 
PONY_THREAD_SAFE VideoFrameRef getPicture () override
 
PONY_THREAD_SAFE qreal frontPicture () override
 
PONY_THREAD_SAFE AudioFrame getSample () override
 
PONY_THREAD_SAFE qreal frontSample () override
 
void setEnableAudio (bool enable) override
 
PonyAudioFormat getAudioInputFormat () override
 
void setAudioOutputFormat (PonyAudioFormat format) override
 
bool hasVideo () override
 
void test_onWork () override
 
void setTrack (int i) override
 
QStringList getTracks ()
 
void setAudioIndex (StreamIndex i)
 
- Public 成员函数 继承自 DemuxDispatcherBase
virtual int skipPicture (const std::function< bool(qreal)> &function)
 
virtual int skipSample (const std::function< bool(qreal)> &function)
 

额外继承的成员函数

- Public 属性 继承自 DemuxDispatcherBase
const std::string filename
 
- Protected 成员函数 继承自 DemuxDispatcherBase
 DemuxDispatcherBase (const std::string &fn, QObject *parent)
 
 ~DemuxDispatcherBase () override
 
- Protected 属性 继承自 DemuxDispatcherBase
AVFormatContext * fmtCtx = nullptr
 
bool isAudio = false
 

详细描述

反向解码器调度器

构造及析构函数说明

◆ ReverseDecodeDispatcher()

ReverseDecodeDispatcher::ReverseDecodeDispatcher ( const std::string &  fn,
QObject *  parent = nullptr 
)
inlineexplicit

◆ ~ReverseDecodeDispatcher()

ReverseDecodeDispatcher::~ReverseDecodeDispatcher ( )
inlineoverride

成员函数说明

◆ flush()

PONY_THREAD_SAFE void ReverseDecodeDispatcher::flush ( )
inlineoverridevirtual

◆ frontPicture()

PONY_THREAD_SAFE qreal ReverseDecodeDispatcher::frontPicture ( )
inlineoverridevirtual

◆ frontSample()

PONY_THREAD_SAFE qreal ReverseDecodeDispatcher::frontSample ( )
inlineoverridevirtual

◆ getAudioInputFormat()

PonyAudioFormat ReverseDecodeDispatcher::getAudioInputFormat ( )
inlineoverridevirtual

实现了 DemuxDispatcherBase.

◆ getPicture()

PONY_THREAD_SAFE VideoFrameRef ReverseDecodeDispatcher::getPicture ( )
inlineoverridevirtual

◆ getSample()

PONY_THREAD_SAFE AudioFrame ReverseDecodeDispatcher::getSample ( )
inlineoverridevirtual

◆ getTracks()

QStringList ReverseDecodeDispatcher::getTracks ( )
inline

◆ hasVideo()

bool ReverseDecodeDispatcher::hasVideo ( )
inlineoverridevirtual

◆ seek()

void ReverseDecodeDispatcher::seek ( qreal  secs)
inlineoverridevirtual

修改视频播放进度, 注意: 这个方法必须在解码线程上调用.

参数
secs新的视频进度(单位: 秒)

重载 DemuxDispatcherBase .

◆ setAudioIndex()

void ReverseDecodeDispatcher::setAudioIndex ( StreamIndex  i)
inline

◆ setAudioOutputFormat()

void ReverseDecodeDispatcher::setAudioOutputFormat ( PonyAudioFormat  format)
inlineoverridevirtual

实现了 DemuxDispatcherBase.

◆ setEnableAudio()

void ReverseDecodeDispatcher::setEnableAudio ( bool  enable)
inlineoverridevirtual

◆ setTrack()

void ReverseDecodeDispatcher::setTrack ( int  i)
inlineoverridevirtual

◆ signalStartWorker

void ReverseDecodeDispatcher::signalStartWorker ( QPrivateSignal  )
signal

◆ statePause()

PONY_THREAD_SAFE void ReverseDecodeDispatcher::statePause ( )
inlineoverridevirtual

保证阻塞获取结果的线程尽快被唤醒, 同时请求 DecodeThread 的工作尽快停止.

重载 DemuxDispatcherBase .

◆ stateResume()

PONY_THREAD_SAFE void ReverseDecodeDispatcher::stateResume ( )
inlineoverridevirtual

保证可以阻塞地获取 Picture 和 Sample. 这个方法是线程安全的.

重载 DemuxDispatcherBase .

◆ test_onWork()

void ReverseDecodeDispatcher::test_onWork ( )
inlineoverridevirtual

实现了 DemuxDispatcherBase.

类成员变量说明

◆ audioDuration

qreal ReverseDecodeDispatcher::audioDuration = std::numeric_limits<qreal>::quiet_NaN()

◆ m_audioStreamsIndex

std::vector<StreamIndex> ReverseDecodeDispatcher::m_audioStreamsIndex

◆ m_videoStreamsIndex

std::vector<StreamIndex> ReverseDecodeDispatcher::m_videoStreamsIndex

◆ streamInfos

std::vector<StreamInfo> ReverseDecodeDispatcher::streamInfos

◆ videoDuration

qreal ReverseDecodeDispatcher::videoDuration = std::numeric_limits<qreal>::quiet_NaN()

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