13#include <qmatrix4x4.h>
15#include <private/qplatformmediaintegration_p.h>
16#include <private/qplatformvideosink_p.h>
25 auto maybeVideoSink = QPlatformMediaIntegration::instance()->createVideoSink(q);
29 qWarning() <<
"Failed to create QVideoSink" << maybeVideoSink.error();
42 if (
auto *player = qobject_cast<QMediaPlayer *>(old))
43 player->setVideoSink(
nullptr);
44 else if (
auto *capture = qobject_cast<QMediaCaptureSession *>(old))
45 capture->setVideoSink(
nullptr);
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
80
81
82QVideoSink::QVideoSink(QObject *parent)
84 d(
new QVideoSinkPrivate(
this))
86 qRegisterMetaType<QVideoFrame>();
90
91
92QVideoSink::~QVideoSink()
95 d->unregisterSource();
100
101
102QRhi *QVideoSink::rhi()
const
108
109
110
111
112void QVideoSink::setRhi(QRhi *rhi)
118 d->videoSink->setRhi(rhi);
122
123
124QPlatformVideoSink *QVideoSink::platformVideoSink()
const
130
131
132QVideoFrame QVideoSink::videoFrame()
const
134 return d->videoSink ? d->videoSink->currentVideoFrame() : QVideoFrame{};
138
139
140
141
143
144
145void QVideoSink::setVideoFrame(
const QVideoFrame &frame)
148 d->videoSink->setVideoFrame(frame);
152
153
154
155
156QString QVideoSink::subtitleText()
const
158 return d->videoSink ? d->videoSink->subtitleText() : QString{};
162
163
164void QVideoSink::setSubtitleText(
const QString &subtitle)
167 d->videoSink->setSubtitleText(subtitle);
171
172
173
174
175
176QSize QVideoSink::videoSize()
const
178 return d->videoSink ? d->videoSink->nativeSize() : QSize{};
181void QVideoSink::setSource(QObject *source)
183 if (d->source == source)
186 d->unregisterSource();
192#include "moc_qvideosink.cpp"
QVideoSinkPrivate(QVideoSink *q)
QPlatformVideoSink * videoSink
Combined button and popup list for selecting options.