Remove the last remainders of the old plugin system

Port the last two currently unused plugins (v4l and wmf) over to the new plugin
format.

Fix documentation that still mentioned Q_EXPORT_PLUGIN.

Change-Id: I18200dd792e8973687e92180fc41d11395b35132
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This commit is contained in:
Lars Knoll
2012-05-27 12:20:55 +02:00
committed by Qt by Nokia
parent aae2e2104b
commit 487010e579
7 changed files with 18 additions and 27 deletions

View File

@@ -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

3
src/plugins/v4l/v4l.json Normal file
View File

@@ -0,0 +1,3 @@
{
"Keys": ["org.qt-project.qt.radio"]
}

View File

@@ -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);

View File

@@ -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);

3
src/plugins/wmf/wmf.json Normal file
View File

@@ -0,0 +1,3 @@
{
"Keys": ["org.qt-project.qt.mediaplayer"]
}

View File

@@ -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);

View File

@@ -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);