summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/qaudio.cpp4
-rw-r--r--src/multimedia/audio/qaudio.h3
-rw-r--r--src/multimedia/audio/qaudiobuffer.cpp10
-rw-r--r--src/multimedia/audio/qaudiodecoder.h2
-rw-r--r--src/multimedia/audio/qaudioinput.h4
-rw-r--r--src/multimedia/audio/qaudiooutput.h4
-rw-r--r--src/multimedia/audio/qaudioprobe.h2
-rw-r--r--src/multimedia/audio/qaudiosystemplugin.h2
-rw-r--r--src/multimedia/audio/qsound.h2
-rw-r--r--src/multimedia/audio/qsoundeffect.h2
-rw-r--r--src/multimedia/camera/qcamera.h8
-rw-r--r--src/multimedia/camera/qcameraexposure.h8
-rw-r--r--src/multimedia/camera/qcameraimagecapture.h4
-rw-r--r--src/multimedia/controls/controls.pri7
-rw-r--r--src/multimedia/controls/qaudiodecodercontrol.h2
-rw-r--r--src/multimedia/controls/qaudioencodersettingscontrol.h4
-rw-r--r--src/multimedia/controls/qaudioinputselectorcontrol.h2
-rw-r--r--src/multimedia/controls/qaudiooutputselectorcontrol.h2
-rw-r--r--src/multimedia/controls/qaudiorolecontrol.h2
-rw-r--r--src/multimedia/controls/qcameracapturebufferformatcontrol.h2
-rw-r--r--src/multimedia/controls/qcameracapturedestinationcontrol.h2
-rw-r--r--src/multimedia/controls/qcameracontrol.h2
-rw-r--r--src/multimedia/controls/qcameraexposurecontrol.h2
-rw-r--r--src/multimedia/controls/qcamerafeedbackcontrol.h2
-rw-r--r--src/multimedia/controls/qcameraflashcontrol.h2
-rw-r--r--src/multimedia/controls/qcamerafocuscontrol.h2
-rw-r--r--src/multimedia/controls/qcameraimagecapturecontrol.h2
-rw-r--r--src/multimedia/controls/qcameraimageprocessingcontrol.h2
-rw-r--r--src/multimedia/controls/qcamerainfocontrol.h2
-rw-r--r--src/multimedia/controls/qcameralockscontrol.h2
-rw-r--r--src/multimedia/controls/qcameraviewfindersettingscontrol.h4
-rw-r--r--src/multimedia/controls/qcamerazoomcontrol.h2
-rw-r--r--src/multimedia/controls/qcustomaudiorolecontrol.cpp117
-rw-r--r--src/multimedia/controls/qcustomaudiorolecontrol.h76
-rw-r--r--src/multimedia/controls/qimageencodercontrol.h4
-rw-r--r--src/multimedia/controls/qmediaaudioprobecontrol.h2
-rw-r--r--src/multimedia/controls/qmediaavailabilitycontrol.h2
-rw-r--r--src/multimedia/controls/qmediacontainercontrol.h2
-rw-r--r--src/multimedia/controls/qmediagaplessplaybackcontrol.h2
-rw-r--r--src/multimedia/controls/qmedianetworkaccesscontrol.h2
-rw-r--r--src/multimedia/controls/qmediaplayercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediaplayercontrol.h2
-rw-r--r--src/multimedia/controls/qmediarecordercontrol.h2
-rw-r--r--src/multimedia/controls/qmediastreamscontrol.h2
-rw-r--r--src/multimedia/controls/qmediavideoprobecontrol.h2
-rw-r--r--src/multimedia/controls/qmetadatareadercontrol.h2
-rw-r--r--src/multimedia/controls/qmetadatawritercontrol.h2
-rw-r--r--src/multimedia/controls/qradiodatacontrol.h2
-rw-r--r--src/multimedia/controls/qradiotunercontrol.h2
-rw-r--r--src/multimedia/controls/qvideodeviceselectorcontrol.h2
-rw-r--r--src/multimedia/controls/qvideoencodersettingscontrol.h6
-rw-r--r--src/multimedia/controls/qvideorenderercontrol.h2
-rw-r--r--src/multimedia/controls/qvideowindowcontrol.h2
-rw-r--r--src/multimedia/multimedia.pro2
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp90
-rw-r--r--src/multimedia/playback/qmediaplayer.h11
-rw-r--r--src/multimedia/playback/qmediaplaylist.h10
-rw-r--r--src/multimedia/playback/qplaylistfileparser.cpp2
-rw-r--r--src/multimedia/qmediacontrol.h4
-rw-r--r--src/multimedia/radio/qradiodata.h2
-rw-r--r--src/multimedia/radio/qradiotuner.h2
-rw-r--r--src/multimedia/recording/qaudiorecorder.h2
-rw-r--r--src/multimedia/recording/qmediarecorder.h10
-rw-r--r--src/multimedia/video/qabstractvideofilter.h2
-rw-r--r--src/multimedia/video/qabstractvideosurface.h2
-rw-r--r--src/multimedia/video/qvideoframe.cpp38
-rw-r--r--src/multimedia/video/qvideoprobe.h2
-rw-r--r--src/multimedia/video/qvideosurfaceformat.cpp29
-rw-r--r--src/multimedia/video/qvideosurfaceformat.h3
69 files changed, 436 insertions, 114 deletions
diff --git a/src/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp
index dea9a05a5..82613270a 100644
--- a/src/multimedia/audio/qaudio.cpp
+++ b/src/multimedia/audio/qaudio.cpp
@@ -115,6 +115,7 @@ Q_CONSTRUCTOR_FUNCTION(qRegisterAudioMetaTypes)
\value AccessibilityRole For accessibility, such as with a screen reader
\value SonificationRole Sonification, such as with user interface sounds
\value GameRole Game audio
+ \value CustomRole The role is specified by QMediaPlayer::customAudioRole()
\since 5.6
\sa QMediaPlayer::setAudioRole()
@@ -347,6 +348,9 @@ QDebug operator<<(QDebug dbg, QAudio::Role role)
case QAudio::VoiceCommunicationRole:
dbg << "VoiceCommunicationRole";
break;
+ case QAudio::CustomRole:
+ dbg << "CustomRole";
+ break;
}
return dbg;
}
diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h
index 2603d71d1..90a8c236f 100644
--- a/src/multimedia/audio/qaudio.h
+++ b/src/multimedia/audio/qaudio.h
@@ -68,7 +68,8 @@ namespace QAudio
RingtoneRole,
AccessibilityRole,
SonificationRole,
- GameRole
+ GameRole,
+ CustomRole
};
enum VolumeScale {
diff --git a/src/multimedia/audio/qaudiobuffer.cpp b/src/multimedia/audio/qaudiobuffer.cpp
index fe07d1e47..849d79ab3 100644
--- a/src/multimedia/audio/qaudiobuffer.cpp
+++ b/src/multimedia/audio/qaudiobuffer.cpp
@@ -531,32 +531,32 @@ void *QAudioBuffer::data()
*/
/*!
- \fn QAudioBuffer::StereoFrame::StereoFrame()
+ \fn template <typename T> QAudioBuffer::StereoFrame<T>::StereoFrame()
Constructs a new frame with the "silent" value for this
sample format (0 for signed formats and floats, 0x8* for unsigned formats).
*/
/*!
- \fn QAudioBuffer::StereoFrame::StereoFrame(T leftSample, T rightSample)
+ \fn template <typename T> QAudioBuffer::StereoFrame<T>::StereoFrame(T leftSample, T rightSample)
Constructs a new frame with the supplied \a leftSample and \a rightSample values.
*/
/*!
- \fn QAudioBuffer::StereoFrame::operator=(const StereoFrame &other)
+ \fn template <typename T> QAudioBuffer::StereoFrame<T>::operator=(const StereoFrame &other)
Assigns \a other to this frame.
*/
/*!
- \fn QAudioBuffer::StereoFrame::average() const
+ \fn template <typename T> QAudioBuffer::StereoFrame<T>::average() const
Returns the arithmetic average of the left and right samples.
*/
-/*! \fn QAudioBuffer::StereoFrame::clear()
+/*! \fn template <typename T> QAudioBuffer::StereoFrame<T>::clear()
Sets the values of this frame to the "silent" value.
*/
diff --git a/src/multimedia/audio/qaudiodecoder.h b/src/multimedia/audio/qaudiodecoder.h
index 85e0b75f7..4ba107946 100644
--- a/src/multimedia/audio/qaudiodecoder.h
+++ b/src/multimedia/audio/qaudiodecoder.h
@@ -75,7 +75,7 @@ public:
ServiceMissingError
};
- explicit QAudioDecoder(QObject *parent = Q_NULLPTR);
+ explicit QAudioDecoder(QObject *parent = nullptr);
~QAudioDecoder();
static QMultimedia::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs = QStringList());
diff --git a/src/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h
index 5794276d2..db482a145 100644
--- a/src/multimedia/audio/qaudioinput.h
+++ b/src/multimedia/audio/qaudioinput.h
@@ -62,8 +62,8 @@ class Q_MULTIMEDIA_EXPORT QAudioInput : public QObject
Q_OBJECT
public:
- explicit QAudioInput(const QAudioFormat &format = QAudioFormat(), QObject *parent = Q_NULLPTR);
- explicit QAudioInput(const QAudioDeviceInfo &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = Q_NULLPTR);
+ explicit QAudioInput(const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
+ explicit QAudioInput(const QAudioDeviceInfo &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
~QAudioInput();
QAudioFormat format() const;
diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h
index 9f817271d..1c037cd2b 100644
--- a/src/multimedia/audio/qaudiooutput.h
+++ b/src/multimedia/audio/qaudiooutput.h
@@ -62,8 +62,8 @@ class Q_MULTIMEDIA_EXPORT QAudioOutput : public QObject
Q_OBJECT
public:
- explicit QAudioOutput(const QAudioFormat &format = QAudioFormat(), QObject *parent = Q_NULLPTR);
- explicit QAudioOutput(const QAudioDeviceInfo &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = Q_NULLPTR);
+ explicit QAudioOutput(const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
+ explicit QAudioOutput(const QAudioDeviceInfo &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
~QAudioOutput();
QAudioFormat format() const;
diff --git a/src/multimedia/audio/qaudioprobe.h b/src/multimedia/audio/qaudioprobe.h
index 376a54e34..a3fc4598d 100644
--- a/src/multimedia/audio/qaudioprobe.h
+++ b/src/multimedia/audio/qaudioprobe.h
@@ -53,7 +53,7 @@ class Q_MULTIMEDIA_EXPORT QAudioProbe : public QObject
{
Q_OBJECT
public:
- explicit QAudioProbe(QObject *parent = Q_NULLPTR);
+ explicit QAudioProbe(QObject *parent = nullptr);
~QAudioProbe();
bool setSource(QMediaObject *source);
diff --git a/src/multimedia/audio/qaudiosystemplugin.h b/src/multimedia/audio/qaudiosystemplugin.h
index e304f1c46..3539201a2 100644
--- a/src/multimedia/audio/qaudiosystemplugin.h
+++ b/src/multimedia/audio/qaudiosystemplugin.h
@@ -78,7 +78,7 @@ class Q_MULTIMEDIA_EXPORT QAudioSystemPlugin : public QObject, public QAudioSyst
Q_INTERFACES(QAudioSystemFactoryInterface)
public:
- explicit QAudioSystemPlugin(QObject *parent = Q_NULLPTR);
+ explicit QAudioSystemPlugin(QObject *parent = nullptr);
~QAudioSystemPlugin();
QList<QByteArray> availableDevices(QAudio::Mode) const override = 0;
diff --git a/src/multimedia/audio/qsound.h b/src/multimedia/audio/qsound.h
index 304019ced..0b6320025 100644
--- a/src/multimedia/audio/qsound.h
+++ b/src/multimedia/audio/qsound.h
@@ -58,7 +58,7 @@ public:
static void play(const QString& filename);
- explicit QSound(const QString &filename, QObject *parent = Q_NULLPTR);
+ explicit QSound(const QString &filename, QObject *parent = nullptr);
~QSound();
int loops() const;
diff --git a/src/multimedia/audio/qsoundeffect.h b/src/multimedia/audio/qsoundeffect.h
index 7420d7b81..8bde1fe56 100644
--- a/src/multimedia/audio/qsoundeffect.h
+++ b/src/multimedia/audio/qsoundeffect.h
@@ -80,7 +80,7 @@ public:
Error
};
- explicit QSoundEffect(QObject *parent = Q_NULLPTR);
+ explicit QSoundEffect(QObject *parent = nullptr);
~QSoundEffect();
static QStringList supportedMimeTypes();
diff --git a/src/multimedia/camera/qcamera.h b/src/multimedia/camera/qcamera.h
index aebd1c013..06187fec0 100644
--- a/src/multimedia/camera/qcamera.h
+++ b/src/multimedia/camera/qcamera.h
@@ -165,10 +165,10 @@ public:
FrontFace
};
- explicit QCamera(QObject *parent = Q_NULLPTR);
- explicit QCamera(const QByteArray& deviceName, QObject *parent = Q_NULLPTR);
- explicit QCamera(const QCameraInfo& cameraInfo, QObject *parent = Q_NULLPTR);
- explicit QCamera(QCamera::Position position, QObject *parent = Q_NULLPTR);
+ explicit QCamera(QObject *parent = nullptr);
+ explicit QCamera(const QByteArray& deviceName, QObject *parent = nullptr);
+ explicit QCamera(const QCameraInfo& cameraInfo, QObject *parent = nullptr);
+ explicit QCamera(QCamera::Position position, QObject *parent = nullptr);
~QCamera();
#if QT_DEPRECATED_SINCE(5, 3)
diff --git a/src/multimedia/camera/qcameraexposure.h b/src/multimedia/camera/qcameraexposure.h
index e0924ca60..336d4c0b3 100644
--- a/src/multimedia/camera/qcameraexposure.h
+++ b/src/multimedia/camera/qcameraexposure.h
@@ -135,9 +135,9 @@ public:
qreal requestedAperture() const;
qreal requestedShutterSpeed() const;
- QList<int> supportedIsoSensitivities(bool *continuous = Q_NULLPTR) const;
- QList<qreal> supportedApertures(bool *continuous = Q_NULLPTR) const;
- QList<qreal> supportedShutterSpeeds(bool *continuous = Q_NULLPTR) const;
+ QList<int> supportedIsoSensitivities(bool *continuous = nullptr) const;
+ QList<qreal> supportedApertures(bool *continuous = nullptr) const;
+ QList<qreal> supportedShutterSpeeds(bool *continuous = nullptr) const;
public Q_SLOTS:
void setFlashMode(FlashModes mode);
@@ -168,7 +168,7 @@ Q_SIGNALS:
private:
friend class QCamera;
friend class QCameraPrivate;
- explicit QCameraExposure(QCamera *parent = Q_NULLPTR);
+ explicit QCameraExposure(QCamera *parent = nullptr);
virtual ~QCameraExposure();
Q_DISABLE_COPY(QCameraExposure)
diff --git a/src/multimedia/camera/qcameraimagecapture.h b/src/multimedia/camera/qcameraimagecapture.h
index 12feb9eec..6fedb7e2c 100644
--- a/src/multimedia/camera/qcameraimagecapture.h
+++ b/src/multimedia/camera/qcameraimagecapture.h
@@ -87,7 +87,7 @@ public:
};
Q_DECLARE_FLAGS(CaptureDestinations, CaptureDestination)
- explicit QCameraImageCapture(QMediaObject *mediaObject, QObject *parent = Q_NULLPTR);
+ explicit QCameraImageCapture(QMediaObject *mediaObject, QObject *parent = nullptr);
~QCameraImageCapture();
bool isAvailable() const;
@@ -104,7 +104,7 @@ public:
QString imageCodecDescription(const QString &codecName) const;
QList<QSize> supportedResolutions(const QImageEncoderSettings &settings = QImageEncoderSettings(),
- bool *continuous = Q_NULLPTR) const;
+ bool *continuous = nullptr) const;
QImageEncoderSettings encodingSettings() const;
void setEncodingSettings(const QImageEncoderSettings& settings);
diff --git a/src/multimedia/controls/controls.pri b/src/multimedia/controls/controls.pri
index 7ab2e51c4..cfebe9777 100644
--- a/src/multimedia/controls/controls.pri
+++ b/src/multimedia/controls/controls.pri
@@ -37,7 +37,8 @@ PUBLIC_HEADERS += \
controls/qmediaaudioprobecontrol.h \
controls/qmediavideoprobecontrol.h \
controls/qmediaavailabilitycontrol.h \
- controls/qaudiorolecontrol.h
+ controls/qaudiorolecontrol.h \
+ controls/qcustomaudiorolecontrol.h
PRIVATE_HEADERS += \
controls/qmediaplaylistcontrol_p.h \
@@ -81,5 +82,5 @@ SOURCES += \
controls/qaudioinputselectorcontrol.cpp \
controls/qaudiooutputselectorcontrol.cpp \
controls/qvideodeviceselectorcontrol.cpp \
- controls/qaudiorolecontrol.cpp
-
+ controls/qaudiorolecontrol.cpp \
+ controls/qcustomaudiorolecontrol.cpp
diff --git a/src/multimedia/controls/qaudiodecodercontrol.h b/src/multimedia/controls/qaudiodecodercontrol.h
index f02da4963..6ab27ba62 100644
--- a/src/multimedia/controls/qaudiodecodercontrol.h
+++ b/src/multimedia/controls/qaudiodecodercontrol.h
@@ -92,7 +92,7 @@ Q_SIGNALS:
void durationChanged(qint64 duration);
protected:
- explicit QAudioDecoderControl(QObject *parent = Q_NULLPTR);
+ explicit QAudioDecoderControl(QObject *parent = nullptr);
};
#define QAudioDecoderControl_iid "org.qt-project.qt.audiodecodercontrol/5.0"
diff --git a/src/multimedia/controls/qaudioencodersettingscontrol.h b/src/multimedia/controls/qaudioencodersettingscontrol.h
index 1906904d8..1f973f0ea 100644
--- a/src/multimedia/controls/qaudioencodersettingscontrol.h
+++ b/src/multimedia/controls/qaudioencodersettingscontrol.h
@@ -67,13 +67,13 @@ public:
virtual QString codecDescription(const QString &codecName) const = 0;
virtual QList<int> supportedSampleRates(const QAudioEncoderSettings &settings,
- bool *continuous = Q_NULLPTR) const = 0;
+ bool *continuous = nullptr) const = 0;
virtual QAudioEncoderSettings audioSettings() const = 0;
virtual void setAudioSettings(const QAudioEncoderSettings&) = 0;
protected:
- explicit QAudioEncoderSettingsControl(QObject *parent = Q_NULLPTR);
+ explicit QAudioEncoderSettingsControl(QObject *parent = nullptr);
};
#define QAudioEncoderSettingsControl_iid "org.qt-project.qt.audioencodersettingscontrol/5.0"
diff --git a/src/multimedia/controls/qaudioinputselectorcontrol.h b/src/multimedia/controls/qaudioinputselectorcontrol.h
index eceaa76dd..9665b55de 100644
--- a/src/multimedia/controls/qaudioinputselectorcontrol.h
+++ b/src/multimedia/controls/qaudioinputselectorcontrol.h
@@ -68,7 +68,7 @@ Q_SIGNALS:
void availableInputsChanged();
protected:
- explicit QAudioInputSelectorControl(QObject *parent = Q_NULLPTR);
+ explicit QAudioInputSelectorControl(QObject *parent = nullptr);
};
#define QAudioInputSelectorControl_iid "org.qt-project.qt.audioinputselectorcontrol/5.0"
diff --git a/src/multimedia/controls/qaudiooutputselectorcontrol.h b/src/multimedia/controls/qaudiooutputselectorcontrol.h
index b2d27a349..de44d0ebb 100644
--- a/src/multimedia/controls/qaudiooutputselectorcontrol.h
+++ b/src/multimedia/controls/qaudiooutputselectorcontrol.h
@@ -68,7 +68,7 @@ Q_SIGNALS:
void availableOutputsChanged();
protected:
- explicit QAudioOutputSelectorControl(QObject *parent = Q_NULLPTR);
+ explicit QAudioOutputSelectorControl(QObject *parent = nullptr);
};
#define QAudioOutputSelectorControl_iid "org.qt-project.qt.audiooutputselectorcontrol/5.0"
diff --git a/src/multimedia/controls/qaudiorolecontrol.h b/src/multimedia/controls/qaudiorolecontrol.h
index 5d9db177b..c59874fdf 100644
--- a/src/multimedia/controls/qaudiorolecontrol.h
+++ b/src/multimedia/controls/qaudiorolecontrol.h
@@ -64,7 +64,7 @@ Q_SIGNALS:
void audioRoleChanged(QAudio::Role role);
protected:
- explicit QAudioRoleControl(QObject *parent = Q_NULLPTR);
+ explicit QAudioRoleControl(QObject *parent = nullptr);
};
#define QAudioRoleControl_iid "org.qt-project.qt.audiorolecontrol/5.6"
diff --git a/src/multimedia/controls/qcameracapturebufferformatcontrol.h b/src/multimedia/controls/qcameracapturebufferformatcontrol.h
index cb8c3d6d9..c659384b6 100644
--- a/src/multimedia/controls/qcameracapturebufferformatcontrol.h
+++ b/src/multimedia/controls/qcameracapturebufferformatcontrol.h
@@ -62,7 +62,7 @@ Q_SIGNALS:
void bufferFormatChanged(QVideoFrame::PixelFormat);
protected:
- explicit QCameraCaptureBufferFormatControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraCaptureBufferFormatControl(QObject *parent = nullptr);
};
#define QCameraCaptureBufferFormatControl_iid "org.qt-project.qt.cameracapturebufferformatcontrol/5.0"
diff --git a/src/multimedia/controls/qcameracapturedestinationcontrol.h b/src/multimedia/controls/qcameracapturedestinationcontrol.h
index 90142d6b5..30d69d47a 100644
--- a/src/multimedia/controls/qcameracapturedestinationcontrol.h
+++ b/src/multimedia/controls/qcameracapturedestinationcontrol.h
@@ -62,7 +62,7 @@ Q_SIGNALS:
void captureDestinationChanged(QCameraImageCapture::CaptureDestinations);
protected:
- explicit QCameraCaptureDestinationControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraCaptureDestinationControl(QObject *parent = nullptr);
};
#define QCameraCaptureDestinationControl_iid "org.qt-project.qt.cameracapturedestinationcontrol/5.0"
diff --git a/src/multimedia/controls/qcameracontrol.h b/src/multimedia/controls/qcameracontrol.h
index f17af0ce9..f7a1b4288 100644
--- a/src/multimedia/controls/qcameracontrol.h
+++ b/src/multimedia/controls/qcameracontrol.h
@@ -83,7 +83,7 @@ Q_SIGNALS:
void captureModeChanged(QCamera::CaptureModes);
protected:
- explicit QCameraControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraControl(QObject *parent = nullptr);
};
#define QCameraControl_iid "org.qt-project.qt.cameracontrol/5.0"
diff --git a/src/multimedia/controls/qcameraexposurecontrol.h b/src/multimedia/controls/qcameraexposurecontrol.h
index 88dda12ed..7694380e5 100644
--- a/src/multimedia/controls/qcameraexposurecontrol.h
+++ b/src/multimedia/controls/qcameraexposurecontrol.h
@@ -87,7 +87,7 @@ Q_SIGNALS:
void parameterRangeChanged(int parameter);
protected:
- explicit QCameraExposureControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraExposureControl(QObject *parent = nullptr);
};
#define QCameraExposureControl_iid "org.qt-project.qt.cameraexposurecontrol/5.0"
diff --git a/src/multimedia/controls/qcamerafeedbackcontrol.h b/src/multimedia/controls/qcamerafeedbackcontrol.h
index cee97210f..195ad3915 100644
--- a/src/multimedia/controls/qcamerafeedbackcontrol.h
+++ b/src/multimedia/controls/qcamerafeedbackcontrol.h
@@ -84,7 +84,7 @@ public:
virtual bool setEventFeedbackSound(EventType, const QString &filePath) = 0;
protected:
- explicit QCameraFeedbackControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraFeedbackControl(QObject *parent = nullptr);
};
#define QCameraFeedbackControl_iid "org.qt-project.qt.camerafeedbackcontrol/5.0"
diff --git a/src/multimedia/controls/qcameraflashcontrol.h b/src/multimedia/controls/qcameraflashcontrol.h
index 08e991f5a..d4b7d1f4c 100644
--- a/src/multimedia/controls/qcameraflashcontrol.h
+++ b/src/multimedia/controls/qcameraflashcontrol.h
@@ -68,7 +68,7 @@ Q_SIGNALS:
void flashReady(bool);
protected:
- explicit QCameraFlashControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraFlashControl(QObject *parent = nullptr);
};
#define QCameraFlashControl_iid "org.qt-project.qt.cameraflashcontrol/5.0"
diff --git a/src/multimedia/controls/qcamerafocuscontrol.h b/src/multimedia/controls/qcamerafocuscontrol.h
index 32da7cc31..a93d2fd1e 100644
--- a/src/multimedia/controls/qcamerafocuscontrol.h
+++ b/src/multimedia/controls/qcamerafocuscontrol.h
@@ -77,7 +77,7 @@ Q_SIGNALS:
void focusZonesChanged();
protected:
- explicit QCameraFocusControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraFocusControl(QObject *parent = nullptr);
};
#define QCameraFocusControl_iid "org.qt-project.qt.camerafocuscontrol/5.0"
diff --git a/src/multimedia/controls/qcameraimagecapturecontrol.h b/src/multimedia/controls/qcameraimagecapturecontrol.h
index 4fe7b9387..e6700fce5 100644
--- a/src/multimedia/controls/qcameraimagecapturecontrol.h
+++ b/src/multimedia/controls/qcameraimagecapturecontrol.h
@@ -80,7 +80,7 @@ Q_SIGNALS:
void error(int id, int error, const QString &errorString);
protected:
- explicit QCameraImageCaptureControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraImageCaptureControl(QObject *parent = nullptr);
};
#define QCameraImageCaptureControl_iid "org.qt-project.qt.cameraimagecapturecontrol/5.0"
diff --git a/src/multimedia/controls/qcameraimageprocessingcontrol.h b/src/multimedia/controls/qcameraimageprocessingcontrol.h
index ee46143e4..8be435f8f 100644
--- a/src/multimedia/controls/qcameraimageprocessingcontrol.h
+++ b/src/multimedia/controls/qcameraimageprocessingcontrol.h
@@ -82,7 +82,7 @@ public:
virtual void setParameter(ProcessingParameter parameter, const QVariant &value) = 0;
protected:
- explicit QCameraImageProcessingControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraImageProcessingControl(QObject *parent = nullptr);
};
#define QCameraImageProcessingControl_iid "org.qt-project.qt.cameraimageprocessingcontrol/5.0"
diff --git a/src/multimedia/controls/qcamerainfocontrol.h b/src/multimedia/controls/qcamerainfocontrol.h
index 32f85fc3a..9ee0a3abf 100644
--- a/src/multimedia/controls/qcamerainfocontrol.h
+++ b/src/multimedia/controls/qcamerainfocontrol.h
@@ -58,7 +58,7 @@ public:
virtual int cameraOrientation(const QString &deviceName) const = 0;
protected:
- explicit QCameraInfoControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraInfoControl(QObject *parent = nullptr);
};
#define QCameraInfoControl_iid "org.qt-project.qt.camerainfocontrol/5.3"
diff --git a/src/multimedia/controls/qcameralockscontrol.h b/src/multimedia/controls/qcameralockscontrol.h
index 01178642f..d545d971e 100644
--- a/src/multimedia/controls/qcameralockscontrol.h
+++ b/src/multimedia/controls/qcameralockscontrol.h
@@ -67,7 +67,7 @@ Q_SIGNALS:
void lockStatusChanged(QCamera::LockType type, QCamera::LockStatus status, QCamera::LockChangeReason reason);
protected:
- explicit QCameraLocksControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraLocksControl(QObject *parent = nullptr);
};
#define QCameraLocksControl_iid "org.qt-project.qt.cameralockscontrol/5.0"
diff --git a/src/multimedia/controls/qcameraviewfindersettingscontrol.h b/src/multimedia/controls/qcameraviewfindersettingscontrol.h
index c67fdaabb..7877bd1db 100644
--- a/src/multimedia/controls/qcameraviewfindersettingscontrol.h
+++ b/src/multimedia/controls/qcameraviewfindersettingscontrol.h
@@ -70,7 +70,7 @@ public:
virtual void setViewfinderParameter(ViewfinderParameter parameter, const QVariant &value) = 0;
protected:
- explicit QCameraViewfinderSettingsControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraViewfinderSettingsControl(QObject *parent = nullptr);
};
#define QCameraViewfinderSettingsControl_iid "org.qt-project.qt.cameraviewfindersettingscontrol/5.0"
@@ -92,7 +92,7 @@ public:
virtual void setViewfinderSettings(const QCameraViewfinderSettings &settings) = 0;
protected:
- explicit QCameraViewfinderSettingsControl2(QObject *parent = Q_NULLPTR);
+ explicit QCameraViewfinderSettingsControl2(QObject *parent = nullptr);
};
#define QCameraViewfinderSettingsControl2_iid "org.qt-project.qt.cameraviewfindersettingscontrol2/5.5"
diff --git a/src/multimedia/controls/qcamerazoomcontrol.h b/src/multimedia/controls/qcamerazoomcontrol.h
index 776d6ddab..feca6a362 100644
--- a/src/multimedia/controls/qcamerazoomcontrol.h
+++ b/src/multimedia/controls/qcamerazoomcontrol.h
@@ -75,7 +75,7 @@ Q_SIGNALS:
void currentDigitalZoomChanged(qreal digitalZoom);
protected:
- explicit QCameraZoomControl(QObject *parent = Q_NULLPTR);
+ explicit QCameraZoomControl(QObject *parent = nullptr);
};
#define QCameraZoomControl_iid "org.qt-project.qt.camerazoomcontrol/5.0"
diff --git a/src/multimedia/controls/qcustomaudiorolecontrol.cpp b/src/multimedia/controls/qcustomaudiorolecontrol.cpp
new file mode 100644
index 000000000..39431be01
--- /dev/null
+++ b/src/multimedia/controls/qcustomaudiorolecontrol.cpp
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 QNX Software Systems. All rights reserved.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qmediacontrol_p.h"
+#include "qcustomaudiorolecontrol.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QCustomAudioRoleControl
+ \inmodule QtMultimedia
+ \ingroup multimedia_control
+ \since 5.11
+
+ \brief The QCustomAudioRoleControl class provides control over the audio role of a media object.
+
+ If a QMediaService supports audio roles it may implement QCustomAudioRoleControl in order to
+ provide access to roles unknown to Qt.
+
+ The functionality provided by this control is exposed to application code through the
+ QMediaPlayer class.
+
+ The interface name of QCustomAudioRoleControl is \c org.qt-project.qt.customaudiorolecontrol/5.11 as
+ defined in QCustomAudioRoleControl_iid.
+
+ \sa QMediaService::requestControl(), QMediaPlayer
+*/
+
+/*!
+ \macro QCustomAudioRoleControl_iid
+
+ \c org.qt-project.qt.customaudiorolecontrol/5.11
+
+ Defines the interface name of the QCustomAudioRoleControl class.
+
+ \relates QCustomAudioRoleControl
+*/
+
+/*!
+ Construct a QCustomAudioRoleControl with the given \a parent.
+*/
+QCustomAudioRoleControl::QCustomAudioRoleControl(QObject *parent)
+ : QMediaControl(*new QMediaControlPrivate, parent)
+{
+}
+
+/*!
+ Destroys the audio role control.
+*/
+QCustomAudioRoleControl::~QCustomAudioRoleControl()
+{
+}
+
+/*!
+ \fn QAudio::Role QCustomAudioRoleControl::customAudioRole() const
+
+ Returns the audio role of the media played by the media service.
+*/
+
+/*!
+ \fn void QCustomAudioRoleControl::setCustomAudioRole(const QString &role)
+
+ Sets the audio \a role of the media played by the media service.
+*/
+
+/*!
+ \fn QStringList QCustomAudioRoleControl::supportedCustomAudioRoles() const
+
+ Returns a list of custom audio roles that the media service supports. An
+ empty list may indicate that the supported custom audio roles aren't known.
+ The list may not be complete.
+*/
+
+/*!
+ \fn void QCustomAudioRoleControl::customAudioRoleChanged(const QString &role)
+
+ Signal emitted when the audio \a role has changed.
+ */
+
+#include "moc_qcustomaudiorolecontrol.cpp"
+QT_END_NAMESPACE
diff --git a/src/multimedia/controls/qcustomaudiorolecontrol.h b/src/multimedia/controls/qcustomaudiorolecontrol.h
new file mode 100644
index 000000000..f71bc67df
--- /dev/null
+++ b/src/multimedia/controls/qcustomaudiorolecontrol.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 QNX Software Systems. All rights reserved.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QCUSTOMAUDIOROLECONTROL_H
+#define QCUSTOMAUDIOROLECONTROL_H
+
+#include <QtMultimedia/qmediacontrol.h>
+#include <QtMultimedia/qaudio.h>
+
+QT_BEGIN_NAMESPACE
+
+// Class forward declaration required for QDoc bug
+class QString;
+class QStringList;
+
+class Q_MULTIMEDIA_EXPORT QCustomAudioRoleControl : public QMediaControl
+{
+ Q_OBJECT
+
+public:
+ virtual ~QCustomAudioRoleControl();
+
+ virtual QString customAudioRole() const = 0;
+ virtual void setCustomAudioRole(const QString &role) = 0;
+
+ virtual QStringList supportedCustomAudioRoles() const = 0;
+
+Q_SIGNALS:
+ void customAudioRoleChanged(const QString &role);
+
+protected:
+ explicit QCustomAudioRoleControl(QObject *parent = nullptr);
+};
+
+#define QCustomAudioRoleControl_iid "org.qt-project.qt.customaudiorolecontrol/5.11"
+Q_MEDIA_DECLARE_CONTROL(QCustomAudioRoleControl, QCustomAudioRoleControl_iid)
+
+QT_END_NAMESPACE
+
+#endif // QCUSTOMAUDIOROLECONTROL_H
diff --git a/src/multimedia/controls/qimageencodercontrol.h b/src/multimedia/controls/qimageencodercontrol.h
index 292e16b1f..9c2164413 100644
--- a/src/multimedia/controls/qimageencodercontrol.h
+++ b/src/multimedia/controls/qimageencodercontrol.h
@@ -68,13 +68,13 @@ public:
virtual QString imageCodecDescription(const QString &codecName) const = 0;
virtual QList<QSize> supportedResolutions(const QImageEncoderSettings &settings,
- bool *continuous = Q_NULLPTR) const = 0;
+ bool *continuous = nullptr) const = 0;
virtual QImageEncoderSettings imageSettings() const = 0;
virtual void setImageSettings(const QImageEncoderSettings &settings) = 0;
protected:
- explicit QImageEncoderControl(QObject *parent = Q_NULLPTR);
+ explicit QImageEncoderControl(QObject *parent = nullptr);
};
#define QImageEncoderControl_iid "org.qt-project.qt.imageencodercontrol/5.0"
diff --git a/src/multimedia/controls/qmediaaudioprobecontrol.h b/src/multimedia/controls/qmediaaudioprobecontrol.h
index 9d679c768..74cb1bc5a 100644
--- a/src/multimedia/controls/qmediaaudioprobecontrol.h
+++ b/src/multimedia/controls/qmediaaudioprobecontrol.h
@@ -56,7 +56,7 @@ Q_SIGNALS:
void flush();
protected:
- explicit QMediaAudioProbeControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaAudioProbeControl(QObject *parent = nullptr);
};
#define QMediaAudioProbeControl_iid "org.qt-project.qt.mediaaudioprobecontrol/5.0"
diff --git a/src/multimedia/controls/qmediaavailabilitycontrol.h b/src/multimedia/controls/qmediaavailabilitycontrol.h
index 55149ccb0..a61617b1f 100644
--- a/src/multimedia/controls/qmediaavailabilitycontrol.h
+++ b/src/multimedia/controls/qmediaavailabilitycontrol.h
@@ -62,7 +62,7 @@ Q_SIGNALS:
void availabilityChanged(QMultimedia::AvailabilityStatus availability);
protected:
- explicit QMediaAvailabilityControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaAvailabilityControl(QObject *parent = nullptr);
};
#define QMediaAvailabilityControl_iid "org.qt-project.qt.mediaavailabilitycontrol/5.0"
diff --git a/src/multimedia/controls/qmediacontainercontrol.h b/src/multimedia/controls/qmediacontainercontrol.h
index 8c315590e..23c2918b9 100644
--- a/src/multimedia/controls/qmediacontainercontrol.h
+++ b/src/multimedia/controls/qmediacontainercontrol.h
@@ -62,7 +62,7 @@ public:
virtual QString containerDescription(const QString &formatMimeType) const = 0;
protected:
- explicit QMediaContainerControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaContainerControl(QObject *parent = nullptr);
};
#define QMediaContainerControl_iid "org.qt-project.qt.mediacontainercontrol/5.0"
diff --git a/src/multimedia/controls/qmediagaplessplaybackcontrol.h b/src/multimedia/controls/qmediagaplessplaybackcontrol.h
index 8ab31ef62..23e2b4fc2 100644
--- a/src/multimedia/controls/qmediagaplessplaybackcontrol.h
+++ b/src/multimedia/controls/qmediagaplessplaybackcontrol.h
@@ -66,7 +66,7 @@ Q_SIGNALS:
void advancedToNextMedia();
protected:
- explicit QMediaGaplessPlaybackControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaGaplessPlaybackControl(QObject *parent = nullptr);
};
#define QMediaGaplessPlaybackControl_iid "org.qt-project.qt.mediagaplessplaybackcontrol/5.0"
diff --git a/src/multimedia/controls/qmedianetworkaccesscontrol.h b/src/multimedia/controls/qmedianetworkaccesscontrol.h
index 1c258a0bb..daae4f389 100644
--- a/src/multimedia/controls/qmedianetworkaccesscontrol.h
+++ b/src/multimedia/controls/qmedianetworkaccesscontrol.h
@@ -65,7 +65,7 @@ Q_SIGNALS:
void configurationChanged(const QNetworkConfiguration& configuration);
protected:
- explicit QMediaNetworkAccessControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaNetworkAccessControl(QObject *parent = nullptr);
};
#define QMediaNetworkAccessControl_iid "org.qt-project.qt.medianetworkaccesscontrol/5.0"
diff --git a/src/multimedia/controls/qmediaplayercontrol.cpp b/src/multimedia/controls/qmediaplayercontrol.cpp
index 46de05b51..07b277ffb 100644
--- a/src/multimedia/controls/qmediaplayercontrol.cpp
+++ b/src/multimedia/controls/qmediaplayercontrol.cpp
@@ -353,7 +353,7 @@ QMediaPlayerControl::QMediaPlayerControl(QObject *parent):
Pauses playback of the current media.
- If sucessful the player control will immediately enter the \l {QMediaPlayer::PausedState}
+ If successful the player control will immediately enter the \l {QMediaPlayer::PausedState}
{paused} state.
\sa state(), play(), stop()
diff --git a/src/multimedia/controls/qmediaplayercontrol.h b/src/multimedia/controls/qmediaplayercontrol.h
index a3fb1d4e1..d231097f4 100644
--- a/src/multimedia/controls/qmediaplayercontrol.h
+++ b/src/multimedia/controls/qmediaplayercontrol.h
@@ -110,7 +110,7 @@ Q_SIGNALS:
void error(int error, const QString &errorString);
protected:
- explicit QMediaPlayerControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaPlayerControl(QObject *parent = nullptr);
};
#define QMediaPlayerControl_iid "org.qt-project.qt.mediaplayercontrol/5.0"
diff --git a/src/multimedia/controls/qmediarecordercontrol.h b/src/multimedia/controls/qmediarecordercontrol.h
index 85f5c78d5..a0529ce59 100644
--- a/src/multimedia/controls/qmediarecordercontrol.h
+++ b/src/multimedia/controls/qmediarecordercontrol.h
@@ -88,7 +88,7 @@ public Q_SLOTS:
virtual void setVolume(qreal volume) = 0;
protected:
- explicit QMediaRecorderControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaRecorderControl(QObject *parent = nullptr);
};
#define QMediaRecorderControl_iid "org.qt-project.qt.mediarecordercontrol/5.0"
diff --git a/src/multimedia/controls/qmediastreamscontrol.h b/src/multimedia/controls/qmediastreamscontrol.h
index 3c36e96cb..e2506882d 100644
--- a/src/multimedia/controls/qmediastreamscontrol.h
+++ b/src/multimedia/controls/qmediastreamscontrol.h
@@ -73,7 +73,7 @@ Q_SIGNALS:
void activeStreamsChanged();
protected:
- explicit QMediaStreamsControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaStreamsControl(QObject *parent = nullptr);
};
#define QMediaStreamsControl_iid "org.qt-project.qt.mediastreamscontrol/5.0"
diff --git a/src/multimedia/controls/qmediavideoprobecontrol.h b/src/multimedia/controls/qmediavideoprobecontrol.h
index 25caefee6..363975055 100644
--- a/src/multimedia/controls/qmediavideoprobecontrol.h
+++ b/src/multimedia/controls/qmediavideoprobecontrol.h
@@ -58,7 +58,7 @@ Q_SIGNALS:
void flush();
protected:
- explicit QMediaVideoProbeControl(QObject *parent = Q_NULLPTR);
+ explicit QMediaVideoProbeControl(QObject *parent = nullptr);
};
#define QMediaVideoProbeControl_iid "org.qt-project.qt.mediavideoprobecontrol/5.0"
diff --git a/src/multimedia/controls/qmetadatareadercontrol.h b/src/multimedia/controls/qmetadatareadercontrol.h
index 455ce814e..b7be6b7b5 100644
--- a/src/multimedia/controls/qmetadatareadercontrol.h
+++ b/src/multimedia/controls/qmetadatareadercontrol.h
@@ -71,7 +71,7 @@ Q_SIGNALS:
void metaDataAvailableChanged(bool available);
protected:
- explicit QMetaDataReaderControl(QObject *parent = Q_NULLPTR);
+ explicit QMetaDataReaderControl(QObject *parent = nullptr);
};
#define QMetaDataReaderControl_iid "org.qt-project.qt.metadatareadercontrol/5.0"
diff --git a/src/multimedia/controls/qmetadatawritercontrol.h b/src/multimedia/controls/qmetadatawritercontrol.h
index da3413f77..95a314b90 100644
--- a/src/multimedia/controls/qmetadatawritercontrol.h
+++ b/src/multimedia/controls/qmetadatawritercontrol.h
@@ -74,7 +74,7 @@ Q_SIGNALS:
void metaDataAvailableChanged(bool available);
protected:
- explicit QMetaDataWriterControl(QObject *parent = Q_NULLPTR);
+ explicit QMetaDataWriterControl(QObject *parent = nullptr);
};
#define QMetaDataWriterControl_iid "org.qt-project.qt.metadatawritercontrol/5.0"
diff --git a/src/multimedia/controls/qradiodatacontrol.h b/src/multimedia/controls/qradiodatacontrol.h
index 28b3a57b2..98302b918 100644
--- a/src/multimedia/controls/qradiodatacontrol.h
+++ b/src/multimedia/controls/qradiodatacontrol.h
@@ -76,7 +76,7 @@ Q_SIGNALS:
void error(QRadioData::Error err);
protected:
- explicit QRadioDataControl(QObject *parent = Q_NULLPTR);
+ explicit QRadioDataControl(QObject *parent = nullptr);
};
#define QRadioDataControl_iid "org.qt-project.qt.radiodatacontrol/5.0"
diff --git a/src/multimedia/controls/qradiotunercontrol.h b/src/multimedia/controls/qradiotunercontrol.h
index 9a9e12059..bdf529d42 100644
--- a/src/multimedia/controls/qradiotunercontrol.h
+++ b/src/multimedia/controls/qradiotunercontrol.h
@@ -107,7 +107,7 @@ Q_SIGNALS:
void antennaConnectedChanged(bool connectionStatus);
protected:
- explicit QRadioTunerControl(QObject *parent = Q_NULLPTR);
+ explicit QRadioTunerControl(QObject *parent = nullptr);
};
#define QRadioTunerControl_iid "org.qt-project.qt.radiotunercontrol/5.0"
diff --git a/src/multimedia/controls/qvideodeviceselectorcontrol.h b/src/multimedia/controls/qvideodeviceselectorcontrol.h
index 10a703bb2..2d55c0d70 100644
--- a/src/multimedia/controls/qvideodeviceselectorcontrol.h
+++ b/src/multimedia/controls/qvideodeviceselectorcontrol.h
@@ -71,7 +71,7 @@ Q_SIGNALS:
void devicesChanged();
protected:
- explicit QVideoDeviceSelectorControl(QObject *parent = Q_NULLPTR);
+ explicit QVideoDeviceSelectorControl(QObject *parent = nullptr);
};
#define QVideoDeviceSelectorControl_iid "org.qt-project.qt.videodeviceselectorcontrol/5.0"
diff --git a/src/multimedia/controls/qvideoencodersettingscontrol.h b/src/multimedia/controls/qvideoencodersettingscontrol.h
index ea1401aeb..366d585ee 100644
--- a/src/multimedia/controls/qvideoencodersettingscontrol.h
+++ b/src/multimedia/controls/qvideoencodersettingscontrol.h
@@ -65,10 +65,10 @@ public:
virtual ~QVideoEncoderSettingsControl();
virtual QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings,
- bool *continuous = Q_NULLPTR) const = 0;
+ bool *continuous = nullptr) const = 0;
virtual QList<qreal> supportedFrameRates(const QVideoEncoderSettings &settings,
- bool *continuous = Q_NULLPTR) const = 0;
+ bool *continuous = nullptr) const = 0;
virtual QStringList supportedVideoCodecs() const = 0;
virtual QString videoCodecDescription(const QString &codecName) const = 0;
@@ -77,7 +77,7 @@ public:
virtual void setVideoSettings(const QVideoEncoderSettings &settings) = 0;
protected:
- explicit QVideoEncoderSettingsControl(QObject *parent = Q_NULLPTR);
+ explicit QVideoEncoderSettingsControl(QObject *parent = nullptr);
};
#define QVideoEncoderSettingsControl_iid "org.qt-project.qt.videoencodersettingscontrol/5.0"
diff --git a/src/multimedia/controls/qvideorenderercontrol.h b/src/multimedia/controls/qvideorenderercontrol.h
index 2ddab28e1..87552271a 100644
--- a/src/multimedia/controls/qvideorenderercontrol.h
+++ b/src/multimedia/controls/qvideorenderercontrol.h
@@ -56,7 +56,7 @@ public:
virtual void setSurface(QAbstractVideoSurface *surface) = 0;
protected:
- explicit QVideoRendererControl(QObject *parent = Q_NULLPTR);
+ explicit QVideoRendererControl(QObject *parent = nullptr);
};
#define QVideoRendererControl_iid "org.qt-project.qt.videorenderercontrol/5.0"
diff --git a/src/multimedia/controls/qvideowindowcontrol.h b/src/multimedia/controls/qvideowindowcontrol.h
index d26579ddc..510a29989 100644
--- a/src/multimedia/controls/qvideowindowcontrol.h
+++ b/src/multimedia/controls/qvideowindowcontrol.h
@@ -94,7 +94,7 @@ Q_SIGNALS:
void nativeSizeChanged();
protected:
- explicit QVideoWindowControl(QObject *parent = Q_NULLPTR);
+ explicit QVideoWindowControl(QObject *parent = nullptr);
};
#define QVideoWindowControl_iid "org.qt-project.qt.videowindowcontrol/5.0"
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index d5d8b40d3..63c50f09e 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -67,8 +67,6 @@ include(recording/recording.pri)
include(video/video.pri)
ANDROID_BUNDLED_JAR_DEPENDENCIES = \
- jar/QtMultimedia-bundled.jar:org.qtproject.qt5.android.multimedia.QtMultimediaUtils
-ANDROID_JAR_DEPENDENCIES = \
jar/QtMultimedia.jar:org.qtproject.qt5.android.multimedia.QtMultimediaUtils
ANDROID_LIB_DEPENDENCIES = \
plugins/mediaservice/libqtmedia_android.so \
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index a3484a6ff..01c91babc 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -49,6 +49,7 @@
#include <qmediaplaylistsourcecontrol_p.h>
#include <qmedianetworkaccesscontrol.h>
#include <qaudiorolecontrol.h>
+#include <qcustomaudiorolecontrol.h>
#include <QtCore/qcoreevent.h>
#include <QtCore/qmetaobject.h>
@@ -111,6 +112,7 @@ public:
: provider(0)
, control(0)
, audioRoleControl(0)
+ , customAudioRoleControl(0)
, playlist(0)
, networkAccessControl(0)
, state(QMediaPlayer::StoppedState)
@@ -124,6 +126,7 @@ public:
QMediaServiceProvider *provider;
QMediaPlayerControl* control;
QAudioRoleControl *audioRoleControl;
+ QCustomAudioRoleControl *customAudioRoleControl;
QString errorString;
QPointer<QObject> videoOutput;
@@ -616,6 +619,15 @@ QMediaPlayer::QMediaPlayer(QObject *parent, QMediaPlayer::Flags flags):
if (d->audioRoleControl) {
connect(d->audioRoleControl, &QAudioRoleControl::audioRoleChanged,
this, &QMediaPlayer::audioRoleChanged);
+
+ d->customAudioRoleControl = qobject_cast<QCustomAudioRoleControl *>(
+ d->service->requestControl(QCustomAudioRoleControl_iid));
+ if (d->customAudioRoleControl) {
+ connect(d->customAudioRoleControl,
+ &QCustomAudioRoleControl::customAudioRoleChanged,
+ this,
+ &QMediaPlayer::customAudioRoleChanged);
+ }
}
}
if (d->networkAccessControl != 0) {
@@ -641,6 +653,8 @@ QMediaPlayer::~QMediaPlayer()
d->service->releaseControl(d->control);
if (d->audioRoleControl)
d->service->releaseControl(d->audioRoleControl);
+ if (d->customAudioRoleControl)
+ d->service->releaseControl(d->customAudioRoleControl);
d->provider->releaseService(d->service);
}
@@ -1160,8 +1174,13 @@ void QMediaPlayer::setAudioRole(QAudio::Role audioRole)
{
Q_D(QMediaPlayer);
- if (d->audioRoleControl)
+ if (d->audioRoleControl) {
+ if (d->customAudioRoleControl != nullptr && d->audioRoleControl->audioRole() != audioRole) {
+ d->customAudioRoleControl->setCustomAudioRole(QString());
+ }
+
d->audioRoleControl->setAudioRole(audioRole);
+ }
}
/*!
@@ -1182,6 +1201,48 @@ QList<QAudio::Role> QMediaPlayer::supportedAudioRoles() const
return QList<QAudio::Role>();
}
+QString QMediaPlayer::customAudioRole() const
+{
+ Q_D(const QMediaPlayer);
+
+ if (audioRole() != QAudio::CustomRole)
+ return QString();
+
+ if (d->customAudioRoleControl != nullptr)
+ return d->customAudioRoleControl->customAudioRole();
+
+ return QString();
+}
+
+void QMediaPlayer::setCustomAudioRole(const QString &audioRole)
+{
+ Q_D(QMediaPlayer);
+
+ if (d->customAudioRoleControl) {
+ Q_ASSERT(d->audioRoleControl);
+ setAudioRole(QAudio::CustomRole);
+ d->customAudioRoleControl->setCustomAudioRole(audioRole);
+ }
+}
+
+/*!
+ Returns a list of supported custom audio roles. An empty list may
+ indicate that the supported custom audio roles aren't known. The
+ list may not be complete.
+
+ \since 5.11
+ \sa customAudioRole
+*/
+QStringList QMediaPlayer::supportedCustomAudioRoles() const
+{
+ Q_D(const QMediaPlayer);
+
+ if (d->customAudioRoleControl)
+ return d->customAudioRoleControl->supportedCustomAudioRoles();
+
+ return QStringList();
+}
+
// Enums
/*!
\enum QMediaPlayer::State
@@ -1289,6 +1350,14 @@ QList<QAudio::Role> QMediaPlayer::supportedAudioRoles() const
\since 5.6
*/
+/*!
+ \fn void QMediaPlayer::customAudioRoleChanged(const QString &role)
+
+ Signals that the audio \a role of the media player has changed.
+
+ \since 5.11
+*/
+
// Properties
/*!
\property QMediaPlayer::state
@@ -1471,11 +1540,30 @@ QList<QAudio::Role> QMediaPlayer::supportedAudioRoles() const
The audio role must be set before calling setMedia().
+ customAudioRole is cleared when this property is set to anything other than
+ QAudio::CustomRole.
+
\since 5.6
\sa supportedAudioRoles()
*/
/*!
+ \property QMediaPlayer::customAudioRole
+ \brief the role of the audio stream played by the media player.
+
+ It can be set to specify the type of audio being played when the backend supports
+ audio roles unknown to Qt. Specifying a role allows the system to make appropriate
+ decisions when it comes to volume, routing or post-processing.
+
+ The audio role must be set before calling setMedia().
+
+ audioRole is set to QAudio::CustomRole when this property is set.
+
+ \since 5.11
+ \sa supportedCustomAudioRoles()
+*/
+
+/*!
\fn void QMediaPlayer::durationChanged(qint64 duration)
Signal the duration of the content has changed to \a duration, expressed in milliseconds.
diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h
index f23a94104..e69a32ee4 100644
--- a/src/multimedia/playback/qmediaplayer.h
+++ b/src/multimedia/playback/qmediaplayer.h
@@ -73,7 +73,8 @@ class Q_MULTIMEDIA_EXPORT QMediaPlayer : public QMediaObject
Q_PROPERTY(qreal playbackRate READ playbackRate WRITE setPlaybackRate NOTIFY playbackRateChanged)
Q_PROPERTY(State state READ state NOTIFY stateChanged)
Q_PROPERTY(MediaStatus mediaStatus READ mediaStatus NOTIFY mediaStatusChanged)
- Q_PROPERTY(QAudio::Role audioRole READ audioRole WRITE setAudioRole)
+ Q_PROPERTY(QAudio::Role audioRole READ audioRole WRITE setAudioRole NOTIFY audioRoleChanged)
+ Q_PROPERTY(QString customAudioRole READ customAudioRole WRITE setCustomAudioRole NOTIFY customAudioRoleChanged)
Q_PROPERTY(QString error READ errorString)
Q_ENUMS(State)
Q_ENUMS(MediaStatus)
@@ -119,7 +120,7 @@ public:
MediaIsPlaylist
};
- explicit QMediaPlayer(QObject *parent = Q_NULLPTR, Flags flags = Flags());
+ explicit QMediaPlayer(QObject *parent = nullptr, Flags flags = Flags());
~QMediaPlayer();
static QMultimedia::SupportEstimate hasSupport(const QString &mimeType,
@@ -162,6 +163,9 @@ public:
QAudio::Role audioRole() const;
void setAudioRole(QAudio::Role audioRole);
QList<QAudio::Role> supportedAudioRoles() const;
+ QString customAudioRole() const;
+ void setCustomAudioRole(const QString &audioRole);
+ QStringList supportedCustomAudioRoles() const;
public Q_SLOTS:
void play();
@@ -174,7 +178,7 @@ public Q_SLOTS:
void setPlaybackRate(qreal rate);
- void setMedia(const QMediaContent &media, QIODevice *stream = Q_NULLPTR);
+ void setMedia(const QMediaContent &media, QIODevice *stream = nullptr);
void setPlaylist(QMediaPlaylist *playlist);
void setNetworkConfigurations(const QList<QNetworkConfiguration> &configurations);
@@ -200,6 +204,7 @@ Q_SIGNALS:
void playbackRateChanged(qreal rate);
void audioRoleChanged(QAudio::Role role);
+ void customAudioRoleChanged(const QString &role);
void error(QMediaPlayer::Error error);
diff --git a/src/multimedia/playback/qmediaplaylist.h b/src/multimedia/playback/qmediaplaylist.h
index b16e734f8..4eb93bd02 100644
--- a/src/multimedia/playback/qmediaplaylist.h
+++ b/src/multimedia/playback/qmediaplaylist.h
@@ -67,7 +67,7 @@ public:
enum PlaybackMode { CurrentItemOnce, CurrentItemInLoop, Sequential, Loop, Random };
enum Error { NoError, FormatError, FormatNotSupportedError, NetworkError, AccessDeniedError };
- explicit QMediaPlaylist(QObject *parent = Q_NULLPTR);
+ explicit QMediaPlaylist(QObject *parent = nullptr);
virtual ~QMediaPlaylist();
QMediaObject *mediaObject() const override;
@@ -96,11 +96,11 @@ public:
bool removeMedia(int start, int end);
bool clear();
- void load(const QNetworkRequest &request, const char *format = Q_NULLPTR);
- void load(const QUrl &location, const char *format = Q_NULLPTR);
- void load(QIODevice *device, const char *format = Q_NULLPTR);
+ void load(const QNetworkRequest &request, const char *format = nullptr);
+ void load(const QUrl &location, const char *format = nullptr);
+ void load(QIODevice *device, const char *format = nullptr);
- bool save(const QUrl &location, const char *format = Q_NULLPTR);
+ bool save(const QUrl &location, const char *format = nullptr);
bool save(QIODevice * device, const char *format);
Error error() const;
diff --git a/src/multimedia/playback/qplaylistfileparser.cpp b/src/multimedia/playback/qplaylistfileparser.cpp
index 47a3d239e..0d33f040d 100644
--- a/src/multimedia/playback/qplaylistfileparser.cpp
+++ b/src/multimedia/playback/qplaylistfileparser.cpp
@@ -551,7 +551,7 @@ void QPlaylistFileParser::start(const QNetworkRequest& request, const QString &m
if (!d->m_currentParser.isNull()) {
abort();
- d->m_pendingJob = { Q_NULLPTR, QMediaResource(request, mimeType) };
+ d->m_pendingJob = { nullptr, QMediaResource(request, mimeType) };
return;
}
diff --git a/src/multimedia/qmediacontrol.h b/src/multimedia/qmediacontrol.h
index 680b18e7f..cff42e3ca 100644
--- a/src/multimedia/qmediacontrol.h
+++ b/src/multimedia/qmediacontrol.h
@@ -59,8 +59,8 @@ public:
~QMediaControl();
protected:
- explicit QMediaControl(QObject *parent = Q_NULLPTR);
- explicit QMediaControl(QMediaControlPrivate &dd, QObject *parent = Q_NULLPTR);
+ explicit QMediaControl(QObject *parent = nullptr);
+ explicit QMediaControl(QMediaControlPrivate &dd, QObject *parent = nullptr);
QMediaControlPrivate *d_ptr;
diff --git a/src/multimedia/radio/qradiodata.h b/src/multimedia/radio/qradiodata.h
index 826c652ff..ffc8b44ba 100644
--- a/src/multimedia/radio/qradiodata.h
+++ b/src/multimedia/radio/qradiodata.h
@@ -82,7 +82,7 @@ public:
College
};
- explicit QRadioData(QMediaObject *mediaObject, QObject *parent = Q_NULLPTR);
+ explicit QRadioData(QMediaObject *mediaObject, QObject *parent = nullptr);
~QRadioData();
QMultimedia::AvailabilityStatus availability() const;
diff --git a/src/multimedia/radio/qradiotuner.h b/src/multimedia/radio/qradiotuner.h
index 7952a2e6c..9e62c849d 100644
--- a/src/multimedia/radio/qradiotuner.h
+++ b/src/multimedia/radio/qradiotuner.h
@@ -78,7 +78,7 @@ public:
enum StereoMode { ForceStereo, ForceMono, Auto };
enum SearchMode { SearchFast, SearchGetStationId };
- explicit QRadioTuner(QObject *parent = Q_NULLPTR);
+ explicit QRadioTuner(QObject *parent = nullptr);
~QRadioTuner();
QMultimedia::AvailabilityStatus availability() const override;
diff --git a/src/multimedia/recording/qaudiorecorder.h b/src/multimedia/recording/qaudiorecorder.h
index 75f95d354..e57794b40 100644
--- a/src/multimedia/recording/qaudiorecorder.h
+++ b/src/multimedia/recording/qaudiorecorder.h
@@ -62,7 +62,7 @@ class Q_MULTIMEDIA_EXPORT QAudioRecorder : public QMediaRecorder
Q_OBJECT
Q_PROPERTY(QString audioInput READ audioInput WRITE setAudioInput NOTIFY audioInputChanged)
public:
- explicit QAudioRecorder(QObject *parent = Q_NULLPTR);
+ explicit QAudioRecorder(QObject *parent = nullptr);
~QAudioRecorder();
QStringList audioInputs() const;
diff --git a/src/multimedia/recording/qmediarecorder.h b/src/multimedia/recording/qmediarecorder.h
index a12bcd632..0fdcf80e4 100644
--- a/src/multimedia/recording/qmediarecorder.h
+++ b/src/multimedia/recording/qmediarecorder.h
@@ -106,7 +106,7 @@ public:
OutOfSpaceError
};
- explicit QMediaRecorder(QMediaObject *mediaObject, QObject *parent = Q_NULLPTR);
+ explicit QMediaRecorder(QMediaObject *mediaObject, QObject *parent = nullptr);
~QMediaRecorder();
QMediaObject *mediaObject() const override;
@@ -137,16 +137,16 @@ public:
QString audioCodecDescription(const QString &codecName) const;
QList<int> supportedAudioSampleRates(const QAudioEncoderSettings &settings = QAudioEncoderSettings(),
- bool *continuous = Q_NULLPTR) const;
+ bool *continuous = nullptr) const;
QStringList supportedVideoCodecs() const;
QString videoCodecDescription(const QString &codecName) const;
QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings = QVideoEncoderSettings(),
- bool *continuous = Q_NULLPTR) const;
+ bool *continuous = nullptr) const;
QList<qreal> supportedFrameRates(const QVideoEncoderSettings &settings = QVideoEncoderSettings(),
- bool *continuous = Q_NULLPTR) const;
+ bool *continuous = nullptr) const;
QAudioEncoderSettings audioSettings() const;
QVideoEncoderSettings videoSettings() const;
@@ -193,7 +193,7 @@ Q_SIGNALS:
void availabilityChanged(QMultimedia::AvailabilityStatus availability);
protected:
- QMediaRecorder(QMediaRecorderPrivate &dd, QMediaObject *mediaObject, QObject *parent = Q_NULLPTR);
+ QMediaRecorder(QMediaRecorderPrivate &dd, QMediaObject *mediaObject, QObject *parent = nullptr);
bool setMediaObject(QMediaObject *object) override;
QMediaRecorderPrivate *d_ptr;
diff --git a/src/multimedia/video/qabstractvideofilter.h b/src/multimedia/video/qabstractvideofilter.h
index 7e125fac4..6263f4730 100644
--- a/src/multimedia/video/qabstractvideofilter.h
+++ b/src/multimedia/video/qabstractvideofilter.h
@@ -68,7 +68,7 @@ class Q_MULTIMEDIA_EXPORT QAbstractVideoFilter : public QObject
Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged)
public:
- explicit QAbstractVideoFilter(QObject *parent = Q_NULLPTR);
+ explicit QAbstractVideoFilter(QObject *parent = nullptr);
~QAbstractVideoFilter();
bool isActive() const;
diff --git a/src/multimedia/video/qabstractvideosurface.h b/src/multimedia/video/qabstractvideosurface.h
index f3d3e0799..391c9e696 100644
--- a/src/multimedia/video/qabstractvideosurface.h
+++ b/src/multimedia/video/qabstractvideosurface.h
@@ -64,7 +64,7 @@ public:
ResourceError
};
- explicit QAbstractVideoSurface(QObject *parent = Q_NULLPTR);
+ explicit QAbstractVideoSurface(QObject *parent = nullptr);
~QAbstractVideoSurface();
virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(
diff --git a/src/multimedia/video/qvideoframe.cpp b/src/multimedia/video/qvideoframe.cpp
index 8578eee1c..bbb87b63b 100644
--- a/src/multimedia/video/qvideoframe.cpp
+++ b/src/multimedia/video/qvideoframe.cpp
@@ -1025,23 +1025,23 @@ extern void QT_FASTCALL qt_convert_NV12_to_ARGB32(const QVideoFrame&, uchar*);
extern void QT_FASTCALL qt_convert_NV21_to_ARGB32(const QVideoFrame&, uchar*);
static VideoFrameConvertFunc qConvertFuncs[QVideoFrame::NPixelFormats] = {
- /* Format_Invalid */ Q_NULLPTR, // Not needed
- /* Format_ARGB32 */ Q_NULLPTR, // Not needed
- /* Format_ARGB32_Premultiplied */ Q_NULLPTR, // Not needed
- /* Format_RGB32 */ Q_NULLPTR, // Not needed
- /* Format_RGB24 */ Q_NULLPTR, // Not needed
- /* Format_RGB565 */ Q_NULLPTR, // Not needed
- /* Format_RGB555 */ Q_NULLPTR, // Not needed
- /* Format_ARGB8565_Premultiplied */ Q_NULLPTR, // Not needed
+ /* Format_Invalid */ nullptr, // Not needed
+ /* Format_ARGB32 */ nullptr, // Not needed
+ /* Format_ARGB32_Premultiplied */ nullptr, // Not needed
+ /* Format_RGB32 */ nullptr, // Not needed
+ /* Format_RGB24 */ nullptr, // Not needed
+ /* Format_RGB565 */ nullptr, // Not needed
+ /* Format_RGB555 */ nullptr, // Not needed
+ /* Format_ARGB8565_Premultiplied */ nullptr, // Not needed
/* Format_BGRA32 */ qt_convert_BGRA32_to_ARGB32,
/* Format_BGRA32_Premultiplied */ qt_convert_BGRA32_to_ARGB32,
/* Format_BGR32 */ qt_convert_BGRA32_to_ARGB32,
/* Format_BGR24 */ qt_convert_BGR24_to_ARGB32,
/* Format_BGR565 */ qt_convert_BGR565_to_ARGB32,
/* Format_BGR555 */ qt_convert_BGR555_to_ARGB32,
- /* Format_BGRA5658_Premultiplied */ Q_NULLPTR,
+ /* Format_BGRA5658_Premultiplied */ nullptr,
/* Format_AYUV444 */ qt_convert_AYUV444_to_ARGB32,
- /* Format_AYUV444_Premultiplied */ Q_NULLPTR,
+ /* Format_AYUV444_Premultiplied */ nullptr,
/* Format_YUV444 */ qt_convert_YUV444_to_ARGB32,
/* Format_YUV420P */ qt_convert_YUV420P_to_ARGB32,
/* Format_YV12 */ qt_convert_YV12_to_ARGB32,
@@ -1049,15 +1049,15 @@ static VideoFrameConvertFunc qConvertFuncs[QVideoFrame::NPixelFormats] = {
/* Format_YUYV */ qt_convert_YUYV_to_ARGB32,
/* Format_NV12 */ qt_convert_NV12_to_ARGB32,
/* Format_NV21 */ qt_convert_NV21_to_ARGB32,
- /* Format_IMC1 */ Q_NULLPTR,
- /* Format_IMC2 */ Q_NULLPTR,
- /* Format_IMC3 */ Q_NULLPTR,
- /* Format_IMC4 */ Q_NULLPTR,
- /* Format_Y8 */ Q_NULLPTR,
- /* Format_Y16 */ Q_NULLPTR,
- /* Format_Jpeg */ Q_NULLPTR, // Not needed
- /* Format_CameraRaw */ Q_NULLPTR,
- /* Format_AdobeDng */ Q_NULLPTR
+ /* Format_IMC1 */ nullptr,
+ /* Format_IMC2 */ nullptr,
+ /* Format_IMC3 */ nullptr,
+ /* Format_IMC4 */ nullptr,
+ /* Format_Y8 */ nullptr,
+ /* Format_Y16 */ nullptr,
+ /* Format_Jpeg */ nullptr, // Not needed
+ /* Format_CameraRaw */ nullptr,
+ /* Format_AdobeDng */ nullptr
};
static void qInitConvertFuncsAsm()
diff --git a/src/multimedia/video/qvideoprobe.h b/src/multimedia/video/qvideoprobe.h
index 854e71272..93ba4d2f5 100644
--- a/src/multimedia/video/qvideoprobe.h
+++ b/src/multimedia/video/qvideoprobe.h
@@ -53,7 +53,7 @@ class Q_MULTIMEDIA_EXPORT QVideoProbe : public QObject
{
Q_OBJECT
public:
- explicit QVideoProbe(QObject *parent = Q_NULLPTR);
+ explicit QVideoProbe(QObject *parent = nullptr);
~QVideoProbe();
bool setSource(QMediaObject *source);
diff --git a/src/multimedia/video/qvideosurfaceformat.cpp b/src/multimedia/video/qvideosurfaceformat.cpp
index c31c52ff7..384ab4e53 100644
--- a/src/multimedia/video/qvideosurfaceformat.cpp
+++ b/src/multimedia/video/qvideosurfaceformat.cpp
@@ -450,6 +450,35 @@ void QVideoSurfaceFormat::setYCbCrColorSpace(QVideoSurfaceFormat::YCbCrColorSpac
}
/*!
+ Returns \c true if the surface is mirrored around its vertical axis.
+ This is typically needed for video frames coming from a front camera of a mobile device.
+
+ \note The mirroring here differs from QImage::mirrored, as a vertically mirrored QImage
+ will be mirrored around its x-axis.
+
+ \since 5.11
+ */
+bool QVideoSurfaceFormat::isMirrored() const
+{
+ return d->mirrored;
+}
+
+/*!
+ Sets if the surface is mirrored around its vertical axis.
+ This is typically needed for video frames coming from a front camera of a mobile device.
+ Default value is false.
+
+ \note The mirroring here differs from QImage::mirrored, as a vertically mirrored QImage
+ will be mirrored around its x-axis.
+
+ \since 5.11
+ */
+void QVideoSurfaceFormat::setMirrored(bool mirrored)
+{
+ d->mirrored = mirrored;
+}
+
+/*!
Returns a suggested size in pixels for the video stream.
This is the size of the viewport scaled according to the pixel aspect ratio.
diff --git a/src/multimedia/video/qvideosurfaceformat.h b/src/multimedia/video/qvideosurfaceformat.h
index 83785ac0a..175b199a7 100644
--- a/src/multimedia/video/qvideosurfaceformat.h
+++ b/src/multimedia/video/qvideosurfaceformat.h
@@ -117,6 +117,9 @@ public:
YCbCrColorSpace yCbCrColorSpace() const;
void setYCbCrColorSpace(YCbCrColorSpace colorSpace);
+ bool isMirrored() const;
+ void setMirrored(bool mirrored);
+
QSize sizeHint() const;
QList<QByteArray> propertyNames() const;