QVideoSink Class

The QVideoSink class represents a generic sink for video data. More...

Header: #include <QVideoSink>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Inherits: QObject

Properties

Public Functions

QVideoSink(QObject *parent = nullptr)
virtual ~QVideoSink()
QRhi *rhi() const
void setSubtitleText(const QString &subtitle)
void setVideoFrame(const QVideoFrame &frame)
QString subtitleText() const
QVideoFrame videoFrame() const
QSize videoSize() const

Signals

void subtitleTextChanged(const QString &subtitleText) const
void videoFrameChanged(const QVideoFrame &frame) const
void videoSizeChanged()

Detailed Description

The QVideoSink class can be used to retrieve video data on a frame by frame basis from Qt Multimedia.

QVideoSink will provide individual video frames to the application developer through the videoFrameChanged() signal.

The video frame can then be used to read out the data of those frames and handle them further. When using QPainter, the QVideoFrame can be drawing using the paint() method in QVideoSink.

QVideoFrame objects can consume a significant amount of memory or system resources and should thus not be held for longer than required by the application.

See also QMediaPlayer and QMediaCaptureSession.

Property Documentation

subtitleText : QString

Returns the current subtitle text.

Access functions:

QString subtitleText() const
void setSubtitleText(const QString &subtitle)

Notifier signal:

void subtitleTextChanged(const QString &subtitleText) const

[read-only] videoSize : const QSize

Returns the size of the video currently being played back. If no video is being played, this method returns an invalid size.

Access functions:

QSize videoSize() const

Notifier signal:

void videoSizeChanged()

Member Function Documentation

QVideoSink::QVideoSink(QObject *parent = nullptr)

Constructs a new QVideoSink object with parent.

[virtual noexcept] QVideoSink::~QVideoSink()

Destroys the object.

QRhi *QVideoSink::rhi() const

Returns the QRhi instance being used to create texture data in the video frames.

void QVideoSink::setSubtitleText(const QString &subtitle)

Sets the current subtitle text.

Note: Setter function for property subtitleText.

See also subtitleText().

void QVideoSink::setVideoFrame(const QVideoFrame &frame)

Sets the current video frame.

See also videoFrame().

QVideoFrame QVideoSink::videoFrame() const

Returns the current video frame.

See also setVideoFrame().

[signal] void QVideoSink::videoFrameChanged(const QVideoFrame &frame) const

Signals when the video frame changes.