QNX: Evaluate mm-renderer buffer status

In the playing (or paused) state the media status should reflect the
buffer state, it should not stay in the loaded media state.

Mm-renderer differentiates between buffer "status" and "level".
Unfortunately, QMediaPlayer's buffer status maps to mm-renderer's
buffer level.

Change-Id: I22ea8dc83cee975fc4aa1a6de4f172def042a9a8
QT-BUG: 37166
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This commit is contained in:
Bernd Weimer
2014-03-18 11:29:49 +01:00
committed by The Qt Project
parent 19ce431f9f
commit d8764171d6
4 changed files with 38 additions and 15 deletions

View File

@@ -103,11 +103,15 @@ bool BpsMediaPlayerControl::nativeEventFilter(const QByteArray &eventType, void
}
if (bps_event_get_code(event) == MMRENDERER_STATUS_UPDATE) {
const qint64 newPosition = QString::fromLatin1(mmrenderer_event_get_position(event)).toLongLong();
const qint64 newPosition = QString::fromLatin1(mmrenderer_event_get_position(event)).
toLongLong();
handleMmStatusUpdate(newPosition);
const QString bufferStatus = QString::fromLatin1(mmrenderer_event_get_bufferlevel(event));
setMmBufferStatus(bufferStatus);
const QString status = QString::fromLatin1(mmrenderer_event_get_bufferstatus(event));
setMmBufferStatus(status);
const QString level = QString::fromLatin1(mmrenderer_event_get_bufferlevel(event));
setMmBufferLevel(level);
}
}