Beispiel #1
0
void MediaObject::readyContent()
{
    d->tickTimer->stop();
    if (d->content)
        delete d->content;

    if (d->sources.empty()) {
        emit finished();
        return;
    }

    MediaSource const& h = d->sources.head();

    if (h.type() == MediaSource::Invalid) {
        d->state = d->requiredState = QtopiaMedia::Stopped;
        d->sources.dequeue();
        emit finished();
        return;
    }

    d->content = new QMediaContent(h.url(), "Media", this);
    connect(d->content, SIGNAL(mediaError(QString)), SLOT(mediaError(QString)));
    connect(d->content, SIGNAL(controlAvailable(QString)), SLOT(controlAvailable(QString)));
    connect(d->content, SIGNAL(controlUnavailable(QString)), SLOT(controlUnavailable(QString)));

    d->valid = false;

    emit currentSourceChanged(h);
    emit stateChanged(Phonon::LoadingState, qtopiaStateToPhononState(d->state));
}
//private slots:
void MediaContentServer::interfaceAvailable(const QString& name)
{
    setValue("controls", d->session->interfaces() << "Session");

    emit controlAvailable(name);
}