summaryrefslogtreecommitdiffstats
path: root/src/plugins/multimedia/qnx/qqnxmediaintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/multimedia/qnx/qqnxmediaintegration.cpp')
-rw-r--r--src/plugins/multimedia/qnx/qqnxmediaintegration.cpp79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/plugins/multimedia/qnx/qqnxmediaintegration.cpp b/src/plugins/multimedia/qnx/qqnxmediaintegration.cpp
new file mode 100644
index 000000000..8567a69fd
--- /dev/null
+++ b/src/plugins/multimedia/qnx/qqnxmediaintegration.cpp
@@ -0,0 +1,79 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qqnxmediaintegration_p.h"
+#include "qqnxmediacapturesession_p.h"
+#include "qqnxmediarecorder_p.h"
+#include "qqnxformatinfo_p.h"
+#include "qqnxvideodevices_p.h"
+#include "qqnxvideosink_p.h"
+#include "qqnxmediaplayer_p.h"
+#include "qqnximagecapture_p.h"
+#include "qqnxplatformcamera_p.h"
+#include <QtMultimedia/private/qplatformmediaplugin_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QQnxMediaPlugin : public QPlatformMediaPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QPlatformMediaPlugin_iid FILE "qnx.json")
+
+public:
+ QQnxMediaPlugin()
+ : QPlatformMediaPlugin()
+ {}
+
+ QPlatformMediaIntegration* create(const QString &name) override
+ {
+ if (name == u"qnx")
+ return new QQnxMediaIntegration;
+ return nullptr;
+ }
+};
+
+QQnxMediaIntegration::QQnxMediaIntegration() : QPlatformMediaIntegration(QLatin1String("qnx")) { }
+
+QPlatformMediaFormatInfo *QQnxMediaIntegration::createFormatInfo()
+{
+ return new QQnxFormatInfo;
+}
+
+QPlatformVideoDevices *QQnxMediaIntegration::createVideoDevices()
+{
+ return new QQnxVideoDevices(this);
+}
+
+QMaybe<QPlatformVideoSink *> QQnxMediaIntegration::createVideoSink(QVideoSink *sink)
+{
+ return new QQnxVideoSink(sink);
+}
+
+QMaybe<QPlatformMediaPlayer *> QQnxMediaIntegration::createPlayer(QMediaPlayer *parent)
+{
+ return new QQnxMediaPlayer(parent);
+}
+
+QMaybe<QPlatformMediaCaptureSession *> QQnxMediaIntegration::createCaptureSession()
+{
+ return new QQnxMediaCaptureSession();
+}
+
+QMaybe<QPlatformMediaRecorder *> QQnxMediaIntegration::createRecorder(QMediaRecorder *parent)
+{
+ return new QQnxMediaRecorder(parent);
+}
+
+QMaybe<QPlatformCamera *> QQnxMediaIntegration::createCamera(QCamera *parent)
+{
+ return new QQnxPlatformCamera(parent);
+}
+
+QMaybe<QPlatformImageCapture *> QQnxMediaIntegration::createImageCapture(QImageCapture *parent)
+{
+ return new QQnxImageCapture(parent);
+}
+
+QT_END_NAMESPACE
+
+#include "qqnxmediaintegration.moc"