5#ifndef DPLAYERBACKEND_H
6#define DPLAYERBACKEND_H
10#include <dtkmultimedia.h>
12DMULTIMEDIA_BEGIN_NAMESPACE
14using SubtitleInfo = QMap<QString, QVariant>;
15using AudioInfo = QMap<QString, QVariant>;
19 QList<SubtitleInfo> subs;
20 QList<AudioInfo> audios;
23class DPlayerBackendPrivate;
27 Q_PROPERTY(qint64 duration READ duration)
28 Q_PROPERTY(qint64 elapsed READ elapsed NOTIFY elapsedChanged)
29 Q_PROPERTY(QSize videoSize READ videoSize NOTIFY videoSizeChanged)
30 Q_PROPERTY(
bool paused READ paused)
31 Q_PROPERTY(
PlayState state READ state NOTIFY stateChanged)
82 virtual int aid()
const = 0;
83 virtual int sid()
const = 0;
95 virtual void setProperty(
const QString &,
const QVariant &) = 0;
105 void tracksChanged();
106 void elapsedChanged();
107 void videoSizeChanged();
111 void volumeChanged();
114 void processFrame(QVideoFrame &frame);
115 void notifyScreenshot(
const QImage &frame, qint64 time);
116 void mpvErrorLogsChanged(
const QString prefix,
const QString text);
117 void mpvWarningLogsChanged(
const QString prefix,
const QString text);
118 void urlpause(
bool status);
119 void sigMediaError();
137 QScopedPointer<DPlayerBackendPrivate> d_ptr;
139DMULTIMEDIA_END_NAMESPACE