QVariant Effect::parameterValue(const EffectParameter ¶m) const { K_D(const Effect); if (!d->m_backendObject) { return d->parameterValues[param]; } return INTERFACE_CALL(parameterValue(param)); }
void Effect::setParameterValue(const EffectParameter ¶m, const QVariant &newValue) { K_D(Effect); d->parameterValues[param] = newValue; if (d->backendObject()) { INTERFACE_CALL(setParameterValue(param, newValue)); } }
qint64 MediaObject::totalTime() const { K_D(const MediaObject); if (!d->m_backendObject) { return -1; } return INTERFACE_CALL(totalTime()); }
QList<EffectParameter> Effect::parameters() const { K_D(const Effect); // there should be an iface object, but better be safe for those backend // switching corner-cases: when the backend switches the new backend might // not support this effect -> no iface object if (d->m_backendObject) { return INTERFACE_CALL(parameters()); } return QList<EffectParameter>(); }
ErrorType MediaObject::errorType() const { if (state() == Phonon::ErrorState) { K_D(const MediaObject); if (d->errorOverride) { return d->errorType; } return INTERFACE_CALL(errorType()); } return Phonon::NoError; }
QString MediaObject::errorString() const { if (state() == Phonon::ErrorState) { K_D(const MediaObject); if (d->errorOverride) { return d->errorString; } return INTERFACE_CALL(errorString()); } return QString(); }
qint64 MediaObject::remainingTime() const { K_D(const MediaObject); if (!d->m_backendObject) { return -1; } qint64 ret = INTERFACE_CALL(remainingTime()); if (ret < 0) { return -1; } return ret; }
ErrorType MediaObject::errorType() const { if (state() == Phonon::ErrorState) { K_D(const MediaObject); #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM if (d->errorOverride) { return d->errorType; } #endif // QT_NO_PHONON_ABSTRACTMEDIASTREAM return INTERFACE_CALL(errorType()); } return Phonon::NoError; }
Phonon::State MediaObject::state() const { K_D(const MediaObject); if (d->errorOverride) { return d->state; } if (d->ignoreLoadingToBufferingStateChange) { return BufferingState; } if (d->ignoreErrorToLoadingStateChange) { return LoadingState; } if (!d->m_backendObject) { return d->state; } return INTERFACE_CALL(state()); }
Phonon::State MediaObject::state() const { K_D(const MediaObject); #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM if (d->errorOverride) { return d->state; } if (d->ignoreLoadingToBufferingStateChange) { return BufferingState; } if (d->ignoreErrorToLoadingStateChange) { return LoadingState; } #endif // QT_NO_PHONON_ABSTRACTMEDIASTREAM if (!d->m_backendObject) { return d->state; } return INTERFACE_CALL(state()); }
void MediaObject::setCurrentSource(const MediaSource &newSource) { K_D(MediaObject); if (!k_ptr->backendObject()) { d->mediaSource = newSource; return; } pDebug() << Q_FUNC_INFO << newSource.url(); stop(); // first call stop as that often is the expected state // for setting a new URL MediaSource::Type oldSourceType = d->mediaSource.type(); d->mediaSource = newSource; d->kiofallback = 0; // kiofallback auto-deletes //X if (url.scheme() == "http") { //X d->kiofallback = Platform::createMediaStream(url, this); //X if (d->kiofallback) { //X ... //X return; //X } //X } if (d->mediaSource.type() == MediaSource::Stream) { Q_ASSERT(d->mediaSource.stream()); d->mediaSource.stream()->d_func()->setMediaObjectPrivate(d); } else if (d->mediaSource.type() == MediaSource::Invalid) { pWarning() << "requested invalid MediaSource for the current source of MediaObject"; return; } if (d->mediaSource.type() == MediaSource::Url && oldSourceType != MediaSource::Url) { disconnect(d->m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SIGNAL(stateChanged(Phonon::State, Phonon::State))); connect(d->m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(_k_stateChanged(Phonon::State, Phonon::State))); } else if (d->mediaSource.type() != MediaSource::Url && oldSourceType == MediaSource::Url) { disconnect(d->m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(_k_stateChanged(Phonon::State, Phonon::State))); connect(d->m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SIGNAL(stateChanged(Phonon::State, Phonon::State))); } INTERFACE_CALL(setSource(d->mediaSource)); }