diff -r 90517678cc4f -r 453da2cfceef qtmobility/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp --- a/qtmobility/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp Mon May 03 13:18:40 2010 +0300 +++ b/qtmobility/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp Fri May 14 16:41:33 2010 +0300 @@ -74,6 +74,7 @@ m_control = new S60MediaPlayerControl(*this, this); m_mediaRecognizer = new S60MediaRecognizer(this); m_metaData = new S60MediaMetaDataProvider(*this); + m_audioEndpointSelector = new S60MediaPlayerAudioEndpointSelector(m_control, this); } S60MediaPlayerService::~S60MediaPlayerService() @@ -82,7 +83,6 @@ delete m_videoRenderer; delete m_videoWindow; delete m_videoOutput; - delete m_metaData; } QMediaControl *S60MediaPlayerService::control(const char *name) const @@ -127,8 +127,6 @@ } if (qstrcmp(name, QAudioEndpointSelector_iid) == 0) { - if (!m_audioEndpointSelector) - m_audioEndpointSelector = new S60MediaPlayerAudioEndpointSelector(m_control); return m_audioEndpointSelector; } @@ -209,10 +207,13 @@ m_control, SIGNAL(error(int, const QString &))); connect(m_videoPlayerSession, SIGNAL(metaDataChanged()), m_metaData, SIGNAL(metaDataChanged())); + connect(m_videoPlayerSession, SIGNAL(activeEndpointChanged(const QString&)), + m_audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&))); } m_videoPlayerSession->setVolume(m_control->mediaControlSettings().volume()); m_videoPlayerSession->setMuted(m_control->mediaControlSettings().isMuted()); + m_videoPlayerSession->setAudioEndpoint(m_control->mediaControlSettings().audioEndpoint()); return m_videoPlayerSession; } @@ -243,9 +244,12 @@ m_control, SIGNAL(error(int, const QString &))); connect(m_audioPlayerSession, SIGNAL(metaDataChanged()), m_metaData, SIGNAL(metaDataChanged())); + connect(m_audioPlayerSession, SIGNAL(activeEndpointChanged(const QString&)), + m_audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&))); } m_audioPlayerSession->setVolume(m_control->mediaControlSettings().volume()); m_audioPlayerSession->setMuted(m_control->mediaControlSettings().isMuted()); + m_audioPlayerSession->setAudioEndpoint(m_control->mediaControlSettings().audioEndpoint()); return m_audioPlayerSession; }