QVideoEncoderSettingsControl Class

The QVideoEncoderSettingsControl class provides access to the settings of a media service that performs video encoding. More...

Header: #include <QVideoEncoderSettingsControl>
qmake: QT += multimedia
Inherits: QMediaControl

Public Functions

virtual ~QVideoEncoderSettingsControl()
virtual void setVideoSettings(const QVideoEncoderSettings &settings) = 0
virtual QList<qreal> supportedFrameRates(const QVideoEncoderSettings &settings, bool *continuous = nullptr) const = 0
virtual QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings, bool *continuous = nullptr) const = 0
virtual QStringList supportedVideoCodecs() const = 0
virtual QString videoCodecDescription(const QString &codec) const = 0
virtual QVideoEncoderSettings videoSettings() const = 0

Protected Functions

QVideoEncoderSettingsControl(QObject *parent = nullptr)

Macros

Detailed Description

If a QMediaService supports encoding video data it will implement QVideoEncoderSettingsControl. This control provides information about the limits of restricted video encoder options and allows the selection of a set of video encoder settings as specified in a QVideoEncoderSettings object.

The functionality provided by this control is exposed to application code through the QMediaRecorder class.

The interface name of QVideoEncoderSettingsControl is org.qt-project.qt.videoencodersettingscontrol/5.0 as defined in QVideoEncoderSettingsControl_iid.

See also QMediaRecorder, QVideoEncoderSettings, and QMediaService::requestControl().

Member Function Documentation

[protected] QVideoEncoderSettingsControl::QVideoEncoderSettingsControl(QObject *parent = nullptr)

Create a new video encoder settings control object with the given parent.

[virtual] QVideoEncoderSettingsControl::~QVideoEncoderSettingsControl()

Destroys a video encoder settings control.

[pure virtual] void QVideoEncoderSettingsControl::setVideoSettings(const QVideoEncoderSettings &settings)

Sets the selected video encoder settings.

See also videoSettings().

[pure virtual] QList<qreal> QVideoEncoderSettingsControl::supportedFrameRates(const QVideoEncoderSettings &settings, bool *continuous = nullptr) const

Returns a list of supported frame rates.

If non null video settings parameter is passed, the returned list is reduced to frame rates supported with partial settings like video codec or video resolution applied.

If the encoder supports arbitrary frame rates within the supported range, *continuous is set to true, otherwise *continuous is set to false.

See also QVideoEncoderSettings::frameRate().

[pure virtual] QList<QSize> QVideoEncoderSettingsControl::supportedResolutions(const QVideoEncoderSettings &settings, bool *continuous = nullptr) const

Returns a list of supported resolutions.

If non null video settings parameter is passed, the returned list is reduced to resolution supported with partial settings like video codec or frame rate applied.

If the encoder supports arbitrary resolutions within the supported resolutions range, *continuous is set to true, otherwise *continuous is set to false.

See also QVideoEncoderSettings::resolution().

[pure virtual] QStringList QVideoEncoderSettingsControl::supportedVideoCodecs() const

Returns the list of supported video codecs.

[pure virtual] QString QVideoEncoderSettingsControl::videoCodecDescription(const QString &codec) const

Returns a description of a video codec.

[pure virtual] QVideoEncoderSettings QVideoEncoderSettingsControl::videoSettings() const

Returns the video encoder settings.

The returned value may be different tha passed to QVideoEncoderSettingsControl::setVideoSettings() if the settings contains the default or undefined parameters. In this case if the undefined parameters are already resolved, they should be returned.

See also setVideoSettings().

Macro Documentation

QVideoEncoderSettingsControl_iid

org.qt-project.qt.videoencodersettingscontrol/5.0

Defines the interface name of the QVideoEncoderSettingsControl class.

© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.