void AudioOutput::onVlcEvent( const libvlc_event_t* event ) { switch ( event->type ) { case libvlc_MediaPlayerTimeChanged: setCurrentTime( event->u.media_player_time_changed.new_time ); break; case libvlc_MediaPlayerPositionChanged: setCurrentPosition( event->u.media_player_position_changed.new_position ); break; case libvlc_MediaPlayerSeekableChanged: // tDebug() << Q_FUNC_INFO << " : seekable changed : " << event->u.media_player_seekable_changed.new_seekable; break; case libvlc_MediaDurationChanged: setTotalTime( event->u.media_duration_changed.new_duration ); break; case libvlc_MediaPlayerLengthChanged: // tDebug() << Q_FUNC_INFO << " : length changed : " << event->u.media_player_length_changed.new_length; break; case libvlc_MediaPlayerPlaying: setState( Playing ); break; case libvlc_MediaPlayerPaused: setState( Paused ); break; case libvlc_MediaPlayerEndReached: setState( Stopped ); break; case libvlc_MediaPlayerEncounteredError: tDebug() << Q_FUNC_INFO << "LibVLC error: MediaPlayerEncounteredError. Stopping"; // Don't call stop() here - it will deadlock libvlc setState( Error ); break; case libvlc_MediaPlayerNothingSpecial: case libvlc_MediaPlayerOpening: case libvlc_MediaPlayerBuffering: case libvlc_MediaPlayerStopped: case libvlc_MediaPlayerVout: case libvlc_MediaPlayerMediaChanged: case libvlc_MediaPlayerForward: case libvlc_MediaPlayerBackward: case libvlc_MediaPlayerPausableChanged: case libvlc_MediaPlayerTitleChanged: case libvlc_MediaPlayerSnapshotTaken: default: break; } }
//start id="get" void PhononItem::fetchMetaData() { delete m_metaMedia; m_mediaSource = Phonon::MediaSource(fileName()); if (m_mediaSource.type() == Phonon::MediaSource::Invalid) { qDebug() << "Invalid Media Source." << fileName(); emit fetched(false); } m_metaMedia = new Phonon::MediaObject(this); QObject::connect(m_metaMedia, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(metaStateChanged(Phonon::State, Phonon::State)), Qt::QueuedConnection); QObject::connect(m_metaMedia, SIGNAL(totalTimeChanged(qint64)), this, SLOT(setTotalTime(qint64)), Qt::QueuedConnection); m_metaMedia->setCurrentSource(m_mediaSource); }