summaryrefslogtreecommitdiffstats
path: root/src/plugins/coreaudio
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2015-12-30 12:02:18 +0000
committerYoann Lopes <yoann.lopes@theqtcompany.com>2016-01-13 14:16:40 +0000
commita12f3d6fee700fb19b51b85934acddf536c483cf (patch)
treeed6d0670335e90e86b5bd1e3c0ca64957c38c966 /src/plugins/coreaudio
parentb323f7803abb3dff5ffd92dd6d9f228cb9a55c40 (diff)
tvOS support
Builds, tested simple video playback Change-Id: I04e1da050c587cba3609107dc88a155a6949f2c3 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins/coreaudio')
-rw-r--r--src/plugins/coreaudio/coreaudio.pro4
-rw-r--r--src/plugins/coreaudio/coreaudiodeviceinfo.mm2
-rw-r--r--src/plugins/coreaudio/coreaudioinput.mm2
-rw-r--r--src/plugins/coreaudio/coreaudiooutput.mm4
-rw-r--r--src/plugins/coreaudio/coreaudiosessionmanager.mm4
5 files changed, 10 insertions, 6 deletions
diff --git a/src/plugins/coreaudio/coreaudio.pro b/src/plugins/coreaudio/coreaudio.pro
index 146851493..e01932c6a 100644
--- a/src/plugins/coreaudio/coreaudio.pro
+++ b/src/plugins/coreaudio/coreaudio.pro
@@ -24,10 +24,10 @@ OBJECTIVE_SOURCES += \
coreaudioplugin.mm \
coreaudioutils.mm
-ios {
+ios|tvos {
HEADERS += coreaudiosessionmanager.h
OBJECTIVE_SOURCES += coreaudiosessionmanager.mm
- LIBS += -framework AVFoundation
+ LIBS += -framework Foundation -framework AVFoundation
} else {
LIBS += \
-framework ApplicationServices \
diff --git a/src/plugins/coreaudio/coreaudiodeviceinfo.mm b/src/plugins/coreaudio/coreaudiodeviceinfo.mm
index f16389372..c221cb151 100644
--- a/src/plugins/coreaudio/coreaudiodeviceinfo.mm
+++ b/src/plugins/coreaudio/coreaudiodeviceinfo.mm
@@ -33,7 +33,7 @@
#include "coreaudiodeviceinfo.h"
#include "coreaudioutils.h"
-#if defined(Q_OS_IOS)
+#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
# include "coreaudiosessionmanager.h"
#endif
diff --git a/src/plugins/coreaudio/coreaudioinput.mm b/src/plugins/coreaudio/coreaudioinput.mm
index e0cedb1b9..229a3a34e 100644
--- a/src/plugins/coreaudio/coreaudioinput.mm
+++ b/src/plugins/coreaudio/coreaudioinput.mm
@@ -39,7 +39,7 @@
# include <CoreServices/CoreServices.h>
#endif
-#if defined(Q_OS_IOS)
+#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
# include "coreaudiosessionmanager.h"
#endif
diff --git a/src/plugins/coreaudio/coreaudiooutput.mm b/src/plugins/coreaudio/coreaudiooutput.mm
index 149b5a8c0..c0ad2bf2f 100644
--- a/src/plugins/coreaudio/coreaudiooutput.mm
+++ b/src/plugins/coreaudio/coreaudiooutput.mm
@@ -45,7 +45,7 @@
# include <CoreServices/CoreServices.h>
#endif
-#if defined(Q_OS_IOS)
+#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
# include <QtMultimedia/private/qaudiohelpers_p.h>
#endif
@@ -504,7 +504,7 @@ OSStatus CoreAudioOutput::renderCallback(void *inRefCon, AudioUnitRenderActionFl
if (framesRead > 0) {
ioData->mBuffers[0].mDataByteSize = framesRead * bytesPerFrame;
d->m_totalFrames += framesRead;
-#ifdef Q_OS_IOS
+#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
// on iOS we have to adjust the sound volume ourselves
if (!qFuzzyCompare(d->m_cachedVolume, qreal(1.0f))) {
QAudioHelperInternal::qMultiplySamples(d->m_cachedVolume,
diff --git a/src/plugins/coreaudio/coreaudiosessionmanager.mm b/src/plugins/coreaudio/coreaudiosessionmanager.mm
index 15d1ad86f..5c6b3b4d1 100644
--- a/src/plugins/coreaudio/coreaudiosessionmanager.mm
+++ b/src/plugins/coreaudio/coreaudiosessionmanager.mm
@@ -274,7 +274,9 @@ bool CoreAudioSessionManager::setCategory(CoreAudioSessionManager::AudioSessionC
targetCategory = AVAudioSessionCategoryPlayAndRecord;
break;
case CoreAudioSessionManager::AudioProcessing:
+#ifndef Q_OS_TVOS
targetCategory = AVAudioSessionCategoryAudioProcessing;
+#endif
break;
case CoreAudioSessionManager::MultiRoute:
#if QT_IOS_DEPLOYMENT_TARGET_BELOW(__IPHONE_6_0)
@@ -348,8 +350,10 @@ CoreAudioSessionManager::AudioSessionCategorys CoreAudioSessionManager::category
localCategory = Record;
} else if (category == AVAudioSessionCategoryPlayAndRecord) {
localCategory = PlayAndRecord;
+#ifndef Q_OS_TVOS
} else if (category == AVAudioSessionCategoryAudioProcessing) {
localCategory = AudioProcessing;
+#endif
} else if (
#if QT_IOS_DEPLOYMENT_TARGET_BELOW(__IPHONE_6_0)
QSysInfo::MacintoshVersion >= QSysInfo::MV_IOS_6_0 &&