diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 45aa95ec75691619048232ef6e256874e49ec732..0020203c3f7ebaf511d8cd2f6b919fa4fe15e7cb 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -29,6 +29,10 @@ win32:!winrt { config_wmf: SUBDIRS += wmf } +winrt { + SUBDIRS += winrt +} + unix:!mac:!android { config_gstreamer { SUBDIRS += gstreamer diff --git a/src/plugins/winrt/qwinrtserviceplugin.cpp b/src/plugins/winrt/qwinrtserviceplugin.cpp new file mode 100644 index 0000000000000000000000000000000000000000..143b935473a4d174bdf97813657878b2f6fffb91 --- /dev/null +++ b/src/plugins/winrt/qwinrtserviceplugin.cpp @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtCore/QString> +#include <QtCore/QFile> + +#include "qwinrtserviceplugin.h" + +QMediaService *QWinRTServicePlugin::create(QString const &key) +{ + return Q_NULLPTR; +} + +void QWinRTServicePlugin::release(QMediaService *service) +{ + delete service; +} + +QMediaServiceProviderHint::Features QWinRTServicePlugin::supportedFeatures( + const QByteArray &service) const +{ + return QMediaServiceProviderHint::Features(); +} diff --git a/src/plugins/winrt/qwinrtserviceplugin.h b/src/plugins/winrt/qwinrtserviceplugin.h new file mode 100644 index 0000000000000000000000000000000000000000..aaac79c7b9be520a36062876b784437455f56f62 --- /dev/null +++ b/src/plugins/winrt/qwinrtserviceplugin.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWINRTSERVICEPLUGIN_H +#define QWINRTSERVICEPLUGIN_H + +#include <QtMultimedia/QMediaServiceProviderPlugin> + +QT_USE_NAMESPACE + +class QWinRTServicePlugin : public QMediaServiceProviderPlugin + , public QMediaServiceFeaturesInterface +{ + Q_OBJECT + Q_INTERFACES(QMediaServiceFeaturesInterface) + Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "winrt.json") +public: + QMediaService *create(QString const &key); + void release(QMediaService *service); + + QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const; +}; + +#endif // QWINRTSERVICEPLUGIN_H diff --git a/src/plugins/winrt/winrt.json b/src/plugins/winrt/winrt.json new file mode 100644 index 0000000000000000000000000000000000000000..f4a1ceb478db9a9f77a430ffe150bff563a2098d --- /dev/null +++ b/src/plugins/winrt/winrt.json @@ -0,0 +1,4 @@ +{ + "Keys": ["winrt"], + "Services": [] +} diff --git a/src/plugins/winrt/winrt.pro b/src/plugins/winrt/winrt.pro new file mode 100644 index 0000000000000000000000000000000000000000..82f97e48984c4db866a428399495c401b2062734 --- /dev/null +++ b/src/plugins/winrt/winrt.pro @@ -0,0 +1,17 @@ +TARGET = winrtengine +QT += multimedia-private + +PLUGIN_TYPE=mediaservice +PLUGIN_CLASS_NAME = WinRTServicePlugin +load(qt_plugin) + +LIBS += -lmfplat -lmfuuid -loleaut32 -ld3d11 + +HEADERS += \ + qwinrtserviceplugin.h + +SOURCES += \ + qwinrtserviceplugin.cpp + +OTHER_FILES += \ + winrt.json