summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/multimedia/qmediaformat.cpp9
-rw-r--r--src/multimedia/qmediaformat.h4
-rw-r--r--src/multimedia/recording/qmediacapturesession.cpp6
-rw-r--r--src/multimedia/recording/qmediaencoder.cpp6
-rw-r--r--src/multimedia/recording/qmediaencodersettings.cpp16
-rw-r--r--src/multimedia/recording/qmediaencodersettings.h4
-rw-r--r--tests/auto/unit/mockbackend/qmockmediaencoder.h3
-rw-r--r--tests/auto/unit/multimedia/qmediaencoder/CMakeLists.txt2
-rw-r--r--tests/auto/unit/multimedia/qmediaencoder/tst_qmediaencoder.cpp1389
9 files changed, 652 insertions, 787 deletions
diff --git a/src/multimedia/qmediaformat.cpp b/src/multimedia/qmediaformat.cpp
index 3c2841bfa..77cb4bbbe 100644
--- a/src/multimedia/qmediaformat.cpp
+++ b/src/multimedia/qmediaformat.cpp
@@ -335,4 +335,13 @@ QString QMediaFormat::videoCodecDescription(QMediaFormat::VideoCodec c)
return QString::fromUtf8(descriptions[int(c) + 1]);
}
+bool QMediaFormat::operator==(const QMediaFormat &other) const
+{
+ Q_ASSERT(!d);
+ return fmtMode == other.fmtMode &&
+ fmt == other.fmt &&
+ audio == other.audio &&
+ video == other.video;
+}
+
QT_END_NAMESPACE
diff --git a/src/multimedia/qmediaformat.h b/src/multimedia/qmediaformat.h
index 3b8b9d9ce..4bd070135 100644
--- a/src/multimedia/qmediaformat.h
+++ b/src/multimedia/qmediaformat.h
@@ -147,6 +147,10 @@ public:
static QString audioCodecDescription(QMediaFormat::AudioCodec c);
static QString videoCodecDescription(QMediaFormat::VideoCodec c);
+ bool operator==(const QMediaFormat &other) const;
+ bool operator!=(const QMediaFormat &other) const
+ { return !operator==(other); }
+
protected:
friend class QMediaFormatPrivate;
Mode fmtMode;
diff --git a/src/multimedia/recording/qmediacapturesession.cpp b/src/multimedia/recording/qmediacapturesession.cpp
index 7580a4a8e..d45ae84db 100644
--- a/src/multimedia/recording/qmediacapturesession.cpp
+++ b/src/multimedia/recording/qmediacapturesession.cpp
@@ -203,14 +203,14 @@ QMediaEncoder *QMediaCaptureSession::encoder()
return d_ptr->encoder;
}
-void QMediaCaptureSession::setEncoder(QMediaEncoder *recorder)
+void QMediaCaptureSession::setEncoder(QMediaEncoder *encoder)
{
- if (d_ptr->encoder == recorder)
+ if (d_ptr->encoder == encoder)
return;
if (d_ptr->encoder)
d_ptr->encoder->setCaptureSession(nullptr);
- d_ptr->encoder = recorder;
+ d_ptr->encoder = encoder;
if (d_ptr->encoder)
d_ptr->encoder->setCaptureSession(this);
emit encoderChanged();
diff --git a/src/multimedia/recording/qmediaencoder.cpp b/src/multimedia/recording/qmediaencoder.cpp
index 127304c26..ad050aaa8 100644
--- a/src/multimedia/recording/qmediaencoder.cpp
+++ b/src/multimedia/recording/qmediaencoder.cpp
@@ -165,7 +165,8 @@ void QMediaEncoder::setCaptureSession(QMediaCaptureSession *session)
}
d->control = d->captureSession->platformSession()->mediaEncoder();
- Q_ASSERT(d->control);
+ if (!d->control)
+ return;
connect(d->control, SIGNAL(stateChanged(QMediaEncoder::State)),
this, SLOT(_q_stateChanged(QMediaEncoder::State)));
@@ -303,7 +304,8 @@ void QMediaEncoder::setEncoderSettings(const QMediaEncoderSettings &settings)
Q_D(QMediaEncoder);
d->encoderSettings = settings;
- d->control->setEncoderSettings(settings);
+ if (d->control)
+ d->control->setEncoderSettings(settings);
d->applySettingsLater();
}
diff --git a/src/multimedia/recording/qmediaencodersettings.cpp b/src/multimedia/recording/qmediaencodersettings.cpp
index 1a4657578..da70caa6b 100644
--- a/src/multimedia/recording/qmediaencodersettings.cpp
+++ b/src/multimedia/recording/qmediaencodersettings.cpp
@@ -122,7 +122,6 @@ constexpr QMediaFormat::VideoCodec videoPriorityList[] =
class QMediaEncoderSettingsPrivate : public QSharedData
{
public:
- bool isNull = true;
QMediaEncoderSettings::EncodingMode encodingMode = QMediaEncoderSettings::ConstantQualityEncoding;
QMediaEncoderSettings::Quality quality = QMediaEncoderSettings::NormalQuality;
@@ -437,6 +436,21 @@ void QMediaEncoderSettings::setAudioSampleRate(int rate)
d->audioSampleRate = rate;
}
+bool QMediaEncoderSettings::operator==(const QMediaEncoderSettings &other) const
+{
+ if (d == other.d)
+ return true;
+ return QMediaFormat::operator==(other) &&
+ d->encodingMode == other.d->encodingMode &&
+ d->quality == other.d->quality &&
+ d->audioBitrate == other.d->audioBitrate &&
+ d->audioSampleRate == other.d->audioSampleRate &&
+ d->audioChannels == other.d->audioChannels &&
+ d->videoResolution == other.d->videoResolution &&
+ d->videoFrameRate == other.d->videoFrameRate &&
+ d->videoBitRate == other.d->videoBitRate;
+}
+
class QImageEncoderSettingsPrivate : public QSharedData
{
diff --git a/src/multimedia/recording/qmediaencodersettings.h b/src/multimedia/recording/qmediaencodersettings.h
index 2b7532543..0e490f47e 100644
--- a/src/multimedia/recording/qmediaencodersettings.h
+++ b/src/multimedia/recording/qmediaencodersettings.h
@@ -112,6 +112,10 @@ public:
int audioSampleRate() const;
void setAudioSampleRate(int rate);
+ bool operator==(const QMediaEncoderSettings &other) const;
+ bool operator!=(const QMediaEncoderSettings &other) const
+ { return !operator==(other); }
+
private:
QSharedDataPointer<QMediaEncoderSettingsPrivate> d;
};
diff --git a/tests/auto/unit/mockbackend/qmockmediaencoder.h b/tests/auto/unit/mockbackend/qmockmediaencoder.h
index 4f9b58a7b..2a8b0727c 100644
--- a/tests/auto/unit/mockbackend/qmockmediaencoder.h
+++ b/tests/auto/unit/mockbackend/qmockmediaencoder.h
@@ -79,7 +79,7 @@ public:
m_settingAppliedCount++;
}
- void setEncoderSettings(const QMediaEncoderSettings &) {}
+ void setEncoderSettings(const QMediaEncoderSettings &settings) { m_settings = settings; }
virtual void setMetaData(const QMediaMetaData &m)
{
@@ -141,6 +141,7 @@ public:
QUrl m_sink;
QMediaEncoder::State m_state;
QMediaEncoder::Status m_status;
+ QMediaEncoderSettings m_settings;
qint64 m_position;
int m_settingAppliedCount;
};
diff --git a/tests/auto/unit/multimedia/qmediaencoder/CMakeLists.txt b/tests/auto/unit/multimedia/qmediaencoder/CMakeLists.txt
index e83985709..76b206a64 100644
--- a/tests/auto/unit/multimedia/qmediaencoder/CMakeLists.txt
+++ b/tests/auto/unit/multimedia/qmediaencoder/CMakeLists.txt
@@ -4,7 +4,7 @@
## tst_qmediarecorder Test:
#####################################################################
-qt_add_test(tst_qmediarecorder
+qt_add_test(tst_qmediaencoder
SOURCES
tst_qmediaencoder.cpp
INCLUDE_DIRECTORIES
diff --git a/tests/auto/unit/multimedia/qmediaencoder/tst_qmediaencoder.cpp b/tests/auto/unit/multimedia/qmediaencoder/tst_qmediaencoder.cpp
index 107a74dc4..da4947476 100644
--- a/tests/auto/unit/multimedia/qmediaencoder/tst_qmediaencoder.cpp
+++ b/tests/auto/unit/multimedia/qmediaencoder/tst_qmediaencoder.cpp
@@ -51,7 +51,7 @@ public slots:
void cleanupTestCase();
private slots:
- void testNullService();
+ void testBasicSession();
void testNullControls();
void testDeleteMediaSource();
void testError();
@@ -68,10 +68,8 @@ private slots:
void testAudioSettingsOperatorNotEqual();
void testAudioSettingsOperatorEqual();
void testAudioSettingsOperatorAssign();
- void testAudioSettingsDestructor();
void testIsAvailable();
- void testMediaSource();
void testEnum();
void testVideoSettingsQuality();
@@ -80,7 +78,6 @@ private slots:
void testVideoSettingsOperatorAssignment();
void testVideoSettingsOperatorNotEqual();
void testVideoSettingsOperatorComparison();
- void testVideoSettingsDestructor();
private:
QMockIntegration *mockIntegration = nullptr;
@@ -88,7 +85,7 @@ private:
QCamera *object = nullptr;
QMockMediaCaptureSession *service = nullptr;
QMockMediaEncoder *mock;
- QMediaEncoder *capture;
+ QMediaEncoder *encoder;
};
void tst_QMediaEncoder::initTestCase()
@@ -96,25 +93,24 @@ void tst_QMediaEncoder::initTestCase()
mockIntegration = new QMockIntegration;
captureSession = new QMediaCaptureSession;
object = new QCamera;
- capture = new QMediaEncoder;
+ encoder = new QMediaEncoder;
captureSession->setCamera(object);
- captureSession->setEncoder(capture);
+ captureSession->setEncoder(encoder);
service = mockIntegration->lastCaptureService();
mock = service->mockControl;
}
void tst_QMediaEncoder::cleanupTestCase()
{
- delete capture;
+ delete encoder;
delete object;
delete mock;
+ delete captureSession;
delete mockIntegration;
}
-void tst_QMediaEncoder::testNullService()
+void tst_QMediaEncoder::testBasicSession()
{
- const QString id(QLatin1String("application/x-format"));
-
QMediaCaptureSession session;
QCamera camera;
QMediaEncoder recorder;
@@ -129,8 +125,8 @@ void tst_QMediaEncoder::testNullService()
void tst_QMediaEncoder::testNullControls()
{
- service->hasControls = false;
QMediaCaptureSession session;
+ mockIntegration->lastCaptureService()->hasControls = false;
QCamera camera;
QMediaEncoder recorder;
session.setCamera(&camera);
@@ -200,14 +196,14 @@ void tst_QMediaEncoder::testError()
{
const QString errorString(QLatin1String("format error"));
- QSignalSpy spy(capture, SIGNAL(error(QMediaEncoder::Error)));
+ QSignalSpy spy(encoder, SIGNAL(error(QMediaEncoder::Error)));
- QCOMPARE(capture->error(), QMediaEncoder::NoError);
- QCOMPARE(capture->errorString(), QString());
+ QCOMPARE(encoder->error(), QMediaEncoder::NoError);
+ QCOMPARE(encoder->errorString(), QString());
mock->error(QMediaEncoder::FormatError, errorString);
- QCOMPARE(capture->error(), QMediaEncoder::FormatError);
- QCOMPARE(capture->errorString(), errorString);
+ QCOMPARE(encoder->error(), QMediaEncoder::FormatError);
+ QCOMPARE(encoder->errorString(), errorString);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.last()[0].value<QMediaEncoder::Error>(), QMediaEncoder::FormatError);
@@ -215,68 +211,68 @@ void tst_QMediaEncoder::testError()
void tst_QMediaEncoder::testSink()
{
- capture->setOutputLocation(QUrl("test.tmp"));
- QUrl s = capture->outputLocation();
+ encoder->setOutputLocation(QUrl("test.tmp"));
+ QUrl s = encoder->outputLocation();
QCOMPARE(s.toString(), QString("test.tmp"));
- QCOMPARE(capture->actualLocation(), QUrl());
+ QCOMPARE(encoder->actualLocation(), QUrl());
//the actual location is available after record
- capture->record();
- QCOMPARE(capture->actualLocation().toString(), QString("test.tmp"));
- capture->stop();
- QCOMPARE(capture->actualLocation().toString(), QString("test.tmp"));
+ encoder->record();
+ QCOMPARE(encoder->actualLocation().toString(), QString("test.tmp"));
+ encoder->stop();
+ QCOMPARE(encoder->actualLocation().toString(), QString("test.tmp"));
//setOutputLocation resets the actual location
- capture->setOutputLocation(QUrl());
- QCOMPARE(capture->actualLocation(), QUrl());
+ encoder->setOutputLocation(QUrl());
+ QCOMPARE(encoder->actualLocation(), QUrl());
- capture->record();
- QCOMPARE(capture->actualLocation(), QUrl::fromLocalFile("default_name.mp4"));
- capture->stop();
- QCOMPARE(capture->actualLocation(), QUrl::fromLocalFile("default_name.mp4"));
+ encoder->record();
+ QCOMPARE(encoder->actualLocation(), QUrl::fromLocalFile("default_name.mp4"));
+ encoder->stop();
+ QCOMPARE(encoder->actualLocation(), QUrl::fromLocalFile("default_name.mp4"));
}
void tst_QMediaEncoder::testRecord()
{
- QSignalSpy stateSignal(capture,SIGNAL(stateChanged(QMediaEncoder::State)));
- QSignalSpy statusSignal(capture,SIGNAL(statusChanged(QMediaEncoder::Status)));
- QSignalSpy progressSignal(capture, SIGNAL(durationChanged(qint64)));
- capture->record();
- QCOMPARE(capture->state(), QMediaEncoder::RecordingState);
- QCOMPARE(capture->error(), QMediaEncoder::NoError);
- QCOMPARE(capture->errorString(), QString());
+ QSignalSpy stateSignal(encoder,SIGNAL(stateChanged(QMediaEncoder::State)));
+ QSignalSpy statusSignal(encoder,SIGNAL(statusChanged(QMediaEncoder::Status)));
+ QSignalSpy progressSignal(encoder, SIGNAL(durationChanged(qint64)));
+ encoder->record();
+ QCOMPARE(encoder->state(), QMediaEncoder::RecordingState);
+ QCOMPARE(encoder->error(), QMediaEncoder::NoError);
+ QCOMPARE(encoder->errorString(), QString());
QCOMPARE(stateSignal.count(), 1);
QCOMPARE(stateSignal.last()[0].value<QMediaEncoder::State>(), QMediaEncoder::RecordingState);
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(capture->status(), QMediaEncoder::RecordingStatus);
+ QCOMPARE(encoder->status(), QMediaEncoder::RecordingStatus);
QVERIFY(!statusSignal.isEmpty());
QCOMPARE(statusSignal.last()[0].value<QMediaEncoder::Status>(), QMediaEncoder::RecordingStatus);
statusSignal.clear();
QVERIFY(progressSignal.count() > 0);
- capture->pause();
+ encoder->pause();
- QCOMPARE(capture->state(), QMediaEncoder::PausedState);
+ QCOMPARE(encoder->state(), QMediaEncoder::PausedState);
QCOMPARE(stateSignal.count(), 2);
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(capture->status(), QMediaEncoder::PausedStatus);
+ QCOMPARE(encoder->status(), QMediaEncoder::PausedStatus);
QVERIFY(!statusSignal.isEmpty());
QCOMPARE(statusSignal.last()[0].value<QMediaEncoder::Status>(), QMediaEncoder::PausedStatus);
statusSignal.clear();
- capture->stop();
+ encoder->stop();
- QCOMPARE(capture->state(), QMediaEncoder::StoppedState);
+ QCOMPARE(encoder->state(), QMediaEncoder::StoppedState);
QCOMPARE(stateSignal.count(), 3);
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(capture->status(), QMediaEncoder::StoppedStatus);
+ QCOMPARE(encoder->status(), QMediaEncoder::StoppedStatus);
QVERIFY(!statusSignal.isEmpty());
QCOMPARE(statusSignal.last()[0].value<QMediaEncoder::Status>(), QMediaEncoder::StoppedStatus);
statusSignal.clear();
@@ -287,394 +283,290 @@ void tst_QMediaEncoder::testRecord()
void tst_QMediaEncoder::testEncodingSettings()
{
-// QAudioEncoderSettings audioSettings = capture->audioSettings();
-// QCOMPARE(audioSettings.codec(), QString("audio/x-raw"));
-// QCOMPARE(audioSettings.bitRate(), 128*1024);
-// QCOMPARE(audioSettings.sampleRate(), 8000);
-// QCOMPARE(audioSettings.quality(), QMediaEncoderSettings:NormalQuality);
-// QCOMPARE(audioSettings.channelCount(), -1);
-
-// QCOMPARE(audioSettings.encodingMode(), QMediaEncoderSettings:ConstantQualityEncoding);
-
-// QVideoEncoderSettings videoSettings = capture->videoSettings();
-// QCOMPARE(videoSettings.codec(), QString());
-// QCOMPARE(videoSettings.bitRate(), -1);
-// QCOMPARE(videoSettings.resolution(), QSize());
-// QCOMPARE(videoSettings.frameRate(), 0.0);
-// QCOMPARE(videoSettings.quality(), QMediaEncoderSettings:NormalQuality);
-// QCOMPARE(videoSettings.encodingMode(), QMediaEncoderSettings:ConstantQualityEncoding);
-
-// QString format = capture->containerFormat();
-// QCOMPARE(format, QString());
-
-// audioSettings.setCodec("audio/mpeg");
-// audioSettings.setSampleRate(44100);
-// audioSettings.setBitRate(256*1024);
-// audioSettings.setQuality(QMediaEncoderSettings:HighQuality);
-// audioSettings.setEncodingMode(QMediaEncoderSettings:AverageBitRateEncoding);
-
-// videoSettings.setCodec("video/3gpp");
-// videoSettings.setBitRate(800);
-// videoSettings.setFrameRate(24*1024);
-// videoSettings.setResolution(QSize(800,600));
-// videoSettings.setQuality(QMediaEncoderSettings:HighQuality);
-// audioSettings.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-
-// format = QString("mov");
-
-// capture->setAudioSettings(audioSettings);
-// capture->setVideoSettings(videoSettings);
-// capture->setContainerFormat(format);
-
-// QCOMPARE(capture->audioSettings(), audioSettings);
-// QCOMPARE(capture->videoSettings(), videoSettings);
-// QCOMPARE(capture->containerFormat(), format);
+ QMediaEncoderSettings settings = encoder->encoderSettings();
+ QCOMPARE(settings.format(), QMediaEncoderSettings::UnspecifiedFormat);
+ QCOMPARE(settings.audioCodec(), QMediaEncoderSettings::AudioCodec::Unspecified);
+ QCOMPARE(settings.videoCodec(), QMediaEncoderSettings::VideoCodec::Unspecified);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
+ QCOMPARE(settings.encodingMode(), QMediaEncoderSettings::ConstantQualityEncoding);
+
+ settings.setAudioCodec(QMediaEncoderSettings::AudioCodec::MP3);
+ settings.setAudioSampleRate(44100);
+ settings.setAudioBitRate(256*1024);
+ settings.setQuality(QMediaEncoderSettings::HighQuality);
+ settings.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+
+ settings.setVideoCodec(QMediaEncoderSettings::VideoCodec::H264);
+ settings.setVideoBitRate(800);
+ settings.setVideoFrameRate(24*1024);
+ settings.setVideoResolution(QSize(800,600));
+
+ encoder->setEncoderSettings(settings);
+
+ QCOMPARE(encoder->encoderSettings(), settings);
}
void tst_QMediaEncoder::testAudioSettings()
{
-// QAudioEncoderSettings settings;
-// QVERIFY(settings.isNull());
-// QVERIFY(settings == QAudioEncoderSettings());
-
-// QCOMPARE(settings.codec(), QString());
-// settings.setCodec(QLatin1String("codecName"));
-// QCOMPARE(settings.codec(), QLatin1String("codecName"));
-// QVERIFY(!settings.isNull());
-// QVERIFY(settings != QAudioEncoderSettings());
-
-// settings = QAudioEncoderSettings();
-// QCOMPARE(settings.bitRate(), -1);
-// settings.setBitRate(128000);
-// QCOMPARE(settings.bitRate(), 128000);
-// QVERIFY(!settings.isNull());
-
-// settings = QAudioEncoderSettings();
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:NormalQuality);
-// settings.setQuality(QMediaEncoderSettings:HighQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:HighQuality);
-// QVERIFY(!settings.isNull());
-
-// settings = QAudioEncoderSettings();
-// QCOMPARE(settings.sampleRate(), -1);
-// settings.setSampleRate(44100);
-// QCOMPARE(settings.sampleRate(), 44100);
-// QVERIFY(!settings.isNull());
-
-// settings = QAudioEncoderSettings();
-// QCOMPARE(settings.channelCount(), -1);
-// settings.setChannelCount(2);
-// QCOMPARE(settings.channelCount(), 2);
-// QVERIFY(!settings.isNull());
-
-// settings = QAudioEncoderSettings();
-// settings.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption")), QVariant(1));
-// QVariantMap options;
-// options.insert(QLatin1String("encoderOption"), QVariant(1));
-// QCOMPARE(settings.encodingOptions(), options);
-// options.insert(QLatin1String("encoderOption2"), QVariant(2));
-// options.remove(QLatin1String("encoderOption"));
-// settings.setEncodingOptions(options);
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption")), QVariant());
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption2")), QVariant(2));
-// QVERIFY(!settings.isNull());
-// QVERIFY(settings != QAudioEncoderSettings());
-
-// settings = QAudioEncoderSettings();
-// QVERIFY(settings.isNull());
-// QCOMPARE(settings.codec(), QString());
-// QCOMPARE(settings.bitRate(), -1);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:NormalQuality);
-// QCOMPARE(settings.sampleRate(), -1);
-// QVERIFY(settings.encodingOptions().isEmpty());
-
-// {
-// QAudioEncoderSettings settings1;
-// QAudioEncoderSettings settings2;
-// QCOMPARE(settings2, settings1);
-
-// settings2 = settings1;
-// QCOMPARE(settings2, settings1);
-// QVERIFY(settings2.isNull());
-
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-
-// QVERIFY(settings2.isNull());
-// QVERIFY(!settings1.isNull());
-// QVERIFY(settings1 != settings2);
-// }
-
-// {
-// QAudioEncoderSettings settings1;
-// QAudioEncoderSettings settings2(settings1);
-// QCOMPARE(settings2, settings1);
-
-// settings2 = settings1;
-// QCOMPARE(settings2, settings1);
-// QVERIFY(settings2.isNull());
-
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-
-// QVERIFY(settings2.isNull());
-// QVERIFY(!settings1.isNull());
-// QVERIFY(settings1 != settings2);
-// }
-
-// QAudioEncoderSettings settings1;
-// settings1.setBitRate(1);
-// QAudioEncoderSettings settings2;
-// settings2.setBitRate(1);
-// QVERIFY(settings1 == settings2);
-// settings2.setBitRate(2);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setChannelCount(1);
-// settings2 = QAudioEncoderSettings();
-// settings2.setChannelCount(1);
-// QVERIFY(settings1 == settings2);
-// settings2.setChannelCount(2);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setCodec("codec1");
-// settings2 = QAudioEncoderSettings();
-// settings2.setCodec("codec1");
-// QVERIFY(settings1 == settings2);
-// settings2.setCodec("codec2");
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings2 = QAudioEncoderSettings();
-// settings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// QVERIFY(settings1 == settings2);
-// settings2.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setQuality(QMediaEncoderSettings:NormalQuality);
-// settings2 = QAudioEncoderSettings();
-// settings2.setQuality(QMediaEncoderSettings:NormalQuality);
-// QVERIFY(settings1 == settings2);
-// settings2.setQuality(QMediaEncoderSettings:LowQuality);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setSampleRate(1);
-// settings2 = QAudioEncoderSettings();
-// settings2.setSampleRate(1);
-// QVERIFY(settings1 == settings2);
-// settings2.setSampleRate(2);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QAudioEncoderSettings();
-// settings1.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// settings2 = QAudioEncoderSettings();
-// settings2.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// QVERIFY(settings1 == settings2);
-// settings2.setEncodingOption(QLatin1String("encoderOption"), QVariant(2));
-// QVERIFY(settings1 != settings2);
+ QMediaEncoderSettings settings;
+ QVERIFY(settings == QMediaEncoderSettings());
+
+ QCOMPARE(settings.format(), QMediaEncoderSettings::UnspecifiedFormat);
+ QCOMPARE(settings.audioBitRate(), -1);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
+ QCOMPARE(settings.audioSampleRate(), -1);
+
+ settings.setFormat(QMediaEncoderSettings::AAC);
+ QCOMPARE(settings.format(), QMediaEncoderSettings::AAC);
+ QVERIFY(settings != QMediaEncoderSettings());
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.audioBitRate(), -1);
+ settings.setAudioBitRate(128000);
+ QCOMPARE(settings.audioBitRate(), 128000);
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
+ settings.setQuality(QMediaEncoderSettings::HighQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::HighQuality);
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.audioSampleRate(), -1);
+ settings.setAudioSampleRate(44100);
+ QCOMPARE(settings.audioSampleRate(), 44100);
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.audioChannelCount(), -1);
+ settings.setAudioChannelCount(2);
+ QCOMPARE(settings.audioChannelCount(), 2);
+
+ settings = QMediaEncoderSettings();
+
+ {
+ QMediaEncoderSettings settings1;
+ QMediaEncoderSettings settings2;
+ QCOMPARE(settings2, settings1);
+
+ settings2 = settings1;
+ QCOMPARE(settings2, settings1);
+
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+
+ QVERIFY(settings1 != settings2);
+ }
+
+ {
+ QMediaEncoderSettings settings1;
+ QMediaEncoderSettings settings2(settings1);
+ QCOMPARE(settings2, settings1);
+
+ settings2 = settings1;
+ QCOMPARE(settings2, settings1);
+
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+
+ QVERIFY(settings1 != settings2);
+ }
+
+ QMediaEncoderSettings settings1;
+ settings1.setAudioBitRate(1);
+ QMediaEncoderSettings settings2;
+ settings2.setAudioBitRate(1);
+ QVERIFY(settings1 == settings2);
+ settings2.setAudioBitRate(2);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setAudioChannelCount(1);
+ settings2 = QMediaEncoderSettings();
+ settings2.setAudioChannelCount(1);
+ QVERIFY(settings1 == settings2);
+ settings2.setAudioChannelCount(2);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setAudioCodec(QMediaEncoderSettings::AudioCodec::MP3);
+ settings2 = QMediaEncoderSettings();
+ settings2.setAudioCodec(QMediaEncoderSettings::AudioCodec::MP3);
+ QVERIFY(settings1 == settings2);
+ settings2.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings2 = QMediaEncoderSettings();
+ settings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ QVERIFY(settings1 == settings2);
+ settings2.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setQuality(QMediaEncoderSettings::NormalQuality);
+ settings2 = QMediaEncoderSettings();
+ settings2.setQuality(QMediaEncoderSettings::NormalQuality);
+ QVERIFY(settings1 == settings2);
+ settings2.setQuality(QMediaEncoderSettings::LowQuality);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setAudioSampleRate(1);
+ settings2 = QMediaEncoderSettings();
+ settings2.setAudioSampleRate(1);
+ QVERIFY(settings1 == settings2);
+ settings2.setAudioSampleRate(2);
+ QVERIFY(settings1 != settings2);
}
void tst_QMediaEncoder::testVideoSettings()
{
-// QVideoEncoderSettings settings;
-// QVERIFY(settings.isNull());
-// QVERIFY(settings == QVideoEncoderSettings());
-
-// QCOMPARE(settings.codec(), QString());
-// settings.setCodec(QLatin1String("codecName"));
-// QCOMPARE(settings.codec(), QLatin1String("codecName"));
-// QVERIFY(!settings.isNull());
-// QVERIFY(settings != QVideoEncoderSettings());
-
-// settings = QVideoEncoderSettings();
-// QCOMPARE(settings.bitRate(), -1);
-// settings.setBitRate(128000);
-// QCOMPARE(settings.bitRate(), 128000);
-// QVERIFY(!settings.isNull());
-
-// settings = QVideoEncoderSettings();
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:NormalQuality);
-// settings.setQuality(QMediaEncoderSettings:HighQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:HighQuality);
-// QVERIFY(!settings.isNull());
-
-// settings = QVideoEncoderSettings();
-// QCOMPARE(settings.frameRate(), qreal());
-// settings.setFrameRate(30000.0/10001);
-// QVERIFY(qFuzzyCompare(settings.frameRate(), qreal(30000.0/10001)));
-// settings.setFrameRate(24.0);
-// QVERIFY(qFuzzyCompare(settings.frameRate(), qreal(24.0)));
-// QVERIFY(!settings.isNull());
-
-// settings = QVideoEncoderSettings();
-// QCOMPARE(settings.resolution(), QSize());
-// settings.setResolution(QSize(320,240));
-// QCOMPARE(settings.resolution(), QSize(320,240));
-// settings.setResolution(800,600);
-// QCOMPARE(settings.resolution(), QSize(800,600));
-// QVERIFY(!settings.isNull());
-
-// settings = QVideoEncoderSettings();
-// settings.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption")), QVariant(1));
-// QVariantMap options;
-// options.insert(QLatin1String("encoderOption"), QVariant(1));
-// QCOMPARE(settings.encodingOptions(), options);
-// options.insert(QLatin1String("encoderOption2"), QVariant(2));
-// options.remove(QLatin1String("encoderOption"));
-// settings.setEncodingOptions(options);
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption")), QVariant());
-// QCOMPARE(settings.encodingOption(QLatin1String("encoderOption2")), QVariant(2));
-// QVERIFY(!settings.isNull());
-// QVERIFY(settings != QVideoEncoderSettings());
-
-// settings = QVideoEncoderSettings();
-// QVERIFY(settings.isNull());
-// QCOMPARE(settings.codec(), QString());
-// QCOMPARE(settings.bitRate(), -1);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:NormalQuality);
-// QCOMPARE(settings.frameRate(), qreal());
-// QCOMPARE(settings.resolution(), QSize());
-// QVERIFY(settings.encodingOptions().isEmpty());
-
-// {
-// QVideoEncoderSettings settings1;
-// QVideoEncoderSettings settings2;
-// QCOMPARE(settings2, settings1);
-
-// settings2 = settings1;
-// QCOMPARE(settings2, settings1);
-// QVERIFY(settings2.isNull());
-
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-
-// QVERIFY(settings2.isNull());
-// QVERIFY(!settings1.isNull());
-// QVERIFY(settings1 != settings2);
-// }
-
-// {
-// QVideoEncoderSettings settings1;
-// QVideoEncoderSettings settings2(settings1);
-// QCOMPARE(settings2, settings1);
-
-// settings2 = settings1;
-// QCOMPARE(settings2, settings1);
-// QVERIFY(settings2.isNull());
-
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-
-// QVERIFY(settings2.isNull());
-// QVERIFY(!settings1.isNull());
-// QVERIFY(settings1 != settings2);
-// }
-
-// QVideoEncoderSettings settings1;
-// settings1.setBitRate(1);
-// QVideoEncoderSettings settings2;
-// settings2.setBitRate(1);
-// QVERIFY(settings1 == settings2);
-// settings2.setBitRate(2);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setResolution(800,600);
-// settings2 = QVideoEncoderSettings();
-// settings2.setResolution(QSize(800,600));
-// QVERIFY(settings1 == settings2);
-// settings2.setResolution(QSize(400,300));
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setCodec("codec1");
-// settings2 = QVideoEncoderSettings();
-// settings2.setCodec("codec1");
-// QVERIFY(settings1 == settings2);
-// settings2.setCodec("codec2");
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings2 = QVideoEncoderSettings();
-// settings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// QVERIFY(settings1 == settings2);
-// settings2.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setQuality(QMediaEncoderSettings:NormalQuality);
-// settings2 = QVideoEncoderSettings();
-// settings2.setQuality(QMediaEncoderSettings:NormalQuality);
-// QVERIFY(settings1 == settings2);
-// settings2.setQuality(QMediaEncoderSettings:LowQuality);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setFrameRate(1);
-// settings2 = QVideoEncoderSettings();
-// settings2.setFrameRate(1);
-// QVERIFY(settings1 == settings2);
-// settings2.setFrameRate(2);
-// QVERIFY(settings1 != settings2);
-
-// settings1 = QVideoEncoderSettings();
-// settings1.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// settings2 = QVideoEncoderSettings();
-// settings2.setEncodingOption(QLatin1String("encoderOption"), QVariant(1));
-// QVERIFY(settings1 == settings2);
-// settings2.setEncodingOption(QLatin1String("encoderOption"), QVariant(2));
-// QVERIFY(settings1 != settings2);
+ QMediaEncoderSettings settings;
+ QVERIFY(settings == QMediaEncoderSettings());
+
+ QCOMPARE(settings.videoCodec(), QMediaEncoderSettings::VideoCodec::Unspecified);
+ settings.setVideoCodec(QMediaEncoderSettings::VideoCodec::H265);
+ QCOMPARE(settings.videoCodec(), QMediaEncoderSettings::VideoCodec::H265);
+ QVERIFY(settings != QMediaEncoderSettings());
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.videoBitRate(), -1);
+ settings.setVideoBitRate(128000);
+ QCOMPARE(settings.videoBitRate(), 128000);
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
+ settings.setQuality(QMediaEncoderSettings::HighQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::HighQuality);
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.videoFrameRate(), -1);
+ settings.setVideoFrameRate(60);
+ QVERIFY(qFuzzyCompare(settings.videoFrameRate(), qreal(60)));
+ settings.setVideoFrameRate(24.0);
+ QVERIFY(qFuzzyCompare(settings.videoFrameRate(), qreal(24.0)));
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.videoResolution(), QSize());
+ settings.setVideoResolution(QSize(320,240));
+ QCOMPARE(settings.videoResolution(), QSize(320,240));
+ settings.setVideoResolution(800,600);
+ QCOMPARE(settings.videoResolution(), QSize(800,600));
+
+ settings = QMediaEncoderSettings();
+ QCOMPARE(settings.videoCodec(), QMediaEncoderSettings::VideoCodec::Unspecified);
+ QCOMPARE(settings.videoBitRate(), -1);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
+ QCOMPARE(settings.videoFrameRate(), -1);
+ QCOMPARE(settings.videoResolution(), QSize());
+
+ {
+ QMediaEncoderSettings settings1;
+ QMediaEncoderSettings settings2;
+ QCOMPARE(settings2, settings1);
+
+ settings2 = settings1;
+ QCOMPARE(settings2, settings1);
+
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+ QVERIFY(settings1 != settings2);
+ }
+
+ {
+ QMediaEncoderSettings settings1;
+ QMediaEncoderSettings settings2(settings1);
+ QCOMPARE(settings2, settings1);
+
+ settings2 = settings1;
+ QCOMPARE(settings2, settings1);
+
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+ QVERIFY(settings1 != settings2);
+ }
+
+ QMediaEncoderSettings settings1;
+ settings1.setVideoBitRate(1);
+ QMediaEncoderSettings settings2;
+ settings2.setVideoBitRate(1);
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoBitRate(2);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoResolution(800,600);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoResolution(QSize(800,600));
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoResolution(QSize(400,300));
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoCodec(QMediaEncoderSettings::VideoCodec::H265);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::H265);
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::AV1);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings2 = QMediaEncoderSettings();
+ settings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ QVERIFY(settings1 == settings2);
+ settings2.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setQuality(QMediaEncoderSettings::NormalQuality);
+ settings2 = QMediaEncoderSettings();
+ settings2.setQuality(QMediaEncoderSettings::NormalQuality);
+ QVERIFY(settings1 == settings2);
+ settings2.setQuality(QMediaEncoderSettings::LowQuality);
+ QVERIFY(settings1 != settings2);
+
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoFrameRate(1);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoFrameRate(1);
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoFrameRate(2);
+ QVERIFY(settings1 != settings2);
}
void tst_QMediaEncoder::testSettingsApplied()
{
-// MockMediaSource object(nullptr, service);
-
-// //if the media recorder is not configured after construction
-// //the settings are applied in the next event loop
-// QMediaEncoder recorder(&object);
-// QCOMPARE(mock->m_settingAppliedCount, 0);
-// QTRY_COMPARE(mock->m_settingAppliedCount, 1);
-
-// QVideoEncoderSettings videoSettings;
-// videoSettings.setResolution(640,480);
-// recorder.setVideoSettings(videoSettings);
+ QMediaCaptureSession session;
+ QMediaEncoder encoder;
+ session.setEncoder(&encoder);
+ auto *mock = mockIntegration->lastCaptureService()->mockControl;
-// QAudioEncoderSettings audioSettings;
-// audioSettings.setQuality(QMediaEncoderSettings:HighQuality);
-// recorder.setAudioSettings(audioSettings);
+ //if the media recorder is not configured after construction
+ //the settings are applied in the next event loop
+ QCOMPARE(mock->m_settingAppliedCount, 0);
+ QTRY_COMPARE(mock->m_settingAppliedCount, 1);
-// recorder.setContainerFormat("mkv");
+ QMediaEncoderSettings settings;
+ settings.setVideoResolution(640,480);
+ encoder.setEncoderSettings(settings);
-// QCOMPARE(mock->m_settingAppliedCount, 1);
-// QTRY_COMPARE(mock->m_settingAppliedCount, 2);
+ QCOMPARE(mock->m_settingAppliedCount, 1);
+ QTRY_COMPARE(mock->m_settingAppliedCount, 2);
-// //encoder settings are applied before recording if changed
-// audioSettings.setQuality(QMediaEncoderSettings:VeryHighQuality);
-// recorder.setAudioSettings(audioSettings);
+ //encoder settings are applied before recording if changed
+ settings.setQuality(QMediaEncoderSettings::VeryHighQuality);
+ encoder.setEncoderSettings(settings);
-// QCOMPARE(mock->m_settingAppliedCount, 2);
-// recorder.record();
-// QCOMPARE(mock->m_settingAppliedCount, 3);
+ QCOMPARE(mock->m_settingAppliedCount, 2);
+ encoder.record();
+ QCOMPARE(mock->m_settingAppliedCount, 3);
-// recorder.stop();
+ encoder.stop();
-// //applySettings is not called if setting has not changes
-// recorder.record();
-// QCOMPARE(mock->m_settingAppliedCount, 3);
+ //applySettings is not called if setting has not changes
+ encoder.record();
+ QCOMPARE(mock->m_settingAppliedCount, 3);
}
void tst_QMediaEncoder::metaData()
{
- QFETCH(QString, artist);
- QFETCH(QString, title);
- QFETCH(QString, genre);
- QFETCH(QString, custom);
-
QMediaCaptureSession session;
QCamera camera;
QMediaEncoder recorder;
@@ -693,135 +585,117 @@ void tst_QMediaEncoder::metaData()
void tst_QMediaEncoder::testAudioSettingsCopyConstructor()
{
/* create an object for AudioEncodersettings */
-// QAudioEncoderSettings audiosettings;
-// QVERIFY(audiosettings.isNull());
-
-// /* setting the desired properties for the AudioEncoder */
-// audiosettings.setBitRate(128*1000);
-// audiosettings.setChannelCount(4);
-// audiosettings.setCodec("audio/x-raw");
-// audiosettings.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings.setSampleRate(44100);
-
-// /* Copy constructor */
-// QAudioEncoderSettings other(audiosettings);
-// QVERIFY(!(other.isNull()));
-
-// /* Verifying whether data is copied properly or not */
-// QVERIFY(other.bitRate() == audiosettings.bitRate());
-// QVERIFY(other.sampleRate() == audiosettings.sampleRate());
-// QVERIFY(other.channelCount() == audiosettings.channelCount());
-// QCOMPARE(other.codec(), audiosettings.codec());
-// QVERIFY(other.encodingMode() == audiosettings.encodingMode());
-// QVERIFY(other.quality() == audiosettings.quality());
+ QMediaEncoderSettings audiosettings;
+
+ /* setting the desired properties for the AudioEncoder */
+ audiosettings.setAudioBitRate(128*1000);
+ audiosettings.setAudioChannelCount(4);
+ audiosettings.setAudioCodec(QMediaEncoderSettings::AudioCodec::ALAC);
+ audiosettings.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings.setAudioSampleRate(44100);
+
+ /* Copy constructor */
+ QMediaEncoderSettings other(audiosettings);
+
+ /* Verifying whether data is copied properly or not */
+ QVERIFY(other.audioBitRate() == audiosettings.audioBitRate());
+ QVERIFY(other.audioSampleRate() == audiosettings.audioSampleRate());
+ QVERIFY(other.audioChannelCount() == audiosettings.audioChannelCount());
+ QCOMPARE(other.audioCodec(), audiosettings.audioCodec());
+ QVERIFY(other.encodingMode() == audiosettings.encodingMode());
+ QVERIFY(other.quality() == audiosettings.quality());
}
void tst_QMediaEncoder::testAudioSettingsOperatorNotEqual()
{
/* create an object for AudioEncodersettings */
-// QAudioEncoderSettings audiosettings1;
-// QVERIFY(audiosettings1.isNull());
-
-// QAudioEncoderSettings audiosettings2;
-// QVERIFY(audiosettings2.isNull());
-
-// /* setting the desired properties to for the AudioEncoder */
-// audiosettings1.setBitRate(128*1000);
-// audiosettings1.setChannelCount(4);
-// audiosettings1.setCodec("audio/x-raw");
-// audiosettings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings1.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings1.setSampleRate(44100);
-
-// /* setting the desired properties for the AudioEncoder */
-// audiosettings2.setBitRate(128*1000);
-// audiosettings2.setChannelCount(4);
-// audiosettings2.setCodec("audio/x-raw");
-// audiosettings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings2.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings2.setSampleRate(44100);
-
-// /* verify the both are equal or not */
-// QVERIFY(!(audiosettings1 != audiosettings2));
-
-// /* Modify the settings value for one object */
-// audiosettings2.setBitRate(64*1000);
-// audiosettings2.setEncodingMode(QMediaEncoderSettings:ConstantQualityEncoding);
-
-// /* verify the not equal opertor */
-// QVERIFY(audiosettings1 != audiosettings2);
-
-// QVERIFY(audiosettings2.bitRate() != audiosettings1.bitRate());
-// QVERIFY(audiosettings2.encodingMode() != audiosettings1.encodingMode());
+ QMediaEncoderSettings audiosettings1;
+ QMediaEncoderSettings audiosettings2;
+
+ /* setting the desired properties to for the AudioEncoder */
+ audiosettings1.setAudioBitRate(128*1000);
+ audiosettings1.setAudioChannelCount(4);
+ audiosettings1.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ audiosettings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings1.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings1.setAudioSampleRate(44100);
+
+ /* setting the desired properties for the AudioEncoder */
+ audiosettings2.setAudioBitRate(128*1000);
+ audiosettings2.setAudioChannelCount(4);
+ audiosettings2.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ audiosettings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings2.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings2.setAudioSampleRate(44100);
+
+ /* verify the both are equal or not */
+ QVERIFY(audiosettings1 == audiosettings2);
+ QVERIFY(!(audiosettings1 != audiosettings2));
+
+ /* Modify the settings value for one object */
+ audiosettings2.setAudioBitRate(64*1000);
+ audiosettings2.setEncodingMode(QMediaEncoderSettings::ConstantQualityEncoding);
+
+ /* verify the not equal opertor */
+ QVERIFY(audiosettings1 != audiosettings2);
+
+ QVERIFY(audiosettings2.audioBitRate() != audiosettings1.audioBitRate());
+ QVERIFY(audiosettings2.encodingMode() != audiosettings1.encodingMode());
}
void tst_QMediaEncoder::testAudioSettingsOperatorEqual()
{
/* create an object for AudioEncodersettings */
-// QAudioEncoderSettings audiosettings1;
-// QVERIFY(audiosettings1.isNull());
-
-// /* setting the desired properties to for the AudioEncoder */
-// audiosettings1.setBitRate(128*1000);
-// audiosettings1.setChannelCount(4);
-// audiosettings1.setCodec("audio/x-raw");
-// audiosettings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings1.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings1.setSampleRate(44100);
-
-// QAudioEncoderSettings audiosettings2;
-// QVERIFY(audiosettings2.isNull());
-
-// /* setting the desired properties for the AudioEncoder */
-// audiosettings2.setBitRate(128*1000);
-// audiosettings2.setChannelCount(4);
-// audiosettings2.setCodec("audio/x-raw");
-// audiosettings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings2.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings2.setSampleRate(44100);
-
-// /* verify both the values are same or not */
-// QVERIFY(audiosettings1 == audiosettings2);
-// audiosettings2.setChannelCount(2);
-// QVERIFY(audiosettings1 != audiosettings2);
+ QMediaEncoderSettings audiosettings1;
+
+ /* setting the desired properties to for the AudioEncoder */
+ audiosettings1.setAudioBitRate(128*1000);
+ audiosettings1.setAudioChannelCount(4);
+ audiosettings1.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ audiosettings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings1.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings1.setAudioSampleRate(44100);
+
+ QMediaEncoderSettings audiosettings2;
+
+ /* setting the desired properties for the AudioEncoder */
+ audiosettings2.setAudioBitRate(128*1000);
+ audiosettings2.setAudioChannelCount(4);
+ audiosettings2.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ audiosettings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings2.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings2.setAudioSampleRate(44100);
+
+ /* verify both the values are same or not */
+ QVERIFY(audiosettings1 == audiosettings2);
+ audiosettings2.setAudioChannelCount(2);
+ QVERIFY(audiosettings1 != audiosettings2);
}
void tst_QMediaEncoder::testAudioSettingsOperatorAssign()
{
/* create an object for AudioEncodersettings */
-// QAudioEncoderSettings audiosettings1;
-// QVERIFY(audiosettings1.isNull());
-
-// /* setting the desired properties for the AudioEncoder */
-// audiosettings1.setBitRate(128*1000);
-// audiosettings1.setChannelCount(4);
-// audiosettings1.setCodec("audio/x-raw");
-// audiosettings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// audiosettings1.setQuality(QMediaEncoderSettings:LowQuality);
-// audiosettings1.setSampleRate(44100);
-
-// QAudioEncoderSettings audiosettings2;
-// audiosettings2 = audiosettings1;
-// /* Verifying whether data is copied properly or not */
-// QVERIFY(audiosettings2.bitRate() == audiosettings1.bitRate());
-// QVERIFY(audiosettings2.sampleRate() == audiosettings1.sampleRate());
-// QVERIFY(audiosettings2.channelCount() == audiosettings1.channelCount());
-// QCOMPARE(audiosettings2.codec(), audiosettings1.codec());
-// QVERIFY(audiosettings2.encodingMode() == audiosettings1.encodingMode());
-// QVERIFY(audiosettings2.quality() == audiosettings1.quality());
-}
-
-void tst_QMediaEncoder::testAudioSettingsDestructor()
-{
- /* Creating null object for the audioencodersettings */
-// QAudioEncoderSettings * audiosettings = new QAudioEncoderSettings;
-
-// /* Verifying the object is null or not */
-// QVERIFY(audiosettings->isNull());
-// /* delete the allocated memory */
-// delete audiosettings;
+ QMediaEncoderSettings audiosettings1;
+
+ /* setting the desired properties for the AudioEncoder */
+ audiosettings1.setAudioBitRate(128*1000);
+ audiosettings1.setAudioChannelCount(4);
+ audiosettings1.setAudioCodec(QMediaEncoderSettings::AudioCodec::FLAC);
+ audiosettings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ audiosettings1.setQuality(QMediaEncoderSettings::LowQuality);
+ audiosettings1.setAudioSampleRate(44100);
+
+ QMediaEncoderSettings audiosettings2;
+ audiosettings2 = audiosettings1;
+ /* Verifying whether data is copied properly or not */
+ QVERIFY(audiosettings2.audioBitRate() == audiosettings1.audioBitRate());
+ QVERIFY(audiosettings2.audioSampleRate() == audiosettings1.audioSampleRate());
+ QVERIFY(audiosettings2.audioChannelCount() == audiosettings1.audioChannelCount());
+ QCOMPARE(audiosettings2.audioCodec(), audiosettings1.audioCodec());
+ QVERIFY(audiosettings2.encodingMode() == audiosettings1.encodingMode());
+ QVERIFY(audiosettings2.quality() == audiosettings1.quality());
}
void tst_QMediaEncoder::testIsAvailable()
@@ -840,305 +714,262 @@ void tst_QMediaEncoder::testIsAvailable()
}
}
-/* mediaSource() API test. */
-void tst_QMediaEncoder::testMediaSource()
-{
- service->hasControls = false;
- QMediaCaptureSession session;
- QCamera camera;
- QMediaEncoder recorder;
- session.setCamera(&camera);
- session.setEncoder(&recorder);
-
- QCamera *medobj = session.camera();
- QVERIFY(medobj != nullptr);
- QVERIFY(!camera.isAvailable());
-}
-
/* enum QMediaEncoder::ResourceError property test. */
void tst_QMediaEncoder::testEnum()
{
const QString errorString(QLatin1String("resource error"));
- QSignalSpy spy(capture, SIGNAL(error(QMediaEncoder::Error)));
+ QSignalSpy spy(encoder, SIGNAL(error(QMediaEncoder::Error)));
- QCOMPARE(capture->error(), QMediaEncoder::NoError);
- QCOMPARE(capture->errorString(), QString());
+ QCOMPARE(encoder->error(), QMediaEncoder::NoError);
+ QCOMPARE(encoder->errorString(), QString());
- mock->error(QMediaEncoder::ResourceError, errorString);
- QCOMPARE(capture->error(), QMediaEncoder::ResourceError);
- QCOMPARE(capture->errorString(), errorString);
+ emit mock->error(QMediaEncoder::ResourceError, errorString);
+ QCOMPARE(encoder->error(), QMediaEncoder::ResourceError);
+ QCOMPARE(encoder->errorString(), errorString);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.last()[0].value<QMediaEncoder::Error>(), QMediaEncoder::ResourceError);
}
-/* Test the QVideoEncoderSettings quality API*/
+/* Test the QMediaEncoderSettings quality API*/
void tst_QMediaEncoder::testVideoSettingsQuality()
{
-// /* Create the instance*/
-// QVideoEncoderSettings settings;
-// QVERIFY(settings.isNull());
-// QVERIFY(settings == QVideoEncoderSettings());
+ /* Create the instance*/
+ QMediaEncoderSettings settings;
+ QVERIFY(settings == QMediaEncoderSettings());
-// /* Verify the default value is intialised correctly*/
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:NormalQuality);
+ /* Verify the default value is intialised correctly*/
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::NormalQuality);
-// /* Set all types of Quality parameter and Verify if it is set correctly*/
-// settings.setQuality(QMediaEncoderSettings:HighQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:HighQuality);
-// QVERIFY(!settings.isNull());
+ /* Set all types of Quality parameter and Verify if it is set correctly*/
+ settings.setQuality(QMediaEncoderSettings::HighQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::HighQuality);
-// settings.setQuality(QMediaEncoderSettings:VeryLowQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:VeryLowQuality);
+ settings.setQuality(QMediaEncoderSettings::VeryLowQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::VeryLowQuality);
-// settings.setQuality(QMediaEncoderSettings:LowQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:LowQuality);
+ settings.setQuality(QMediaEncoderSettings::LowQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::LowQuality);
-// settings.setQuality(QMediaEncoderSettings:VeryHighQuality);
-// QCOMPARE(settings.quality(), QMediaEncoderSettings:VeryHighQuality);
+ settings.setQuality(QMediaEncoderSettings::VeryHighQuality);
+ QCOMPARE(settings.quality(), QMediaEncoderSettings::VeryHighQuality);
}
-/* Test QVideoEncoderSettings encodingMode */
+/* Test QMediaEncoderSettings encodingMode */
void tst_QMediaEncoder::testVideoSettingsEncodingMode()
{
-// /* Create the instance*/
-// QVideoEncoderSettings settings;
-// QVERIFY(settings.isNull());
-// QVERIFY(settings == QVideoEncoderSettings());
-
-// /* Verify the default values are initialised correctly*/
-// QCOMPARE(settings.encodingMode(), QMediaEncoderSettings:ConstantQualityEncoding);
-// QVERIFY(settings.isNull());
+ /* Create the instance*/
+ QMediaEncoderSettings settings;
+ QVERIFY(settings == QMediaEncoderSettings());
-// /* Set each type of encoding mode and Verify if it is set correctly*/
-// settings.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// QCOMPARE(settings.encodingMode(),QMediaEncoderSettings:ConstantBitRateEncoding);
-// QVERIFY(!settings.isNull());
+ /* Verify the default values are initialised correctly*/
+ QCOMPARE(settings.encodingMode(), QMediaEncoderSettings::ConstantQualityEncoding);
-// settings.setEncodingMode(QMediaEncoderSettings:AverageBitRateEncoding);
-// QCOMPARE(settings.encodingMode(), QMediaEncoderSettings:AverageBitRateEncoding);
+ /* Set each type of encoding mode and Verify if it is set correctly*/
+ settings.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ QCOMPARE(settings.encodingMode(),QMediaEncoderSettings::ConstantBitRateEncoding);
-// settings.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-// QCOMPARE(settings.encodingMode(), QMediaEncoderSettings:TwoPassEncoding);
+ settings.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+ QCOMPARE(settings.encodingMode(), QMediaEncoderSettings::AverageBitRateEncoding);
}
-/* Test QVideoEncoderSettings copy constructor */
+/* Test QMediaEncoderSettings copy constructor */
void tst_QMediaEncoder::testVideoSettingsCopyConstructor()
{
-// /* Create the instance and initialise it*/
-// QVideoEncoderSettings settings1;
-// settings1.setCodec(QLatin1String("codecName"));
-// settings1.setBitRate(128000);
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings1.setFrameRate(30000.0/10001);
-// settings1.setResolution(QSize(320,240));
-
-// /* Create another instance with instance1 as argument*/
-// QVideoEncoderSettings settings2(settings1);
-
-// /* Verify if all the parameters are copied correctly*/
-// QCOMPARE(settings2 != settings1, false);
-// QCOMPARE(settings2.codec(), QLatin1String("codecName"));
-// QCOMPARE(settings2.bitRate(), 128000);
-// QCOMPARE(settings2.encodingMode(), QMediaEncoderSettings:ConstantBitRateEncoding);
-// QVERIFY(qFuzzyCompare(settings2.frameRate(), qreal(30000.0/10001)));
-// QCOMPARE(settings2.resolution(), QSize(320,240));
-// QCOMPARE(settings2.quality(), QMediaEncoderSettings:HighQuality);
-
-// /* Verify both the instances are equal*/
-// QCOMPARE(settings2, settings1);
-// QVERIFY(!settings2.isNull());
+ /* Create the instance and initialise it*/
+ QMediaEncoderSettings settings1;
+ settings1.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ settings1.setVideoBitRate(128000);
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings1.setVideoFrameRate(60.);
+ settings1.setVideoResolution(QSize(320,240));
+
+ /* Create another instance with instance1 as argument*/
+ QMediaEncoderSettings settings2(settings1);
+
+ /* Verify if all the parameters are copied correctly*/
+ QCOMPARE(settings2 != settings1, false);
+ QCOMPARE(settings2.videoCodec(), QMediaEncoderSettings::VideoCodec::Theora);
+ QCOMPARE(settings2.videoBitRate(), 128000);
+ QCOMPARE(settings2.encodingMode(), QMediaEncoderSettings::ConstantBitRateEncoding);
+ QVERIFY(qFuzzyCompare(settings2.videoFrameRate(), qreal(60.)));
+ QCOMPARE(settings2.videoResolution(), QSize(320,240));
+ QCOMPARE(settings2.quality(), QMediaEncoderSettings::HighQuality);
+
+ /* Verify both the instances are equal*/
+ QCOMPARE(settings2, settings1);
}
-/* Test QVideoEncoderSettings Overloaded Operator assignment*/
+/* Test QMediaEncoderSettings Overloaded Operator assignment*/
void tst_QMediaEncoder::testVideoSettingsOperatorAssignment()
{
-// /* Create two instances.*/
-// QVideoEncoderSettings settings1;
-// QVideoEncoderSettings settings2;
-// QCOMPARE(settings2, settings1);
-// QVERIFY(settings2.isNull());
-
-// /* Initialize all the parameters */
-// settings1.setCodec(QLatin1String("codecName"));
-// settings1.setBitRate(128000);
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings1.setFrameRate(30000.0/10001);
-// settings1.setResolution(QSize(320,240));
-// settings1.setQuality(QMediaEncoderSettings:HighQuality);
-// /* Assign one object to other*/
-// settings2 = settings1;
-
-// /* Verify all the parameters are copied correctly*/
-// QCOMPARE(settings2, settings1);
-// QCOMPARE(settings2.codec(), QLatin1String("codecName"));
-// QCOMPARE(settings2.bitRate(), 128000);
-// QCOMPARE(settings2.encodingMode(), QMediaEncoderSettings:ConstantBitRateEncoding);
-// QVERIFY(qFuzzyCompare(settings2.frameRate(), qreal(30000.0/10001)));
-// QCOMPARE(settings2.resolution(), QSize(320,240));
-// QCOMPARE(settings2.quality(), QMediaEncoderSettings:HighQuality);
-// QCOMPARE(settings2, settings1);
-// QVERIFY(!settings2.isNull());
+ /* Create two instances.*/
+ QMediaEncoderSettings settings1;
+ QMediaEncoderSettings settings2;
+ QCOMPARE(settings2, settings1);
+
+ /* Initialize all the parameters */
+ settings1.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ settings1.setVideoBitRate(128000);
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings1.setVideoFrameRate(60.);
+ settings1.setVideoResolution(QSize(320,240));
+ settings1.setQuality(QMediaEncoderSettings::HighQuality);
+ /* Assign one object to other*/
+ settings2 = settings1;
+
+ /* Verify all the parameters are copied correctly*/
+ QCOMPARE(settings2, settings1);
+ QCOMPARE(settings2.videoCodec(), QMediaEncoderSettings::VideoCodec::Theora);
+ QCOMPARE(settings2.videoBitRate(), 128000);
+ QCOMPARE(settings2.encodingMode(), QMediaEncoderSettings::ConstantBitRateEncoding);
+ QVERIFY(qFuzzyCompare(settings2.videoFrameRate(), qreal(60.)));
+ QCOMPARE(settings2.videoResolution(), QSize(320,240));
+ QCOMPARE(settings2.quality(), QMediaEncoderSettings::HighQuality);
+ QCOMPARE(settings2, settings1);
}
-/* Test QVideoEncoderSettings Overloaded OperatorNotEqual*/
+/* Test QMediaEncoderSettings Overloaded OperatorNotEqual*/
void tst_QMediaEncoder::testVideoSettingsOperatorNotEqual()
{
-// /* Create the instance and set the bit rate and Verify objects with OperatorNotEqual*/
-// QVideoEncoderSettings settings1;
-// settings1.setBitRate(1);
-// QVideoEncoderSettings settings2;
-// settings2.setBitRate(1);
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setBitRate(2);
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
-
-// /* Verify Resolution with not equal operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setResolution(800,600);
-// settings2 = QVideoEncoderSettings();
-// settings2.setResolution(QSize(800,600));
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setResolution(QSize(400,300));
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
-
-// /* Verify Codec with not equal operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setCodec("codec1");
-// settings2 = QVideoEncoderSettings();
-// settings2.setCodec("codec1");
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setCodec("codec2");
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
-
-// /* Verify EncodingMode with not equal operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings2 = QVideoEncoderSettings();
-// settings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
-
-// /* Verify Quality with not equal operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setQuality(QMediaEncoderSettings:NormalQuality);
-// settings2 = QVideoEncoderSettings();
-// settings2.setQuality(QMediaEncoderSettings:NormalQuality);
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setQuality(QMediaEncoderSettings:LowQuality);
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
-
-// /* Verify FrameRate with not equal operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setFrameRate(1);
-// settings2 = QVideoEncoderSettings();
-// settings2.setFrameRate(1);
-// /* OperatorNotEqual returns false when both objects are equal*/
-// QCOMPARE(settings1 != settings2, false);
-// settings2.setFrameRate(2);
-// /* OperatorNotEqual returns true when both objects are not equal*/
-// QVERIFY(settings1 != settings2);
+ /* Create the instance and set the bit rate and Verify objects with OperatorNotEqual*/
+ QMediaEncoderSettings settings1;
+ settings1.setVideoBitRate(1);
+ QMediaEncoderSettings settings2;
+ settings2.setVideoBitRate(1);
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setVideoBitRate(2);
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
+
+ /* Verify Resolution with not equal operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoResolution(800,600);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoResolution(QSize(800,600));
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setVideoResolution(QSize(400,300));
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
+
+ /* Verify Codec with not equal operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::AV1);
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
+
+ /* Verify EncodingMode with not equal operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings2 = QMediaEncoderSettings();
+ settings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
+
+ /* Verify Quality with not equal operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setQuality(QMediaEncoderSettings::NormalQuality);
+ settings2 = QMediaEncoderSettings();
+ settings2.setQuality(QMediaEncoderSettings::NormalQuality);
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setQuality(QMediaEncoderSettings::LowQuality);
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
+
+ /* Verify FrameRate with not equal operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoFrameRate(1);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoFrameRate(1);
+ /* OperatorNotEqual returns false when both objects are equal*/
+ QCOMPARE(settings1 != settings2, false);
+ settings2.setVideoFrameRate(2);
+ /* OperatorNotEqual returns true when both objects are not equal*/
+ QVERIFY(settings1 != settings2);
}
-/* Test QVideoEncoderSettings Overloaded comparison operator*/
+/* Test QMediaEncoderSettings Overloaded comparison operator*/
void tst_QMediaEncoder::testVideoSettingsOperatorComparison()
{
-// /* Create the instance and set the bit rate and Verify objects with comparison operator*/
-// QVideoEncoderSettings settings1;
-// settings1.setBitRate(1);
-// QVideoEncoderSettings settings2;
-// settings2.setBitRate(1);
-
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setBitRate(2);
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-
-// /* Verify resolution with comparison operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setResolution(800,600);
-// settings2 = QVideoEncoderSettings();
-// settings2.setResolution(QSize(800,600));
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setResolution(QSize(400,300));
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-
-// /* Verify Codec with comparison operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setCodec("codec1");
-// settings2 = QVideoEncoderSettings();
-// settings2.setCodec("codec1");
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setCodec("codec2");
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-
-// /* Verify EncodingMode with comparison operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// settings2 = QVideoEncoderSettings();
-// settings2.setEncodingMode(QMediaEncoderSettings:ConstantBitRateEncoding);
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setEncodingMode(QMediaEncoderSettings:TwoPassEncoding);
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-
-// /* Verify Quality with comparison operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setQuality(QMediaEncoderSettings:NormalQuality);
-// settings2 = QVideoEncoderSettings();
-// settings2.setQuality(QMediaEncoderSettings:NormalQuality);
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setQuality(QMediaEncoderSettings:LowQuality);
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-
-// /* Verify FrameRate with comparison operator*/
-// settings1 = QVideoEncoderSettings();
-// settings1.setFrameRate(1);
-// settings2 = QVideoEncoderSettings();
-// settings2.setFrameRate(1);
-// /* Comparison operator returns true when both objects are equal*/
-// QVERIFY(settings1 == settings2);
-// settings2.setFrameRate(2);
-// /* Comparison operator returns false when both objects are not equal*/
-// QCOMPARE(settings1 == settings2, false);
-}
-
-/* Test the destuctor of the QVideoEncoderSettings*/
-void tst_QMediaEncoder::testVideoSettingsDestructor()
-{
-// /* Create the instance on heap and verify if object deleted correctly*/
-// QVideoEncoderSettings *settings1 = new QVideoEncoderSettings();
-// QVERIFY(settings1 != nullptr);
-// QVERIFY(settings1->isNull());
-// delete settings1;
-
-// /* Create the instance on heap and initialise it and verify if object deleted correctly.*/
-// QVideoEncoderSettings *settings2 = new QVideoEncoderSettings();
-// QVERIFY(settings2 != nullptr);
-// settings2->setCodec(QString("codec"));
-// QVERIFY(!settings2->isNull());
-// delete settings2;
+ /* Create the instance and set the bit rate and Verify objects with comparison operator*/
+ QMediaEncoderSettings settings1;
+ settings1.setVideoBitRate(1);
+ QMediaEncoderSettings settings2;
+ settings2.setVideoBitRate(1);
+
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoBitRate(2);
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
+
+ /* Verify resolution with comparison operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoResolution(800,600);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoResolution(QSize(800,600));
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoResolution(QSize(400,300));
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
+
+ /* Verify Codec with comparison operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::Theora);
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoCodec(QMediaEncoderSettings::VideoCodec::AV1);
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
+
+ /* Verify EncodingMode with comparison operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ settings2 = QMediaEncoderSettings();
+ settings2.setEncodingMode(QMediaEncoderSettings::ConstantBitRateEncoding);
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setEncodingMode(QMediaEncoderSettings::AverageBitRateEncoding);
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
+
+ /* Verify Quality with comparison operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setQuality(QMediaEncoderSettings::NormalQuality);
+ settings2 = QMediaEncoderSettings();
+ settings2.setQuality(QMediaEncoderSettings::NormalQuality);
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setQuality(QMediaEncoderSettings::LowQuality);
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
+
+ /* Verify FrameRate with comparison operator*/
+ settings1 = QMediaEncoderSettings();
+ settings1.setVideoFrameRate(1);
+ settings2 = QMediaEncoderSettings();
+ settings2.setVideoFrameRate(1);
+ /* Comparison operator returns true when both objects are equal*/
+ QVERIFY(settings1 == settings2);
+ settings2.setVideoFrameRate(2);
+ /* Comparison operator returns false when both objects are not equal*/
+ QCOMPARE(settings1 == settings2, false);
}
QTEST_GUILESS_MAIN(tst_QMediaEncoder)