PonyPlayer
|
#include <demuxer.hpp>
Public 槽 | |
void | seek (qreal secs) |
void | setAudioIndex (StreamIndex index) |
void | openFile (const std::string &fn) |
void | backward () |
void | forward () |
信号 | |
void | openFileResult (PonyPlayer::OpenFileResultType result, QPrivateSignal) |
Public 成员函数 | |
Demuxer (QObject *parent) | |
~Demuxer () override | |
VideoFrameRef | getPicture () |
qreal | frontPicture () |
PONY_THREAD_SAFE int | skipPicture (const std::function< bool(qreal)> &predicate) |
AudioFrame | getSample () |
qreal | frontSample () |
PONY_THREAD_SAFE int | skipSample (const std::function< bool(qreal)> &predicate) |
qreal | audioDuration () |
qreal | videoDuration () |
QStringList | getTracks () |
PONY_THREAD_SAFE bool | isBackward () |
PONY_THREAD_SAFE bool | hasVideo () |
PONY_THREAD_SAFE void | pause () |
PONY_THREAD_SAFE bool | isFileOpen () |
PONY_GUARD_BY (FRAME) void flush() | |
PONY_THREAD_SAFE void | start () |
void | setEnableAudio (bool enable) |
PonyAudioFormat | getInputFormat () |
void | setOutputFormat (PonyAudioFormat format) |
void | close () |
void | setTrack (int i) |
void | test_onWork () |
生命周期伴随整个程序运行.
|
inlineexplicit |
|
inlineoverride |
|
inline |
|
inlineslot |
倒放视频, 必须保证解码器线程空闲且缓冲区为空. 方法返回后保证产生的帧是在时间正确.
secs | 视频进度(单位: s) |
|
inline |
|
inlineslot |
正向播放视频, 必须保证解码器线程空闲且缓冲区为空. 方法返回后保证产生的帧是在时间正确.
secs | 视频进度(单位: s) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
当前是否倒放
|
inline |
|
inlineslot |
打开文件
fn | 本地文件路径 |
|
signal |
|
inline |
向 DecodeThread 发送信号尽快暂停解码, 并唤醒阻塞在上面的线程.
|
inline |
清空旧的帧, 这个方法会阻塞直到队列中的所有旧帧清理完成.
|
inlineslot |
调整视频进度, 必须保证解码器线程空闲且缓冲区为空. 方法返回后保证产生的帧是在时间正确.
一次完整的调整进度操作应该为:
secs | 视频进度(单位: s) |
|
inlineslot |
|
inline |
|
inline |
设置 demuxer 输出格式, 必须保证 demuxer 已停止, 需要重新 seek 才能保证获取到正确的帧
format |
|
inline |
|
inline |
|
inline |
|
inline |
在 DecodeThread 启动解码器, 这个方法是非阻塞的, 但是可以保证返回后队里请求能够被阻塞.
|
inline |
|
inline |