void QAndroidMediaPlayerControl::onInfo(qint32 what, qint32 extra) { Q_UNUSED(extra); switch (what) { case JMediaPlayer::MEDIA_INFO_UNKNOWN: break; case JMediaPlayer::MEDIA_INFO_VIDEO_TRACK_LAGGING: // IGNORE break; case JMediaPlayer::MEDIA_INFO_VIDEO_RENDERING_START: break; case JMediaPlayer::MEDIA_INFO_BUFFERING_START: mPendingState = mCurrentState; setState(QMediaPlayer::PausedState); setMediaStatus(QMediaPlayer::StalledMedia); break; case JMediaPlayer::MEDIA_INFO_BUFFERING_END: setMediaStatus(mBufferPercent == 100 ? QMediaPlayer::BufferedMedia : QMediaPlayer::BufferingMedia); flushPendingStates(); break; case JMediaPlayer::MEDIA_INFO_BAD_INTERLEAVING: break; case JMediaPlayer::MEDIA_INFO_NOT_SEEKABLE: setSeekable(false); break; case JMediaPlayer::MEDIA_INFO_METADATA_UPDATE: Q_EMIT metaDataUpdated(); break; } }
void eHTTPStream::processMetaData() { metadata[metadatapointer]=0; metaDataUpdated((const char*)metadata); // eDebug("processing metadata! %s", metadata); metadatapointer=0; }
QT_BEGIN_NAMESPACE QAndroidMediaService::QAndroidMediaService(QObject *parent) : QMediaService(parent) , mVideoRendererControl(0) { mMediaControl = new QAndroidMediaPlayerControl; mMetadataControl = new QAndroidMetaDataReaderControl; connect(mMediaControl, SIGNAL(mediaChanged(QMediaContent)), mMetadataControl, SLOT(onMediaChanged(QMediaContent))); connect(mMediaControl, SIGNAL(metaDataUpdated()), mMetadataControl, SLOT(onUpdateMetaData())); }