diff options
Diffstat (limited to 'src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp')
-rw-r--r-- | src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp b/src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp index 257c437ce..190cb8b80 100644 --- a/src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp +++ b/src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp @@ -39,6 +39,7 @@ #include "mmrenderermediaplayerservice.h" #include "mmrendereraudiorolecontrol.h" +#include "mmrenderercustomaudiorolecontrol.h" #include "mmrenderermediaplayercontrol.h" #include "mmrenderermetadatareadercontrol.h" #include "mmrendererplayervideorenderercontrol.h" @@ -68,6 +69,7 @@ MmRendererMediaPlayerService::~MmRendererMediaPlayerService() delete m_mediaPlayerControl; delete m_metaDataReaderControl; delete m_audioRoleControl; + delete m_customAudioRoleControl; } QMediaControl *MmRendererMediaPlayerService::requestControl(const char *name) @@ -90,6 +92,12 @@ QMediaControl *MmRendererMediaPlayerService::requestControl(const char *name) updateControls(); } return m_audioRoleControl; + } else if (qstrcmp(name, QCustomAudioRoleControl_iid) == 0) { + if (!m_customAudioRoleControl) { + m_customAudioRoleControl = new MmRendererCustomAudioRoleControl(); + updateControls(); + } + return m_customAudioRoleControl; } else if (qstrcmp(name, QVideoRendererControl_iid) == 0) { if (!m_appHasDrmPermissionChecked) { m_appHasDrmPermission = checkForDrmPermission(); @@ -130,6 +138,8 @@ void MmRendererMediaPlayerService::releaseControl(QMediaControl *control) m_metaDataReaderControl = 0; if (control == m_audioRoleControl) m_audioRoleControl = 0; + if (control == m_customAudioRoleControl) + m_customAudioRoleControl = 0; delete control; } @@ -146,6 +156,9 @@ void MmRendererMediaPlayerService::updateControls() if (m_audioRoleControl && m_mediaPlayerControl) m_mediaPlayerControl->setAudioRoleControl(m_audioRoleControl); + + if (m_customAudioRoleControl && m_mediaPlayerControl) + m_mediaPlayerControl->setCustomAudioRoleControl(m_customAudioRoleControl); } QT_END_NAMESPACE |