Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qplatformvideosink_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QPLATFORMVIDEOSINK_H
5#define QPLATFORMVIDEOSINK_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtMultimedia/qtmultimediaglobal.h>
19#include <QtCore/qobject.h>
20#include <QtCore/qrect.h>
21#include <QtCore/qsize.h>
22#include <QtCore/qmutex.h>
23#include <QtGui/qwindowdefs.h>
24#include <qvideosink.h>
25#include <qvideoframe.h>
26#include <qdebug.h>
27#include <private/qglobal_p.h>
28
30
31// Required for QDoc workaround
32class QString;
33
34class Q_MULTIMEDIA_EXPORT QPlatformVideoSink : public QObject
35{
37
38public:
40
41 virtual void setRhi(QRhi * /*rhi*/) {}
42
43 virtual void setWinId(WId) {}
44 virtual void setDisplayRect(const QRect &) {};
45 virtual void setFullScreen(bool) {}
47
48 QSize nativeSize() const;
49
50 virtual void setBrightness(float /*brightness*/) {}
51 virtual void setContrast(float /*contrast*/) {}
52 virtual void setHue(float /*hue*/) {}
53 virtual void setSaturation(float /*saturation*/) {}
54
55 QVideoSink *videoSink() { return m_sink; }
56
57 void setNativeSize(QSize s);
58
59 virtual void setVideoFrame(const QVideoFrame &frame);
60
61 QVideoFrame currentVideoFrame() const;
62
63 void setSubtitleText(const QString &subtitleText);
64
65 QString subtitleText() const;
66
67protected:
68 explicit QPlatformVideoSink(QVideoSink *parent);
69
71 void rhiChanged(QRhi *rhi);
72
73private:
74 QVideoSink *m_sink = nullptr;
75 mutable QMutex m_mutex;
76 QSize m_nativeSize;
77 QString m_subtitleText;
78 QVideoFrame m_currentVideoFrame;
79};
80
82
83
84#endif
\inmodule QtCore
Definition qmutex.h:281
\inmodule QtCore
Definition qobject.h:103
virtual void setSaturation(float)
void rhiChanged(QRhi *rhi)
virtual void setAspectRatioMode(Qt::AspectRatioMode)
virtual void setFullScreen(bool)
virtual void setDisplayRect(const QRect &)
virtual void setWinId(WId)
virtual void setContrast(float)
virtual void setHue(float)
virtual void setRhi(QRhi *)
virtual void setBrightness(float)
~QPlatformVideoSink() override
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1804
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
The QVideoFrame class represents a frame of video data.
Definition qvideoframe.h:27
The QVideoSink class represents a generic sink for video data.
Definition qvideosink.h:22
Combined button and popup list for selecting options.
AspectRatioMode
GLdouble s
[6]
Definition qopenglext.h:235
#define Q_OBJECT
#define Q_SIGNALS
QFrame frame
[0]