diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2012-06-18 19:59:08 +1000 |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2012-06-18 19:59:08 +1000 |
commit | d8026a59629b572767c5c0fbd00481a3130eaa11 (patch) | |
tree | dcccaa6ef1a19f1d3fbfb204080c27e801375d72 /plugins | |
parent | 146c0c7be3e90ee2a1b54556dfb8c038818819e6 (diff) | |
parent | 940db30b4b2045a818d6d862a2d9587d965388f3 (diff) |
Merge branch 'master' of scm.dev.nokia.troll.no:qtmobility/qtm-multimedia into master-integration
* 'master' of scm.dev.nokia.troll.no:qtmobility/qtm-multimedia:
Symbian: Fix initial volume setting
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp | 38 | ||||
-rw-r--r-- | plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h | 1 |
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(); |