diff options
-rw-r--r-- | src/multimedia/audio/qaudiosystemplugin.cpp | 14 | ||||
-rw-r--r-- | src/plugins/v4l/v4l.json | 3 | ||||
-rw-r--r-- | src/plugins/v4l/v4lserviceplugin.cpp | 10 | ||||
-rw-r--r-- | src/plugins/v4l/v4lserviceplugin.h | 2 | ||||
-rw-r--r-- | src/plugins/wmf/wmf.json | 3 | ||||
-rw-r--r-- | src/plugins/wmf/wmfserviceplugin.cpp | 11 | ||||
-rw-r--r-- | src/plugins/wmf/wmfserviceplugin.h | 2 |
7 files changed, 18 insertions, 27 deletions
diff --git a/src/multimedia/audio/qaudiosystemplugin.cpp b/src/multimedia/audio/qaudiosystemplugin.cpp index a6457f031..0fcfd5561 100644 --- a/src/multimedia/audio/qaudiosystemplugin.cpp +++ b/src/multimedia/audio/qaudiosystemplugin.cpp @@ -54,9 +54,17 @@ QT_BEGIN_NAMESPACE \internal Writing a audio plugin is achieved by subclassing this base class, - reimplementing the pure virtual functions keys(), availableDevices(), + reimplementing the pure virtual functions availableDevices(), createInput(), createOutput() and createDeviceInfo() then exporting - the class with the Q_EXPORT_PLUGIN2() macro. + the class with the Q_PLUGIN_METADATA() macro. + + The json file containing the meta data should contain a list of keys + matching the plugin. Add "default" to your list of keys available + to override the default audio device to be provided by your plugin. + + \code + { "Keys": [ "default" ] } + \endcode Unit tests are available to help in debugging new plugins. @@ -69,8 +77,6 @@ QT_BEGIN_NAMESPACE creating a plugin subclassing QAudioSystemPlugin, QAbstractAudioDeviceInfo, QAbstractAudioOutput and QAbstractAudioInput. - Add "default" to your list of keys() available to override the default - audio device to be provided by your plugin. -audio-backend configure option will force compiling in of the builtin backend into the QtMultimedia library at compile time. This is automatic by default diff --git a/src/plugins/v4l/v4l.json b/src/plugins/v4l/v4l.json new file mode 100644 index 000000000..f87f329c1 --- /dev/null +++ b/src/plugins/v4l/v4l.json @@ -0,0 +1,3 @@ +{ + "Keys": ["org.qt-project.qt.radio"] +} diff --git a/src/plugins/v4l/v4lserviceplugin.cpp b/src/plugins/v4l/v4lserviceplugin.cpp index a506eafff..49adbd942 100644 --- a/src/plugins/v4l/v4lserviceplugin.cpp +++ b/src/plugins/v4l/v4lserviceplugin.cpp @@ -50,12 +50,6 @@ #include <qmediaserviceprovider.h> -QStringList V4LServicePlugin::keys() const -{ - return QStringList() << - QLatin1String(Q_MEDIASERVICE_RADIO); -} - QMediaService* V4LServicePlugin::create(QString const& key) { if (key == QLatin1String(Q_MEDIASERVICE_RADIO)) @@ -78,7 +72,3 @@ QString V4LServicePlugin::deviceDescription(const QByteArray &service, const QBy { return QString(); } - - -Q_EXPORT_PLUGIN2(qtmedia_v4lengine, V4LServicePlugin); - diff --git a/src/plugins/v4l/v4lserviceplugin.h b/src/plugins/v4l/v4lserviceplugin.h index 7d83fc376..190812f30 100644 --- a/src/plugins/v4l/v4lserviceplugin.h +++ b/src/plugins/v4l/v4lserviceplugin.h @@ -51,8 +51,8 @@ class V4LServicePlugin : public QMediaServiceProviderPlugin, public QMediaServic { Q_OBJECT Q_INTERFACES(QMediaServiceSupportedDevicesInterface) + Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "v4l.json") public: - QStringList keys() const; QMediaService* create(QString const& key); void release(QMediaService *service); diff --git a/src/plugins/wmf/wmf.json b/src/plugins/wmf/wmf.json new file mode 100644 index 000000000..c4a27ea01 --- /dev/null +++ b/src/plugins/wmf/wmf.json @@ -0,0 +1,3 @@ +{ + "Keys": ["org.qt-project.qt.mediaplayer"] +} diff --git a/src/plugins/wmf/wmfserviceplugin.cpp b/src/plugins/wmf/wmfserviceplugin.cpp index 188651649..6876d28d0 100644 --- a/src/plugins/wmf/wmfserviceplugin.cpp +++ b/src/plugins/wmf/wmfserviceplugin.cpp @@ -49,15 +49,6 @@ #endif #include <qmediaserviceprovider.h> -QStringList WMFServicePlugin::keys() const -{ - return QStringList() -#ifdef QMEDIA_MEDIAFOUNDATION_PLAYER - << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER) -#endif - ; -} - QMediaService* WMFServicePlugin::create(QString const& key) { #ifdef QMEDIA_MEDIAFOUNDATION_PLAYER @@ -93,5 +84,3 @@ QString WMFServicePlugin::deviceDescription(const QByteArray &service, const QBy return QString(); } -Q_EXPORT_PLUGIN2(qtmedia_wmfengine, WMFServicePlugin); - diff --git a/src/plugins/wmf/wmfserviceplugin.h b/src/plugins/wmf/wmfserviceplugin.h index d9e1efa9a..e2672db1a 100644 --- a/src/plugins/wmf/wmfserviceplugin.h +++ b/src/plugins/wmf/wmfserviceplugin.h @@ -54,8 +54,8 @@ class WMFServicePlugin Q_OBJECT Q_INTERFACES(QMediaServiceSupportedDevicesInterface) Q_INTERFACES(QMediaServiceFeaturesInterface) + Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "wmf.json") public: - QStringList keys() const; QMediaService* create(QString const& key); void release(QMediaService *service); |