summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-04-08 18:50:23 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-09 14:48:49 +0200
commita7b8872cd5de1908bb2daa08a32afb5bff879ac2 (patch)
treea80a7d96b6f652a4fe84b7c53c54fc83c6a7436f /src
parentf6e57f80a85f5341d2db074ca7c6ecd468b8ca7f (diff)
Fix some MediaPlayer properties returning wrong values.
Once the QML component is complete, don't cache any value anymore and always ask the backend for the actual value. Change-Id: I2c3ad55618e0532f713cfcc8258a70a1114fc975 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/imports/multimedia/qdeclarativeaudio.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/imports/multimedia/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp
index 16828a4d1..37509b17e 100644
--- a/src/imports/multimedia/qdeclarativeaudio.cpp
+++ b/src/imports/multimedia/qdeclarativeaudio.cpp
@@ -290,15 +290,15 @@ void QDeclarativeAudio::setVolume(qreal volume)
return;
}
- if (m_vol == volume)
+ if (this->volume() == volume)
return;
- m_vol = volume;
-
- if (m_complete)
+ if (m_complete) {
m_player->setVolume(qRound(volume * 100));
- else
+ } else {
+ m_vol = volume;
emit volumeChanged();
+ }
}
bool QDeclarativeAudio::isMuted() const
@@ -308,15 +308,15 @@ bool QDeclarativeAudio::isMuted() const
void QDeclarativeAudio::setMuted(bool muted)
{
- if (m_muted == muted)
+ if (isMuted() == muted)
return;
- m_muted = muted;
-
- if (m_complete)
+ if (m_complete) {
m_player->setMuted(muted);
- else
+ } else {
+ m_muted = muted;
emit mutedChanged();
+ }
}
qreal QDeclarativeAudio::bufferProgress() const
@@ -331,20 +331,20 @@ bool QDeclarativeAudio::isSeekable() const
qreal QDeclarativeAudio::playbackRate() const
{
- return m_playbackRate;
+ return m_complete ? m_player->playbackRate() : m_playbackRate;
}
void QDeclarativeAudio::setPlaybackRate(qreal rate)
{
- if (m_playbackRate == rate)
+ if (playbackRate() == rate)
return;
- m_playbackRate = rate;
-
- if (m_complete)
- m_player->setPlaybackRate(m_playbackRate);
- else
+ if (m_complete) {
+ m_player->setPlaybackRate(rate);
+ } else {
+ m_playbackRate = rate;
emit playbackRateChanged();
+ }
}
QString QDeclarativeAudio::errorString() const
@@ -426,12 +426,12 @@ void QDeclarativeAudio::seek(int position)
if (this->position() == position)
return;
- m_position = position;
-
- if (m_complete)
- m_player->setPosition(m_position);
- else
+ if (m_complete) {
+ m_player->setPosition(position);
+ } else {
+ m_position = position;
emit positionChanged();
+ }
}
/*!