|
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 |