summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video/qvideosink.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/video/qvideosink.h')
-rw-r--r--src/multimedia/video/qvideosink.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/multimedia/video/qvideosink.h b/src/multimedia/video/qvideosink.h
new file mode 100644
index 000000000..1a2e77834
--- /dev/null
+++ b/src/multimedia/video/qvideosink.h
@@ -0,0 +1,57 @@
+// Copyright (C) 2016 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
+
+#ifndef QABSTRACTVIDEOSINK_H
+#define QABSTRACTVIDEOSINK_H
+
+#include <QtMultimedia/qtmultimediaglobal.h>
+#include <QtCore/qobject.h>
+#include <QtGui/qwindowdefs.h>
+
+QT_BEGIN_NAMESPACE
+
+class QRectF;
+class QVideoFrameFormat;
+class QVideoFrame;
+
+class QVideoSinkPrivate;
+class QPlatformVideoSink;
+class QRhi;
+
+class Q_MULTIMEDIA_EXPORT QVideoSink : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString subtitleText READ subtitleText WRITE setSubtitleText NOTIFY subtitleTextChanged)
+ Q_PROPERTY(QSize videoSize READ videoSize NOTIFY videoSizeChanged)
+public:
+ QVideoSink(QObject *parent = nullptr);
+ ~QVideoSink();
+
+ QRhi *rhi() const;
+ void setRhi(QRhi *rhi);
+
+ QSize videoSize() const;
+
+ QString subtitleText() const;
+ void setSubtitleText(const QString &subtitle);
+
+ void setVideoFrame(const QVideoFrame &frame);
+ QVideoFrame videoFrame() const;
+
+ QPlatformVideoSink *platformVideoSink() const;
+Q_SIGNALS:
+ void videoFrameChanged(const QVideoFrame &frame) QT6_ONLY(const);
+ void subtitleTextChanged(const QString &subtitleText) QT6_ONLY(const);
+ void videoSizeChanged();
+
+private:
+ friend class QMediaPlayerPrivate;
+ friend class QMediaCaptureSessionPrivate;
+ void setSource(QObject *source);
+
+ QVideoSinkPrivate *d = nullptr;
+};
+
+QT_END_NAMESPACE
+
+#endif