summaryrefslogtreecommitdiffstats
path: root/src/multimedia/audio/qaudiodevicefactory.cpp
diff options
context:
space:
mode:
authorJustin McPherson <justin.mcpherson@nokia.com>2009-09-24 01:55:52 (GMT)
committerJustin McPherson <justin.mcpherson@nokia.com>2009-09-24 02:40:13 (GMT)
commitfb50411e4c0c132631f8237933fbb0972fa4c9aa (patch)
tree89aa19161710ccf0d2c0e11c0494ddef893eb19c /src/multimedia/audio/qaudiodevicefactory.cpp
parent609dd32580b1e07213a2b2efdd4d854c34e8f6d7 (diff)
downloadQt-fb50411e4c0c132631f8237933fbb0972fa4c9aa.zip
Qt-fb50411e4c0c132631f8237933fbb0972fa4c9aa.tar.gz
Qt-fb50411e4c0c132631f8237933fbb0972fa4c9aa.tar.bz2
AudioService API changes; QString->const QString&, remove QAudioDeviceId use QAudioDeviceInfo.
Reviewed-by: Bill King
Diffstat (limited to 'src/multimedia/audio/qaudiodevicefactory.cpp')
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp83
1 files changed, 36 insertions, 47 deletions
diff --git a/src/multimedia/audio/qaudiodevicefactory.cpp b/src/multimedia/audio/qaudiodevicefactory.cpp
index 9ed1d70..8804fb6 100644
--- a/src/multimedia/audio/qaudiodevicefactory.cpp
+++ b/src/multimedia/audio/qaudiodevicefactory.cpp
@@ -44,7 +44,6 @@
#include <QtMultimedia/qaudioengineplugin.h>
#include <private/qfactoryloader_p.h>
#include "qaudiodevicefactory_p.h"
-#include "qaudiodeviceid_p.h"
#if defined(Q_OS_WIN)
#include "qaudiodeviceinfo_win32_p.h"
@@ -123,12 +122,12 @@ public:
QAudioFormat format() const { return QAudioFormat(); }
};
-QList<QAudioDeviceId> QAudioDeviceFactory::deviceList(QAudio::Mode mode)
+QList<QAudioDeviceInfo> QAudioDeviceFactory::deviceList(QAudio::Mode mode)
{
- QList<QAudioDeviceId> devices;
+ QList<QAudioDeviceInfo> devices;
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- foreach (const QByteArray &handle, QAudioDeviceInfoPrivate::deviceList(mode))
- devices += createDeviceId(QLatin1String("builtin"), mode, handle);
+ foreach (const QByteArray &handle, QAudioDeviceInfoInternal::deviceList(mode))
+ devices << QAudioDeviceInfo(QLatin1String("builtin"), handle, mode);
#endif
QFactoryLoader* l = loader();
@@ -136,7 +135,7 @@ QList<QAudioDeviceId> QAudioDeviceFactory::deviceList(QAudio::Mode mode)
QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(l->instance(key));
if (plugin) {
foreach (QByteArray const& handle, plugin->deviceList(mode))
- devices += createDeviceId(key, mode, handle);
+ devices << QAudioDeviceInfo(key, handle, mode);
}
delete plugin;
@@ -145,50 +144,51 @@ QList<QAudioDeviceId> QAudioDeviceFactory::deviceList(QAudio::Mode mode)
return devices;
}
-QAudioDeviceId QAudioDeviceFactory::defaultInputDevice()
+QAudioDeviceInfo QAudioDeviceFactory::defaultInputDevice()
{
QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
if (plugin) {
QList<QByteArray> list = plugin->deviceList(QAudio::AudioInput);
if (list.size() > 0)
- return createDeviceId(QLatin1String("default"), QAudio::AudioInput, list.at(0));
+ return QAudioDeviceInfo(QLatin1String("default"), list.at(0), QAudio::AudioInput);
}
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- return createDeviceId(QLatin1String("builtin"), QAudio::AudioInput, QAudioDeviceInfoPrivate::defaultInputDevice());
+ return QAudioDeviceInfo(QLatin1String("builtin"), QAudioDeviceInfoInternal::defaultInputDevice(), QAudio::AudioInput);
#endif
- return QAudioDeviceId();
+ return QAudioDeviceInfo();
}
-QAudioDeviceId QAudioDeviceFactory::defaultOutputDevice()
+QAudioDeviceInfo QAudioDeviceFactory::defaultOutputDevice()
{
QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
if (plugin) {
QList<QByteArray> list = plugin->deviceList(QAudio::AudioOutput);
if (list.size() > 0)
- return createDeviceId(QLatin1String("default"), QAudio::AudioOutput, list.at(0));
+ return QAudioDeviceInfo(QLatin1String("default"), list.at(0), QAudio::AudioOutput);
}
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- return createDeviceId(QLatin1String("builtin"), QAudio::AudioOutput, QAudioDeviceInfoPrivate::defaultOutputDevice());
+ return QAudioDeviceInfo(QLatin1String("builtin"), QAudioDeviceInfoInternal::defaultOutputDevice(), QAudio::AudioOutput);
#endif
- return QAudioDeviceId();
+ return QAudioDeviceInfo();
}
-QAbstractAudioDeviceInfo* QAudioDeviceFactory::audioDeviceInfo(QAudioDeviceId const& id)
+QAbstractAudioDeviceInfo* QAudioDeviceFactory::audioDeviceInfo(const QString &realm, const QByteArray &handle, QAudio::Mode mode)
{
- if (id.isNull())
- return new QNullDeviceInfo();
+ QAbstractAudioDeviceInfo *rc = 0;
+
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- if (id.d->key == QLatin1String("builtin"))
- return new QAudioDeviceInfoPrivate(id.d->handle, QAudio::Mode(id.d->mode));
+ if (realm == QLatin1String("builtin"))
+ return new QAudioDeviceInfoInternal(handle, mode);
#endif
- QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(id.d->key));
+ QAudioEngineFactoryInterface* plugin =
+ qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(realm));
if (plugin)
- return plugin->createDeviceInfo(id.d->handle, QAudio::Mode(id.d->mode));
+ rc = plugin->createDeviceInfo(handle, mode);
- return new QNullDeviceInfo();
+ return rc == 0 ? new QNullDeviceInfo() : rc;
}
QAbstractAudioInput* QAudioDeviceFactory::createDefaultInputDevice(QAudioFormat const &format)
@@ -201,50 +201,39 @@ QAbstractAudioOutput* QAudioDeviceFactory::createDefaultOutputDevice(QAudioForma
return createOutputDevice(defaultOutputDevice(), format);
}
-QAbstractAudioInput* QAudioDeviceFactory::createInputDevice(QAudioDeviceId const& id, QAudioFormat const &format)
+QAbstractAudioInput* QAudioDeviceFactory::createInputDevice(QAudioDeviceInfo const& deviceInfo, QAudioFormat const &format)
{
- if (id.isNull())
+ if (deviceInfo.isNull())
return new QNullInputDevice();
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- if (id.d->key == QLatin1String("builtin")) {
- if(!defaultInputDevice().isNull())
- return new QAudioInputPrivate(id.d->handle, format);
- else
- return new QNullInputDevice();
- }
+ if (deviceInfo.realm() == QLatin1String("builtin"))
+ return new QAudioInputPrivate(deviceInfo.handle(), format);
#endif
- QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance((id.d->key)));
+ QAudioEngineFactoryInterface* plugin =
+ qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(deviceInfo.realm()));
if (plugin)
- return plugin->createInput(id.d->handle, format);
+ return plugin->createInput(deviceInfo.handle(), format);
return new QNullInputDevice();
}
-QAbstractAudioOutput* QAudioDeviceFactory::createOutputDevice(QAudioDeviceId const& id, QAudioFormat const &format)
+QAbstractAudioOutput* QAudioDeviceFactory::createOutputDevice(QAudioDeviceInfo const& deviceInfo, QAudioFormat const &format)
{
- if (id.isNull())
+ if (deviceInfo.isNull())
return new QNullOutputDevice();
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
- if (id.d->key == QLatin1String("builtin")) {
- if(!defaultOutputDevice().isNull())
- return new QAudioOutputPrivate(id.d->handle, format);
- else
- return new QNullOutputDevice();
- }
+ if (deviceInfo.realm() == QLatin1String("builtin"))
+ return new QAudioOutputPrivate(deviceInfo.handle(), format);
#endif
- QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(id.d->key));
+ QAudioEngineFactoryInterface* plugin =
+ qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(deviceInfo.realm()));
if (plugin)
- return plugin->createOutput(id.d->handle, format);
+ return plugin->createOutput(deviceInfo.handle(), format);
return new QNullOutputDevice();
}
-QAudioDeviceId QAudioDeviceFactory::createDeviceId(QString const& key, int mode, QByteArray const& handle)
-{
- return QAudioDeviceId(new QAudioDeviceIdPrivate(key, mode, handle));
-}
-
QT_END_NAMESPACE