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
132
133
134QVideoFrame QVideoSink::videoFrame()
const
136 return d->videoSink ? d->videoSink->currentVideoFrame() : QVideoFrame{};
140
141
142
143
145
146
147
148
149void QVideoSink::setVideoFrame(
const QVideoFrame &frame)
152 d->videoSink->setVideoFrame(frame);
156
157
158
159
160QString QVideoSink::subtitleText()
const
162 return d->videoSink ? d->videoSink->subtitleText() : QString{};
166
167
168void QVideoSink::setSubtitleText(
const QString &subtitle)
171 d->videoSink->setSubtitleText(subtitle);
175
176
177
178
179
180QSize QVideoSink::videoSize()
const
182 return d->videoSink ? d->videoSink->nativeSize() : QSize{};
185void QVideoSink::setSource(QObject *source)
187 if (d->source == source)
190 d->unregisterSource();
196#include "moc_qvideosink.cpp"
QVideoSinkPrivate(QVideoSink *q)
QPlatformVideoSink * videoSink
Combined button and popup list for selecting options.