summaryrefslogtreecommitdiffstats
path: root/src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp
diff options
context:
space:
mode:
authorJames McDonnell <jmcdonnell@blackberry.com>2017-04-03 16:36:46 -0400
committerJames McDonnell <jmcdonnell@blackberry.com>2017-11-14 17:03:28 +0000
commitc16ce50f2b3362c70d9e1cdf6382b9950e552509 (patch)
tree07fcc4965bb2f517642180f2f5052c166a04f3b7 /src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp
parent1cb4027e0a59e1875db88b72afb5833aafbd87eb (diff)
Implement QCustomAudioRoleControl for QNX
Change-Id: I95202ffabbeae36dbb2f2fa43871e0bceed53cae Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp')
-rw-r--r--src/plugins/qnx/mediaplayer/mmrenderermediaplayerservice.cpp13
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