summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.cpp25
-rw-r--r--examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc22
-rw-r--r--examples/multimediawidgets/camera/camera.cpp9
-rw-r--r--examples/multimediawidgets/camera/camera.h1
-rw-r--r--examples/multimediawidgets/camera/imagesettings.h1
-rw-r--r--examples/multimediawidgets/camera/videosettings.cpp64
-rw-r--r--examples/multimediawidgets/camera/videosettings.h4
7 files changed, 57 insertions, 69 deletions
diff --git a/examples/multimedia/audiorecorder/audiorecorder.cpp b/examples/multimedia/audiorecorder/audiorecorder.cpp
index 4983fa97c..63efc4ba8 100644
--- a/examples/multimedia/audiorecorder/audiorecorder.cpp
+++ b/examples/multimedia/audiorecorder/audiorecorder.cpp
@@ -59,6 +59,7 @@
#include <QMediaRecorder>
#include <QStandardPaths>
#include <qmediadevices.h>
+#include <qmediaformat.h>
#include <qaudiodevice.h>
#include <qaudiobuffer.h>
#include <qaudioinput.h>
@@ -194,18 +195,18 @@ void AudioRecorder::toggleRecord()
if (m_audioEncoder->recorderState() == QMediaRecorder::StoppedState) {
m_captureSession.audioInput()->setDevice(boxValue(ui->audioDeviceBox).value<QAudioDevice>());
- QMediaEncoderSettings settings;
- settings.setFileFormat(boxValue(ui->containerBox).value<QMediaFormat::FileFormat>());
- settings.setAudioCodec(boxValue(ui->audioCodecBox).value<QMediaFormat::AudioCodec>());
- settings.setAudioSampleRate(ui->sampleRateBox->value());
- settings.setAudioBitRate(boxValue(ui->bitrateBox).toInt());
- settings.setAudioChannelCount(boxValue(ui->channelsBox).toInt());
- settings.setQuality(QMediaEncoderSettings::Quality(ui->qualitySlider->value()));
- settings.setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
- QMediaEncoderSettings::ConstantQualityEncoding :
- QMediaEncoderSettings::ConstantBitRateEncoding);
-
- m_audioEncoder->setEncoderSettings(settings);
+ QMediaFormat format;
+ format.setFileFormat(boxValue(ui->containerBox).value<QMediaFormat::FileFormat>());
+ format.setAudioCodec(boxValue(ui->audioCodecBox).value<QMediaFormat::AudioCodec>());
+ m_audioEncoder->setMediaFormat(format);
+ m_audioEncoder->setAudioSampleRate(ui->sampleRateBox->value());
+ m_audioEncoder->setAudioBitRate(boxValue(ui->bitrateBox).toInt());
+ m_audioEncoder->setAudioChannelCount(boxValue(ui->channelsBox).toInt());
+ m_audioEncoder->setQuality(QMediaRecorder::Quality(ui->qualitySlider->value()));
+ m_audioEncoder->setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
+ QMediaRecorder::ConstantQualityEncoding :
+ QMediaRecorder::ConstantBitRateEncoding);
+
m_audioEncoder->record();
}
else {
diff --git a/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc b/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc
index d5d49e723..723f7742f 100644
--- a/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc
+++ b/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc
@@ -51,8 +51,8 @@
\l{QAudioRecorder::supportedContainers()}{supportedContainers()}, and
\l{QAudioRecorder::supportedAudioSampleRates()}{supportedAudioSampleRates()}
methods. The quality slider is setup from 0 (zero) to
- \l{QMediaEncoderSettings::VeryHighQuality} with a default value of
- \l{QMediaEncoderSettings::NormalQuality}, while the bitrates are hardcoded
+ \l{QMediaRecorder::VeryHighQuality} with a default value of
+ \l{QMediaRecorder::NormalQuality}, while the bitrates are hardcoded
into the list.
\section1 Recording Audio
@@ -79,18 +79,18 @@
\l{QMediaRecorder::record()}{record()} method.
\code
- QAudioEncoderSettings settings;
- settings.setCodec(boxValue(ui->audioCodecBox).toString());
- settings.setSampleRate(boxValue(ui->sampleRateBox).toInt());
- settings.setBitRate(boxValue(ui->bitrateBox).toInt());
- settings.setQuality(QMediaEncoderSettings::EncodingQuality(ui->qualitySlider->value()));
- settings.setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
- QMediaEncoderSettings::ConstantQualityEncoding :
- QMediaEncoderSettings::ConstantBitRateEncoding);
+ QMediaFormat format;
+ format.setCodec(boxValue(ui->audioCodecBox).toString());
+ audioRecorder->setMediaFormat(format);
+ audioRecorder->setSampleRate(boxValue(ui->sampleRateBox).toInt());
+ audioRecorder->setBitRate(boxValue(ui->bitrateBox).toInt());
+ audioRecorder->setQuality(QMediaRecorder::EncodingQuality(ui->qualitySlider->value()));
+ audioRecorder->setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
+ QMediaRecorder::ConstantQualityEncoding :
+ QMediaRecorder::ConstantBitRateEncoding);
QString container = boxValue(ui->containerBox).toString();
- audioRecorder->setEncodingSettings(settings, QVideoEncoderSettings(), container);
audioRecorder->record();
\endcode
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp
index f45971e9f..552990496 100644
--- a/examples/multimediawidgets/camera/camera.cpp
+++ b/examples/multimediawidgets/camera/camera.cpp
@@ -192,13 +192,8 @@ void Camera::configureVideoSettings()
VideoSettings settingsDialog(m_mediaEncoder.data());
settingsDialog.setWindowFlags(settingsDialog.windowFlags() & ~Qt::WindowContextHelpButtonHint);
- settingsDialog.setEncoderSettings(m_encoderSettings);
-
- if (settingsDialog.exec()) {
- m_encoderSettings = settingsDialog.encoderSettings();
-
- m_mediaEncoder->setEncoderSettings(m_encoderSettings);
- }
+ if (settingsDialog.exec())
+ settingsDialog.applySettings();
}
void Camera::configureImageSettings()
diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h
index 6a55f42b3..2b19dae86 100644
--- a/examples/multimediawidgets/camera/camera.h
+++ b/examples/multimediawidgets/camera/camera.h
@@ -138,7 +138,6 @@ private:
QCameraImageCapture *m_imageCapture;
QScopedPointer<QMediaRecorder> m_mediaEncoder;
- QMediaEncoderSettings m_encoderSettings;
bool m_isCapturingImage = false;
bool m_applicationExiting = false;
bool m_doImageCapture = true;
diff --git a/examples/multimediawidgets/camera/imagesettings.h b/examples/multimediawidgets/camera/imagesettings.h
index cb7691045..c155c5531 100644
--- a/examples/multimediawidgets/camera/imagesettings.h
+++ b/examples/multimediawidgets/camera/imagesettings.h
@@ -52,7 +52,6 @@
#define IMAGESETTINGS_H
#include <QDialog>
-#include <QMediaEncoderSettings>
QT_BEGIN_NAMESPACE
class QComboBox;
diff --git a/examples/multimediawidgets/camera/videosettings.cpp b/examples/multimediawidgets/camera/videosettings.cpp
index 9bc0d0ea0..22b82fb60 100644
--- a/examples/multimediawidgets/camera/videosettings.cpp
+++ b/examples/multimediawidgets/camera/videosettings.cpp
@@ -113,7 +113,26 @@ VideoSettings::VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent)
QVariant::fromValue(format));
}
- ui->qualitySlider->setRange(0, int(QMediaEncoderSettings::VeryHighQuality));
+ ui->qualitySlider->setRange(0, int(QMediaRecorder::VeryHighQuality));
+
+ QMediaFormat format = mediaRecorder->mediaFormat();
+ selectComboBoxItem(ui->containerFormatBox, QVariant::fromValue(format.fileFormat()));
+ selectComboBoxItem(ui->audioCodecBox, QVariant::fromValue(format.audioCodec()));
+ selectComboBoxItem(ui->videoCodecBox, QVariant::fromValue(format.videoCodec()));
+
+ ui->qualitySlider->setValue(mediaRecorder->quality());
+ ui->audioSampleRateBox->setValue(mediaRecorder->audioSampleRate());
+ selectComboBoxItem(ui->videoResolutionBox, QVariant(mediaRecorder->videoResolution()));
+
+ //special case for frame rate
+ for (int i = 0; i < ui->videoFramerateBox->count(); ++i) {
+ qreal itemRate = ui->videoFramerateBox->itemData(i).value<qreal>();
+ if (qFuzzyCompare(itemRate, mediaRecorder->videoFrameRate())) {
+ ui->videoFramerateBox->setCurrentIndex(i);
+ break;
+ }
+ }
+
}
VideoSettings::~VideoSettings()
@@ -133,40 +152,17 @@ void VideoSettings::changeEvent(QEvent *e)
}
}
-QMediaEncoderSettings VideoSettings::encoderSettings() const
-{
- QMediaEncoderSettings settings = mediaRecorder->encoderSettings();
- settings.setQuality(QMediaEncoderSettings::Quality(ui->qualitySlider->value()));
- settings.setFileFormat(boxValue(ui->containerFormatBox).value<QMediaFormat::FileFormat>());
-
- settings.setAudioCodec(boxValue(ui->audioCodecBox).value<QMediaFormat::AudioCodec>());
- settings.setAudioSampleRate(ui->audioSampleRateBox->value());
-
- settings.setVideoCodec(boxValue(ui->videoCodecBox).value<QMediaFormat::VideoCodec>());
- settings.setVideoResolution(boxValue(ui->videoResolutionBox).toSize());
- settings.setVideoFrameRate(boxValue(ui->videoFramerateBox).value<qreal>());
- return settings;
-}
-
-void VideoSettings::setEncoderSettings(const QMediaEncoderSettings &encoderSettings)
+void VideoSettings::applySettings()
{
- selectComboBoxItem(ui->containerFormatBox, QVariant::fromValue(encoderSettings.fileFormat()));
- ui->qualitySlider->setValue(encoderSettings.quality());
-
- selectComboBoxItem(ui->audioCodecBox, QVariant::fromValue(encoderSettings.audioCodec()));
- ui->audioSampleRateBox->setValue(encoderSettings.audioSampleRate());
-
- selectComboBoxItem(ui->videoCodecBox, QVariant::fromValue(encoderSettings.videoCodec()));
- selectComboBoxItem(ui->videoResolutionBox, QVariant(encoderSettings.videoResolution()));
-
- //special case for frame rate
- for (int i = 0; i < ui->videoFramerateBox->count(); ++i) {
- qreal itemRate = ui->videoFramerateBox->itemData(i).value<qreal>();
- if (qFuzzyCompare(itemRate, encoderSettings.videoFrameRate())) {
- ui->videoFramerateBox->setCurrentIndex(i);
- break;
- }
- }
+ QMediaFormat format;
+ format.setFileFormat(boxValue(ui->containerFormatBox).value<QMediaFormat::FileFormat>());
+ format.setAudioCodec(boxValue(ui->audioCodecBox).value<QMediaFormat::AudioCodec>());
+ format.setVideoCodec(boxValue(ui->videoCodecBox).value<QMediaFormat::VideoCodec>());
+
+ mediaRecorder->setQuality(QMediaRecorder::Quality(ui->qualitySlider->value()));
+ mediaRecorder->setAudioSampleRate(ui->audioSampleRateBox->value());
+ mediaRecorder->setVideoResolution(boxValue(ui->videoResolutionBox).toSize());
+ mediaRecorder->setVideoFrameRate(boxValue(ui->videoFramerateBox).value<qreal>());
}
QVariant VideoSettings::boxValue(const QComboBox *box) const
diff --git a/examples/multimediawidgets/camera/videosettings.h b/examples/multimediawidgets/camera/videosettings.h
index 2cb690d27..28f8ce8a7 100644
--- a/examples/multimediawidgets/camera/videosettings.h
+++ b/examples/multimediawidgets/camera/videosettings.h
@@ -52,7 +52,6 @@
#define VIDEOSETTINGS_H
#include <QDialog>
-#include <QMediaEncoderSettings>
QT_BEGIN_NAMESPACE
class QComboBox;
@@ -68,8 +67,7 @@ public:
explicit VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent = nullptr);
~VideoSettings();
- QMediaEncoderSettings encoderSettings() const;
- void setEncoderSettings(const QMediaEncoderSettings&);
+ void applySettings();
protected:
void changeEvent(QEvent *e) override;