summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaakko Helanti <ext-jaakko.helanti@nokia.com>2012-06-18 12:20:03 +0300
committerAapo Haapanen <ext-aapo.haapanen@nokia.com>2012-06-18 12:25:46 +0300
commit940db30b4b2045a818d6d862a2d9587d965388f3 (patch)
treeb1f57dc11d7f27d9ddddf342187f40f41fb48560
parent198f1a3979c58957e19c5caf29cde120f346068c (diff)
Symbian: Fix initial volume setting
This commit fixes the problem that when starting to play audio, the initial volume setting does not have any effect, but audio is played with a default volume. Task-number: QTMOBILITY-2061 Reviewed-by: Marko Kenttala <ext-marko.r.kenttala@nokia.com>
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp38
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h1
2 files changed, 19 insertions, 20 deletions
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
index 79638d00eb..4d61cb626b 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
@@ -85,16 +85,8 @@ void S60MediaPlayerSession::setVolume(int volume)
TRACE("S60MediaPlayerSession::setVolume" << qtThisPtr() << "volume" << volume);
m_volume = volume;
emit volumeChanged(m_volume);
- // Don't set player volume until media loaded
- if (!m_muted &&
- ( mediaStatus() == QMediaPlayer::LoadedMedia
- || (mediaStatus() == QMediaPlayer::StalledMedia && state() != QMediaPlayer::StoppedState)
- || mediaStatus() == QMediaPlayer::BufferingMedia
- || mediaStatus() == QMediaPlayer::BufferedMedia
- || mediaStatus() == QMediaPlayer::EndOfMedia)) {
- TRAPD(err, doSetVolumeL(m_volume));
- setError(err);
- }
+ if (!m_muted)
+ updateVolume();
}
bool S60MediaPlayerSession::isMuted() const
@@ -183,8 +175,7 @@ void S60MediaPlayerSession::play()
}
m_play_requested = false;
m_duration = duration();
- setVolume(m_volume);
- setMuted(m_muted);
+ updateVolume();
startProgressTimer();
doPlay();
}
@@ -364,14 +355,7 @@ void S60MediaPlayerSession::setMuted(bool muted)
TRACE("S60MediaPlayerSession::setMuted" << qtThisPtr() << "muted" << muted);
m_muted = muted;
emit mutedChanged(m_muted);
- if( m_mediaStatus == QMediaPlayer::LoadedMedia
- || (m_mediaStatus == QMediaPlayer::StalledMedia && state() != QMediaPlayer::StoppedState)
- || m_mediaStatus == QMediaPlayer::BufferingMedia
- || m_mediaStatus == QMediaPlayer::BufferedMedia
- || m_mediaStatus == QMediaPlayer::EndOfMedia) {
- TRAPD(err, doSetVolumeL((m_muted)?0:m_volume));
- setError(err);
- }
+ updateVolume();
}
}
@@ -639,3 +623,17 @@ void S60MediaPlayerSession::stopStalledTimer()
TRACE("S60MediaPlayerSession::stopStalledTimer" << qtThisPtr());
m_stalledTimer->stop();
}
+
+void S60MediaPlayerSession::updateVolume()
+{
+ TRACE("S60MediaPlayerSession::updateVolume" << qtThisPtr());
+ // Don't set player volume until media loaded
+ if( m_mediaStatus == QMediaPlayer::LoadedMedia
+ || (m_mediaStatus == QMediaPlayer::StalledMedia && state() != QMediaPlayer::StoppedState)
+ || m_mediaStatus == QMediaPlayer::BufferingMedia
+ || m_mediaStatus == QMediaPlayer::BufferedMedia
+ || m_mediaStatus == QMediaPlayer::EndOfMedia) {
+ TRAPD(err, doSetVolumeL(m_muted ? 0 : m_volume));
+ setError(err);
+ }
+}
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
index cbba418b28..8066d7d574 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
@@ -129,6 +129,7 @@ protected:
void stopProgressTimer();
void startStalledTimer();
void stopStalledTimer();
+ void updateVolume();
protected slots:
void tick();