summaryrefslogtreecommitdiffstats
path: root/src/plugins/opensles
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/opensles')
-rw-r--r--src/plugins/opensles/qopenslesengine.cpp6
-rw-r--r--src/plugins/opensles/qopenslesengine.h1
-rw-r--r--src/plugins/opensles/qopenslesplugin.cpp5
-rw-r--r--src/plugins/opensles/qopenslesplugin.h7
4 files changed, 17 insertions, 2 deletions
diff --git a/src/plugins/opensles/qopenslesengine.cpp b/src/plugins/opensles/qopenslesengine.cpp
index 0cbd10887..1a16cc2a3 100644
--- a/src/plugins/opensles/qopenslesengine.cpp
+++ b/src/plugins/opensles/qopenslesengine.cpp
@@ -101,6 +101,12 @@ SLDataFormat_PCM QOpenSLESEngine::audioFormatToSLFormatPCM(const QAudioFormat &f
}
+QByteArray QOpenSLESEngine::defaultDevice(QAudio::Mode mode) const
+{
+ const auto &devices = availableDevices(mode);
+ return !devices.isEmpty() ? devices.first() : QByteArray();
+}
+
QList<QByteArray> QOpenSLESEngine::availableDevices(QAudio::Mode mode) const
{
QList<QByteArray> devices;
diff --git a/src/plugins/opensles/qopenslesengine.h b/src/plugins/opensles/qopenslesengine.h
index 364b3ef60..c36b21488 100644
--- a/src/plugins/opensles/qopenslesengine.h
+++ b/src/plugins/opensles/qopenslesengine.h
@@ -62,6 +62,7 @@ public:
static SLDataFormat_PCM audioFormatToSLFormatPCM(const QAudioFormat &format);
+ QByteArray defaultDevice(QAudio::Mode mode) const;
QList<QByteArray> availableDevices(QAudio::Mode mode) const;
QList<int> supportedChannelCounts(QAudio::Mode mode) const;
QList<int> supportedSampleRates(QAudio::Mode mode) const;
diff --git a/src/plugins/opensles/qopenslesplugin.cpp b/src/plugins/opensles/qopenslesplugin.cpp
index 8f89d044d..9a2fbbf79 100644
--- a/src/plugins/opensles/qopenslesplugin.cpp
+++ b/src/plugins/opensles/qopenslesplugin.cpp
@@ -52,6 +52,11 @@ QOpenSLESPlugin::QOpenSLESPlugin(QObject *parent)
{
}
+QByteArray QOpenSLESPlugin::defaultDevice(QAudio::Mode mode) const
+{
+ return m_engine->defaultDevice(mode);
+}
+
QList<QByteArray> QOpenSLESPlugin::availableDevices(QAudio::Mode mode) const
{
return m_engine->availableDevices(mode);
diff --git a/src/plugins/opensles/qopenslesplugin.h b/src/plugins/opensles/qopenslesplugin.h
index 2a967b27e..d45a47923 100644
--- a/src/plugins/opensles/qopenslesplugin.h
+++ b/src/plugins/opensles/qopenslesplugin.h
@@ -40,22 +40,25 @@
#ifndef QOPENSLESPLUGIN_H
#define QOPENSLESPLUGIN_H
-#include <qaudiosystemplugin.h>
+#include <QtMultimedia/qaudiosystemplugin.h>
+#include <QtMultimedia/private/qaudiosystempluginext_p.h>
QT_BEGIN_NAMESPACE
class QOpenSLESEngine;
-class QOpenSLESPlugin : public QAudioSystemPlugin
+class QOpenSLESPlugin : public QAudioSystemPlugin, public QAudioSystemPluginExtension
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.qt.audiosystemfactory/5.0" FILE "opensles.json")
+ Q_INTERFACES(QAudioSystemPluginExtension)
public:
QOpenSLESPlugin(QObject *parent = 0);
~QOpenSLESPlugin() {}
+ QByteArray defaultDevice(QAudio::Mode mode) const;
QList<QByteArray> availableDevices(QAudio::Mode mode) const;
QAbstractAudioInput *createInput(const QByteArray &device);
QAbstractAudioOutput *createOutput(const QByteArray &device);