Player::Player(BackendPluginBase *backendPlugin, QObject *parent)
: QObject(parent) {
- if (!backendPlugin) {
- qCCritical(playerCategory)
- << "Trying to create a player without a backendPlugin";
- return;
- }
+ Q_ASSERT(backendPlugin);
qCDebug(playerCategory) << "Creating player" << this;
m_backend = backendPlugin->createInstance(this);
Q_CHECK_PTR(m_backend);
qRegisterMetaType<TimeStamp>("TimeStamp");
qRegisterMetaType<StreamIndex>("StreamIndex");
qRegisterMetaType<Volume>("Volume");
- qmlRegisterType<Player>("org.aptx.aniplayer", 1, 0, "Player");
+ qmlRegisterUncreatableType<Player>(
+ "org.aptx.aniplayer", 1, 0, "Player",
+ "The player is provided to QML as the 'player' global variable.");
}
bool Player::canLoadVideoNow() const {
static const constexpr Volume MAX_VOLUME = Volume{1.0};
- // BackendPluginBase * allowed to be null because this is exposed to QML
- // for the enums/types. Player should never be created in QML.
- explicit Player(BackendPluginBase * = nullptr, QObject *parent = nullptr);
+ explicit Player(BackendPluginBase *, QObject *parent = nullptr);
~Player() override;
enum class PlayState {