summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJames McDonnell <jmcdonnell@blackberry.com>2017-03-24 11:31:56 -0400
committerJames McDonnell <jmcdonnell@blackberry.com>2017-03-27 16:33:31 +0000
commit1221f6a7e3767e14d2afdfc806120953bd6535be (patch)
tree2667f6a27d99818167323fbd3ac2458bcf761452 /examples
parent7d51214b609df7e5ec79b56f0c629e084cb886bc (diff)
Propagate audio category into the QNX audio output object
For QNX 7.0.0, set the QNX stream type to the audio category. 6.6.0 doesn't support stream types. Add a -category command line argument to the spectrum example so that the audio category can be specified. Change-Id: I6a81210ce07dc4bd2f6cf81983c2f3e4c480ef0d Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/multimedia/spectrum/app/engine.cpp19
-rw-r--r--examples/multimedia/spectrum/app/engine.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/examples/multimedia/spectrum/app/engine.cpp b/examples/multimedia/spectrum/app/engine.cpp
index 3a01fa7a7..eae4c8e74 100644
--- a/examples/multimedia/spectrum/app/engine.cpp
+++ b/examples/multimedia/spectrum/app/engine.cpp
@@ -103,6 +103,23 @@ Engine::Engine(QObject *parent)
this,
SLOT(spectrumChanged(FrequencySpectrum)));
+ // This code might misinterpret things like "-something -category". But
+ // it's unlikely that that needs to be supported so we'll let it go.
+ QStringList arguments = QCoreApplication::instance()->arguments();
+ for (int i = 0; i < arguments.count(); ++i) {
+ if (arguments.at(i) == QStringLiteral("--"))
+ break;
+
+ if (arguments.at(i) == QStringLiteral("-category")
+ || arguments.at(i) == QStringLiteral("--category")) {
+ ++i;
+ if (i < arguments.count())
+ m_audioOutputCategory = arguments.at(i);
+ else
+ --i;
+ }
+ }
+
initialize();
#ifdef DUMP_DATA
@@ -494,6 +511,7 @@ bool Engine::initialize()
}
m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this);
m_audioOutput->setNotifyInterval(NotifyIntervalMs);
+ m_audioOutput->setCategory(m_audioOutputCategory);
}
} else {
if (m_file)
@@ -508,6 +526,7 @@ bool Engine::initialize()
ENGINE_DEBUG << "Engine::initialize" << "m_bufferLength" << m_bufferLength;
ENGINE_DEBUG << "Engine::initialize" << "m_dataLength" << m_dataLength;
ENGINE_DEBUG << "Engine::initialize" << "format" << m_format;
+ ENGINE_DEBUG << "Engine::initialize" << "m_audioOutputCategory" << m_audioOutputCategory;
return result;
}
diff --git a/examples/multimedia/spectrum/app/engine.h b/examples/multimedia/spectrum/app/engine.h
index db76d7b42..af08b83cc 100644
--- a/examples/multimedia/spectrum/app/engine.h
+++ b/examples/multimedia/spectrum/app/engine.h
@@ -287,6 +287,7 @@ private:
const QList<QAudioDeviceInfo> m_availableAudioOutputDevices;
QAudioDeviceInfo m_audioOutputDevice;
QAudioOutput* m_audioOutput;
+ QString m_audioOutputCategory;
qint64 m_playPosition;
QBuffer m_audioOutputIODevice;