Removed encoding options from Audio/Video encoding controls
They are replaced with encoding options from QAudio/Video/ImageEncoderSettings. This also allows to specify options without requesting controls. Change-Id: I507e68cdb8cb46325689804d27c6d0561cada50b Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
f53788ae42
commit
62749d654d
@@ -120,24 +120,6 @@ QAudioEncoderControl::~QAudioEncoderControl()
|
||||
*\a continuous is set to true, otherwise *\a continuous is set to false.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QAudioEncoderControl::supportedEncodingOptions(const QString &codec) const
|
||||
|
||||
Returns the list of \a codec specific audio encoding options.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QAudioEncoderControl::encodingOption(const QString &codec, const QString &option) const
|
||||
|
||||
Returns the value of audio encoding \a option for \a codec.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QAudioEncoderControl::setEncodingOption(const QString &codec, const QString &option, const QVariant &value)
|
||||
|
||||
Set the \a codec specific \a option to \a value.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QAudioEncoderControl::audioSettings() const
|
||||
|
||||
|
||||
@@ -75,11 +75,6 @@ public:
|
||||
virtual QAudioEncoderSettings audioSettings() const = 0;
|
||||
virtual void setAudioSettings(const QAudioEncoderSettings&) = 0;
|
||||
|
||||
virtual QStringList supportedEncodingOptions(const QString &codec) const = 0;
|
||||
virtual QVariant encodingOption(const QString &codec, const QString &name) const = 0;
|
||||
virtual void setEncodingOption(
|
||||
const QString &codec, const QString &name, const QVariant &value) = 0;
|
||||
|
||||
protected:
|
||||
QAudioEncoderControl(QObject *parent = 0);
|
||||
};
|
||||
|
||||
@@ -107,26 +107,6 @@ QVideoEncoderControl::~QVideoEncoderControl()
|
||||
Returns a description of a video \a codec.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QVideoEncoderControl::supportedEncodingOptions(const QString &codec) const
|
||||
|
||||
Returns a list of supported encoding options for a video \a codec.
|
||||
|
||||
The names and types of the options in the list is system dependent.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QVideoEncoderControl::encodingOption(const QString &codec, const QString &option) const
|
||||
|
||||
Returns the value of a video \a codec \a option.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QVideoEncoderControl::setEncodingOption(const QString &codec, const QString &option, const QVariant &value)
|
||||
|
||||
Sets the \a value of a \a codec specific \a option.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn QVideoEncoderControl::supportedResolutions(const QVideoEncoderSettings &settings = QVideoEncoderSettings(),
|
||||
bool *continuous = 0) const
|
||||
|
||||
@@ -79,10 +79,6 @@ public:
|
||||
virtual QVideoEncoderSettings videoSettings() const = 0;
|
||||
virtual void setVideoSettings(const QVideoEncoderSettings &settings) = 0;
|
||||
|
||||
virtual QStringList supportedEncodingOptions(const QString &codec) const = 0;
|
||||
virtual QVariant encodingOption(const QString &codec, const QString &name) const = 0;
|
||||
virtual void setEncodingOption(const QString &codec, const QString &name, const QVariant &value) = 0;
|
||||
|
||||
protected:
|
||||
QVideoEncoderControl(QObject *parent = 0);
|
||||
};
|
||||
|
||||
@@ -89,30 +89,6 @@ QString AudioEncoderControl::codecDescription(const QString &codecName) const
|
||||
return QString();
|
||||
}
|
||||
|
||||
QStringList AudioEncoderControl::supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
Q_UNUSED(codec)
|
||||
|
||||
QStringList list;
|
||||
return list;
|
||||
}
|
||||
|
||||
QVariant AudioEncoderControl::encodingOption(const QString &codec, const QString &name) const
|
||||
{
|
||||
Q_UNUSED(codec)
|
||||
Q_UNUSED(name)
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void AudioEncoderControl::setEncodingOption(
|
||||
const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
Q_UNUSED(value)
|
||||
Q_UNUSED(codec)
|
||||
Q_UNUSED(name)
|
||||
}
|
||||
|
||||
QList<int> AudioEncoderControl::supportedSampleRates(const QAudioEncoderSettings &, bool *continuous) const
|
||||
{
|
||||
if (continuous)
|
||||
|
||||
@@ -67,10 +67,6 @@ public:
|
||||
QAudioEncoderSettings audioSettings() const;
|
||||
void setAudioSettings(const QAudioEncoderSettings&);
|
||||
|
||||
QStringList supportedEncodingOptions(const QString &codec) const;
|
||||
QVariant encodingOption(const QString &codec, const QString &name) const;
|
||||
void setEncodingOption(const QString &codec, const QString &name, const QVariant &value);
|
||||
|
||||
private:
|
||||
AudioCaptureSession* m_session;
|
||||
QAudioEncoderSettings m_settings;
|
||||
|
||||
@@ -65,23 +65,6 @@ QString CameraBinAudioEncoder::codecDescription(const QString &codecName) const
|
||||
return m_codecs.codecDescription(codecName);
|
||||
}
|
||||
|
||||
QStringList CameraBinAudioEncoder::supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
return m_codecOptions.value(codec);
|
||||
}
|
||||
|
||||
QVariant CameraBinAudioEncoder::encodingOption(
|
||||
const QString &codec, const QString &name) const
|
||||
{
|
||||
return m_options[codec].value(name);
|
||||
}
|
||||
|
||||
void CameraBinAudioEncoder::setEncodingOption(
|
||||
const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
m_options[codec][name] = value;
|
||||
}
|
||||
|
||||
QList<int> CameraBinAudioEncoder::supportedSampleRates(const QAudioEncoderSettings &, bool *) const
|
||||
{
|
||||
//TODO check element caps to find actual values
|
||||
|
||||
@@ -90,8 +90,6 @@ Q_SIGNALS:
|
||||
|
||||
private:
|
||||
QGstCodecsInfo m_codecs;
|
||||
QMap<QString,QStringList> m_codecOptions;
|
||||
QMap<QString, QMap<QString, QVariant> > m_options;
|
||||
|
||||
QAudioEncoderSettings m_audioSettings;
|
||||
QAudioEncoderSettings m_userSettings;
|
||||
|
||||
@@ -94,22 +94,6 @@ QString CameraBinVideoEncoder::videoCodecDescription(const QString &codecName) c
|
||||
return m_codecs.codecDescription(codecName);
|
||||
}
|
||||
|
||||
QStringList CameraBinVideoEncoder::supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
return m_codecOptions.value(codec);
|
||||
}
|
||||
|
||||
QVariant CameraBinVideoEncoder::encodingOption(const QString &codec, const QString &name) const
|
||||
{
|
||||
return m_options[codec].value(name);
|
||||
}
|
||||
|
||||
void CameraBinVideoEncoder::setEncodingOption(
|
||||
const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
m_options[codec][name] = value;
|
||||
}
|
||||
|
||||
QVideoEncoderSettings CameraBinVideoEncoder::videoSettings() const
|
||||
{
|
||||
return m_videoSettings;
|
||||
|
||||
@@ -77,10 +77,6 @@ public:
|
||||
QVideoEncoderSettings videoSettings() const;
|
||||
void setVideoSettings(const QVideoEncoderSettings &settings);
|
||||
|
||||
QStringList supportedEncodingOptions(const QString &codec) const;
|
||||
QVariant encodingOption(const QString &codec, const QString &name) const;
|
||||
void setEncodingOption(const QString &codec, const QString &name, const QVariant &value);
|
||||
|
||||
void setActualVideoSettings(const QVideoEncoderSettings&);
|
||||
void resetActualSettings();
|
||||
|
||||
@@ -93,8 +89,6 @@ private:
|
||||
CameraBinSession *m_session;
|
||||
|
||||
QGstCodecsInfo m_codecs;
|
||||
QMap<QString,QStringList> m_codecOptions;
|
||||
QMap<QString, QMap<QString, QVariant> > m_options;
|
||||
|
||||
QVideoEncoderSettings m_videoSettings; // backend selected settings, using m_userSettings
|
||||
QVideoEncoderSettings m_userSettings;
|
||||
|
||||
@@ -71,7 +71,6 @@ private slots:
|
||||
void testNullService();
|
||||
void testNullControl();
|
||||
void testAudioSource();
|
||||
void testOptions();
|
||||
void testDevices();
|
||||
void testAvailability();
|
||||
void testAvailableAudioInputChangedSignal();
|
||||
@@ -142,16 +141,6 @@ void tst_QAudioRecorder::testAudioSource()
|
||||
QCOMPARE(audiosource->mediaObject()->service(),(QMediaService *) mockMediaRecorderService);
|
||||
}
|
||||
|
||||
void tst_QAudioRecorder::testOptions()
|
||||
{
|
||||
const QString codec(QLatin1String("audio/mpeg"));
|
||||
|
||||
QStringList options = mockMediaRecorderService->mockAudioEncoderControl->supportedEncodingOptions(codec);
|
||||
QCOMPARE(options.count(), 4);
|
||||
mockMediaRecorderService->mockAudioEncoderControl->setEncodingOption(codec, options.first(),8000);
|
||||
QVERIFY(mockMediaRecorderService->mockAudioEncoderControl->encodingOption(codec, options.first()).toInt() == 8000);
|
||||
}
|
||||
|
||||
void tst_QAudioRecorder::testDevices()
|
||||
{
|
||||
audiosource = new QAudioRecorder;
|
||||
|
||||
@@ -390,11 +390,6 @@ void tst_QMediaRecorder::testAudioEncodeControl()
|
||||
QStringList codecs = capture->supportedAudioCodecs();
|
||||
QVERIFY(codecs.count() == 2);
|
||||
QVERIFY(capture->audioCodecDescription("audio/pcm") == "Pulse Code Modulation");
|
||||
QStringList options = encode->supportedEncodingOptions("audio/mpeg");
|
||||
QCOMPARE(options.count(), 4);
|
||||
QVERIFY(encode->encodingOption("audio/mpeg","bitrate").isNull());
|
||||
encode->setEncodingOption("audio/mpeg", "bitrate", QString("vbr"));
|
||||
QCOMPARE(encode->encodingOption("audio/mpeg","bitrate").toString(), QString("vbr"));
|
||||
QList<int> rates;
|
||||
rates << 8000 << 11025 << 22050 << 44100;
|
||||
QCOMPARE(capture->supportedAudioSampleRates(), rates);
|
||||
@@ -423,14 +418,6 @@ void tst_QMediaRecorder::testVideoEncodeControl()
|
||||
QStringList vCodecs = capture->supportedVideoCodecs();
|
||||
QVERIFY(vCodecs.count() == 2);
|
||||
QCOMPARE(capture->videoCodecDescription("video/3gpp"), QString("video/3gpp"));
|
||||
|
||||
QStringList options = videoEncode->supportedEncodingOptions("video/3gpp");
|
||||
QCOMPARE(options.count(), 2);
|
||||
|
||||
QVERIFY(encode->encodingOption("video/3gpp","me").isNull());
|
||||
encode->setEncodingOption("video/3gpp", "me", QString("dia"));
|
||||
QCOMPARE(encode->encodingOption("video/3gpp","me").toString(), QString("dia"));
|
||||
|
||||
}
|
||||
|
||||
void tst_QMediaRecorder::testEncodingSettings()
|
||||
|
||||
@@ -53,8 +53,6 @@ public:
|
||||
{
|
||||
m_codecs << "audio/pcm" << "audio/mpeg";
|
||||
m_descriptions << "Pulse Code Modulation" << "mp3 format";
|
||||
m_supportedEncodeOptions.insert("audio/pcm", QStringList());
|
||||
m_supportedEncodeOptions.insert("audio/mpeg", QStringList() << "quality" << "bitrate" << "mode" << "vbr");
|
||||
m_audioSettings.setCodec("audio/pcm");
|
||||
m_audioSettings.setBitRate(128*1024);
|
||||
m_audioSettings.setSampleRate(8000);
|
||||
@@ -96,21 +94,6 @@ public:
|
||||
return m_descriptions.value(m_codecs.indexOf(codecName));
|
||||
}
|
||||
|
||||
QStringList supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
return m_supportedEncodeOptions.value(codec);
|
||||
}
|
||||
|
||||
QVariant encodingOption(const QString &codec, const QString &name) const
|
||||
{
|
||||
return m_encodeOptions[codec].value(name);
|
||||
}
|
||||
|
||||
void setEncodingOption(const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
m_encodeOptions[codec][name] = value;
|
||||
}
|
||||
|
||||
private:
|
||||
QAudioEncoderSettings m_audioSettings;
|
||||
|
||||
@@ -119,9 +102,6 @@ private:
|
||||
|
||||
QList<int> m_freqs;
|
||||
|
||||
QMap<QString, QStringList> m_supportedEncodeOptions;
|
||||
QMap<QString, QMap<QString, QVariant> > m_encodeOptions;
|
||||
|
||||
};
|
||||
|
||||
#endif // MOCKAUDIOENCODERCONTROL_H
|
||||
|
||||
@@ -51,8 +51,6 @@ public:
|
||||
MockVideoEncoderControl(QObject *parent):
|
||||
QVideoEncoderControl(parent)
|
||||
{
|
||||
m_supportedEncodeOptions.insert("video/3gpp", QStringList() << "quantizer" << "me");
|
||||
m_supportedEncodeOptions.insert("video/H264", QStringList() << "quantizer" << "me" << "bframes");
|
||||
m_videoCodecs << "video/3gpp" << "video/H264";
|
||||
m_sizes << QSize(320,240) << QSize(640,480);
|
||||
m_framerates << 30 << 15 << 1;
|
||||
@@ -83,27 +81,9 @@ public:
|
||||
QStringList supportedVideoCodecs() const { return m_videoCodecs; }
|
||||
QString videoCodecDescription(const QString &codecName) const { return codecName; }
|
||||
|
||||
QStringList supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
return m_supportedEncodeOptions.value(codec);
|
||||
}
|
||||
|
||||
QVariant encodingOption(const QString &codec, const QString &name) const
|
||||
{
|
||||
return m_encodeOptions[codec].value(name);
|
||||
}
|
||||
|
||||
void setEncodingOption(const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
m_encodeOptions[codec][name] = value;
|
||||
}
|
||||
|
||||
private:
|
||||
QVideoEncoderSettings m_videoSettings;
|
||||
|
||||
QMap<QString, QStringList> m_supportedEncodeOptions;
|
||||
QMap< QString, QMap<QString, QVariant> > m_encodeOptions;
|
||||
|
||||
QStringList m_videoCodecs;
|
||||
QList<QSize> m_sizes;
|
||||
QList<qreal> m_framerates;
|
||||
|
||||
@@ -97,27 +97,6 @@ public:
|
||||
{
|
||||
Q_UNUSED(settings);
|
||||
}
|
||||
|
||||
QStringList supportedEncodingOptions(const QString &codec) const
|
||||
{
|
||||
Q_UNUSED(codec);
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
QVariant encodingOption(const QString &codec, const QString &name) const
|
||||
{
|
||||
Q_UNUSED(codec);
|
||||
Q_UNUSED(name);
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void setEncodingOption(const QString &codec, const QString &name, const QVariant &value)
|
||||
{
|
||||
Q_UNUSED(codec);
|
||||
Q_UNUSED(name);
|
||||
Q_UNUSED(value);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
class tst_QVideoEncoderControl: public QObject
|
||||
|
||||
Reference in New Issue
Block a user