summaryrefslogtreecommitdiffstats
path: root/src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp')
-rw-r--r--src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp b/src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp
index 5998603d5..d664336d3 100644
--- a/src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp
+++ b/src/plugins/blackberry/mediaplayer/bbmediaplayercontrol.cpp
@@ -305,8 +305,10 @@ void BbMediaPlayerControl::setPositionInternal(qint64 position)
if (!m_context)
return;
- if (mmr_seek(m_context, QString::number(position).toLatin1()) != 0)
- emitMmError("Seeking failed");
+ if (m_metaData.isSeekable()) {
+ if (mmr_seek(m_context, QString::number(position).toLatin1()) != 0)
+ emitMmError("Seeking failed");
+ }
}
void BbMediaPlayerControl::setMediaStatus(QMediaPlayer::MediaStatus status)
@@ -385,9 +387,7 @@ bool BbMediaPlayerControl::isVideoAvailable() const
bool BbMediaPlayerControl::isSeekable() const
{
- // We can currently not get that information from the mmrenderer API. Just pretend we can seek,
- // it will fail at runtime if we can not.
- return true;
+ return m_metaData.isSeekable();
}
QMediaTimeRange BbMediaPlayerControl::availablePlaybackRanges() const
@@ -605,6 +605,7 @@ void BbMediaPlayerControl::updateMetaData()
emit audioAvailableChanged(m_metaData.hasAudio());
emit videoAvailableChanged(m_metaData.hasVideo());
emit availablePlaybackRangesChanged(availablePlaybackRanges());
+ emit seekableChanged(m_metaData.isSeekable());
}
void BbMediaPlayerControl::emitMmError(const QString &msg)