From f62e7ba660b7214d609df30fe739e612584c1f32 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 8 Feb 2021 16:32:38 +0100 Subject: Cleanup QImageEncoderSettings Define a list of supported file formats, as with QMediaEncoderSettings. Implement support for detecting those on gstreamer. Remove the old interface in QCameraImageEncoderControl. Change-Id: Ic3d67dd19fe13336ba2017dc8055014274619ce6 Reviewed-by: Doris Verria Reviewed-by: Lars Knoll --- .../multimediawidgets/camera/imagesettings.cpp | 12 ++-- src/multimedia/camera/qcameraimagecapture.cpp | 19 ------ src/multimedia/camera/qcameraimagecapture.h | 3 - src/multimedia/controls/qimageencodercontrol.cpp | 12 ---- src/multimedia/controls/qimageencodercontrol.h | 3 - .../mediacapture/qandroidimageencodercontrol.cpp | 13 ---- .../mediacapture/qandroidimageencodercontrol_p.h | 2 - .../platform/android/qandroidformatsinfo.cpp | 2 + .../darwin/camera/avfimageencodercontrol.mm | 13 ---- .../platform/darwin/qdarwinformatsinfo.mm | 3 + .../mediacapture/qgstreamerimageencode.cpp | 13 ---- .../mediacapture/qgstreamerimageencode_p.h | 3 - .../platform/gstreamer/qgstreamerformatsinfo.cpp | 57 ++++++++++++++++++ .../platform/qmediaplatformformatinfo_p.h | 4 +- .../platform/qnx/camera/bbimageencodercontrol.cpp | 18 ------ .../platform/qnx/camera/bbimageencodercontrol_p.h | 3 - src/multimedia/recording/qmediaencodersettings.cpp | 69 +++++++++++++++++++--- src/multimedia/recording/qmediaencodersettings.h | 17 +++++- .../unit/mockbackend/mockimageencodercontrol.h | 15 ----- tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp | 14 ++--- .../tst_qcameraimagecapture.cpp | 25 +------- 21 files changed, 156 insertions(+), 164 deletions(-) diff --git a/examples/multimediawidgets/camera/imagesettings.cpp b/examples/multimediawidgets/camera/imagesettings.cpp index 239442a0f..6dfcba91e 100644 --- a/examples/multimediawidgets/camera/imagesettings.cpp +++ b/examples/multimediawidgets/camera/imagesettings.cpp @@ -67,10 +67,10 @@ ImageSettings::ImageSettings(QCameraImageCapture *imageCapture, QWidget *parent) //image codecs ui->imageCodecBox->addItem(tr("Default image format"), QVariant(QString())); - const QStringList supportedImageCodecs = imagecapture->supportedImageCodecs(); - for (const QString &codecName : supportedImageCodecs) { - QString description = imagecapture->imageCodecDescription(codecName); - ui->imageCodecBox->addItem(codecName + ": " + description, QVariant(codecName)); + const auto supportedImageFormats = QImageEncoderSettings::supportedFormats(); + for (const auto &f : supportedImageFormats) { + QString description = QImageEncoderSettings::fileFormatDescription(f); + ui->imageCodecBox->addItem(QImageEncoderSettings::fileFormatName(f) + ": " + description, QVariant::fromValue(f)); } ui->imageQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality)); @@ -103,7 +103,7 @@ void ImageSettings::changeEvent(QEvent *e) QImageEncoderSettings ImageSettings::imageSettings() const { QImageEncoderSettings settings = imagecapture->encodingSettings(); - settings.setCodec(boxValue(ui->imageCodecBox).toString()); + settings.setFormat(boxValue(ui->imageCodecBox).value()); settings.setQuality(QMultimedia::EncodingQuality(ui->imageQualitySlider->value())); settings.setResolution(boxValue(ui->imageResolutionBox).toSize()); @@ -112,7 +112,7 @@ QImageEncoderSettings ImageSettings::imageSettings() const void ImageSettings::setImageSettings(const QImageEncoderSettings &imageSettings) { - selectComboBoxItem(ui->imageCodecBox, QVariant(imageSettings.codec())); + selectComboBoxItem(ui->imageCodecBox, QVariant::fromValue(imageSettings.format())); selectComboBoxItem(ui->imageResolutionBox, QVariant(imageSettings.resolution())); ui->imageQualitySlider->setValue(imageSettings.quality()); } diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp index f8649b53f..9e6462efb 100644 --- a/src/multimedia/camera/qcameraimagecapture.cpp +++ b/src/multimedia/camera/qcameraimagecapture.cpp @@ -239,25 +239,6 @@ QString QCameraImageCapture::errorString() const return d_func()->errorString; } - -/*! - Returns a list of supported image codecs. -*/ -QStringList QCameraImageCapture::supportedImageCodecs() const -{ - return d_func()->encoderControl ? - d_func()->encoderControl->supportedImageCodecs() : QStringList(); -} - -/*! - Returns a description of an image \a codec. -*/ -QString QCameraImageCapture::imageCodecDescription(const QString &codec) const -{ - return d_func()->encoderControl ? - d_func()->encoderControl->imageCodecDescription(codec) : QString(); -} - /*! Returns the image encoder settings being used. diff --git a/src/multimedia/camera/qcameraimagecapture.h b/src/multimedia/camera/qcameraimagecapture.h index f46c4bc1e..4bb3ed89a 100644 --- a/src/multimedia/camera/qcameraimagecapture.h +++ b/src/multimedia/camera/qcameraimagecapture.h @@ -95,9 +95,6 @@ public: bool isReadyForCapture() const; - QStringList supportedImageCodecs() const; - QString imageCodecDescription(const QString &codecName) const; - QImageEncoderSettings encodingSettings() const; void setEncodingSettings(const QImageEncoderSettings& settings); diff --git a/src/multimedia/controls/qimageencodercontrol.cpp b/src/multimedia/controls/qimageencodercontrol.cpp index 793e91d73..9c21a1951 100644 --- a/src/multimedia/controls/qimageencodercontrol.cpp +++ b/src/multimedia/controls/qimageencodercontrol.cpp @@ -97,18 +97,6 @@ QImageEncoderControl::QImageEncoderControl(QObject *parent) *\a continuous is set to true, otherwise *\a continuous is set to false. */ -/*! - \fn QImageEncoderControl::supportedImageCodecs() const - - Returns a list of supported image codecs. -*/ - -/*! - \fn QImageEncoderControl::imageCodecDescription(const QString &codec) const - - Returns a description of an image \a codec. -*/ - /*! \fn QImageEncoderControl::imageSettings() const diff --git a/src/multimedia/controls/qimageencodercontrol.h b/src/multimedia/controls/qimageencodercontrol.h index 330186bb7..c67681305 100644 --- a/src/multimedia/controls/qimageencodercontrol.h +++ b/src/multimedia/controls/qimageencodercontrol.h @@ -58,9 +58,6 @@ class Q_MULTIMEDIA_EXPORT QImageEncoderControl : public QObject Q_OBJECT public: - virtual QStringList supportedImageCodecs() const = 0; - virtual QString imageCodecDescription(const QString &codec) const = 0; - virtual QImageEncoderSettings imageSettings() const = 0; virtual void setImageSettings(const QImageEncoderSettings &settings) = 0; diff --git a/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol.cpp b/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol.cpp index 9ef5eb90e..7be520941 100644 --- a/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol.cpp +++ b/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol.cpp @@ -50,19 +50,6 @@ QAndroidImageEncoderControl::QAndroidImageEncoderControl(QAndroidCameraSession * { } -QStringList QAndroidImageEncoderControl::supportedImageCodecs() const -{ - return QStringList() << QLatin1String("jpeg"); -} - -QString QAndroidImageEncoderControl::imageCodecDescription(const QString &codecName) const -{ - if (codecName == QLatin1String("jpeg")) - return tr("JPEG image"); - - return QString(); -} - QImageEncoderSettings QAndroidImageEncoderControl::imageSettings() const { return m_session->imageSettings(); diff --git a/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol_p.h b/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol_p.h index a162171f9..19555879e 100644 --- a/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol_p.h +++ b/src/multimedia/platform/android/mediacapture/qandroidimageencodercontrol_p.h @@ -63,8 +63,6 @@ class QAndroidImageEncoderControl : public QImageEncoderControl public: explicit QAndroidImageEncoderControl(QAndroidCameraSession *session); - QStringList supportedImageCodecs() const override; - QString imageCodecDescription(const QString &codecName) const override; QImageEncoderSettings imageSettings() const override; void setImageSettings(const QImageEncoderSettings &settings) override; diff --git a/src/multimedia/platform/android/qandroidformatsinfo.cpp b/src/multimedia/platform/android/qandroidformatsinfo.cpp index 1faaca87b..c0cf72149 100644 --- a/src/multimedia/platform/android/qandroidformatsinfo.cpp +++ b/src/multimedia/platform/android/qandroidformatsinfo.cpp @@ -52,6 +52,8 @@ QAndroidFormatInfo::QAndroidFormatInfo() { QMediaFormat::VideoCodec::H264, QMediaFormat::VideoCodec::H265 } } }; encoders = decoders; + + imageFormats << QImageEncoderSettings::JPEG; } QAndroidFormatInfo::~QAndroidFormatInfo() diff --git a/src/multimedia/platform/darwin/camera/avfimageencodercontrol.mm b/src/multimedia/platform/darwin/camera/avfimageencodercontrol.mm index 7b04e5f70..95508abe5 100644 --- a/src/multimedia/platform/darwin/camera/avfimageencodercontrol.mm +++ b/src/multimedia/platform/darwin/camera/avfimageencodercontrol.mm @@ -59,19 +59,6 @@ AVFImageEncoderControl::AVFImageEncoderControl(AVFCameraService *service) Q_ASSERT(service); } -QStringList AVFImageEncoderControl::supportedImageCodecs() const -{ - return QStringList() << QLatin1String("jpeg"); -} - -QString AVFImageEncoderControl::imageCodecDescription(const QString &codecName) const -{ - if (codecName == QLatin1String("jpeg")) - return tr("JPEG image"); - - return QString(); -} - QImageEncoderSettings AVFImageEncoderControl::requestedSettings() const { return m_settings; diff --git a/src/multimedia/platform/darwin/qdarwinformatsinfo.mm b/src/multimedia/platform/darwin/qdarwinformatsinfo.mm index 11a458dea..d168c5d45 100644 --- a/src/multimedia/platform/darwin/qdarwinformatsinfo.mm +++ b/src/multimedia/platform/darwin/qdarwinformatsinfo.mm @@ -162,6 +162,9 @@ QDarwinFormatInfo::QDarwinFormatInfo() {} } }; #endif + + // ### + imageFormats << QImageEncoderSettings::JPEG; } QDarwinFormatInfo::~QDarwinFormatInfo() diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode.cpp index e5b2859d2..01b2dbb93 100644 --- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode.cpp +++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode.cpp @@ -53,19 +53,6 @@ QGstreamerImageEncode::~QGstreamerImageEncode() { } -QStringList QGstreamerImageEncode::supportedImageCodecs() const -{ - return QStringList() << "jpeg"; -} - -QString QGstreamerImageEncode::imageCodecDescription(const QString &codecName) const -{ - if (codecName == "jpeg") - return tr("JPEG image encoder"); - - return QString(); -} - QImageEncoderSettings QGstreamerImageEncode::imageSettings() const { return m_settings; diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode_p.h b/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode_p.h index 89ace7d3c..d9b330f0e 100644 --- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode_p.h +++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamerimageencode_p.h @@ -69,9 +69,6 @@ public: QGstreamerImageEncode(QGstreamerCaptureSession *session); virtual ~QGstreamerImageEncode(); - QStringList supportedImageCodecs() const override; - QString imageCodecDescription(const QString &codecName) const override; - QImageEncoderSettings imageSettings() const override; void setImageSettings(const QImageEncoderSettings &settings) override; diff --git a/src/multimedia/platform/gstreamer/qgstreamerformatsinfo.cpp b/src/multimedia/platform/gstreamer/qgstreamerformatsinfo.cpp index c185a563e..c01688535 100644 --- a/src/multimedia/platform/gstreamer/qgstreamerformatsinfo.cpp +++ b/src/multimedia/platform/gstreamer/qgstreamerformatsinfo.cpp @@ -139,6 +139,25 @@ static QMediaFormat::FileFormat fileFormatForCaps(QGstStructure structure) return QMediaFormat::UnspecifiedFormat; } + +static QImageEncoderSettings::FileFormat imageFormatForCaps(QGstStructure structure) +{ + const char *name = structure.name(); + + if (!strcmp(name, "image/jpeg")) { + return QImageEncoderSettings::JPEG; + } else if (!strcmp(name, "image/png")) { + return QImageEncoderSettings::PNG; + } else if (!strcmp(name, "image/webp")) { + return QImageEncoderSettings::WebP; + } else if (!strcmp(name, "image/webp")) { + return QImageEncoderSettings::WebP; + } else if (!strcmp(name, "image/tiff")) { + return QImageEncoderSettings::Tiff; + } + return QImageEncoderSettings::UnspecifiedFormat; +} + static QPair, QList> getCodecsList(bool decode) { QList audio; @@ -250,6 +269,42 @@ QList QGstreamerFormatsInfo::getMuxerList(bool return muxers; } +static QList getImageFormatList() +{ + QSet formats; + + GList *elementList = gst_element_factory_list_get_elements(GST_ELEMENT_FACTORY_TYPE_ENCODER, + GST_RANK_MARGINAL); + + GList *element = elementList; + while (element) { + GstElementFactory *factory = (GstElementFactory *)element->data; + element = element->next; + + const GList *padTemplates = gst_element_factory_get_static_pad_templates(factory); + while (padTemplates) { + GstStaticPadTemplate *padTemplate = (GstStaticPadTemplate *)padTemplates->data; + padTemplates = padTemplates->next; + + if (padTemplate->direction == GST_PAD_SRC) { + QGstCaps caps = gst_static_caps_get(&padTemplate->static_caps); + + for (int i = 0; i < caps.size(); i++) { + QGstStructure structure = caps.at(i); + auto f = imageFormatForCaps(structure); + if (f != QImageEncoderSettings::UnspecifiedFormat) { + qDebug() << structure.toString() << f; + formats.insert(f); + } + } + caps.unref(); + } + } + } + gst_plugin_feature_list_free(elementList); + return formats.values(); +} + #if 0 static void dumpMuxers(const QList &muxerList) { @@ -274,6 +329,8 @@ QGstreamerFormatsInfo::QGstreamerFormatsInfo() codecs = getCodecsList(/*decode = */ false); encoders = getMuxerList(/* demuxer = */false, codecs.first, codecs.second); //dumpMuxers(encoders); + + imageFormats = getImageFormatList(); } QGstreamerFormatsInfo::~QGstreamerFormatsInfo() diff --git a/src/multimedia/platform/qmediaplatformformatinfo_p.h b/src/multimedia/platform/qmediaplatformformatinfo_p.h index 1cba1b086..05ea7b495 100644 --- a/src/multimedia/platform/qmediaplatformformatinfo_p.h +++ b/src/multimedia/platform/qmediaplatformformatinfo_p.h @@ -52,7 +52,7 @@ // #include -#include +#include QT_BEGIN_NAMESPACE @@ -75,6 +75,8 @@ public: }; QList encoders; QList decoders; + + QList imageFormats; }; QT_END_NAMESPACE diff --git a/src/multimedia/platform/qnx/camera/bbimageencodercontrol.cpp b/src/multimedia/platform/qnx/camera/bbimageencodercontrol.cpp index 960accb02..65ebf2d63 100644 --- a/src/multimedia/platform/qnx/camera/bbimageencodercontrol.cpp +++ b/src/multimedia/platform/qnx/camera/bbimageencodercontrol.cpp @@ -48,24 +48,6 @@ BbImageEncoderControl::BbImageEncoderControl(BbCameraSession *session, QObject * { } -QStringList BbImageEncoderControl::supportedImageCodecs() const -{ - return QStringList() << QLatin1String("jpeg"); -} - -QString BbImageEncoderControl::imageCodecDescription(const QString &codecName) const -{ - if (codecName == QLatin1String("jpeg")) - return tr("JPEG image"); - - return QString(); -} - -QList BbImageEncoderControl::supportedResolutions(const QImageEncoderSettings &settings, bool *continuous) const -{ - return m_session->supportedResolutions(settings, continuous); -} - QImageEncoderSettings BbImageEncoderControl::imageSettings() const { return m_session->imageSettings(); diff --git a/src/multimedia/platform/qnx/camera/bbimageencodercontrol_p.h b/src/multimedia/platform/qnx/camera/bbimageencodercontrol_p.h index 2ace35b4f..f7e4d4445 100644 --- a/src/multimedia/platform/qnx/camera/bbimageencodercontrol_p.h +++ b/src/multimedia/platform/qnx/camera/bbimageencodercontrol_p.h @@ -62,9 +62,6 @@ class BbImageEncoderControl : public QImageEncoderControl public: explicit BbImageEncoderControl(BbCameraSession *session, QObject *parent = 0); - QStringList supportedImageCodecs() const override; - QString imageCodecDescription(const QString &codecName) const override; - QList supportedResolutions(const QImageEncoderSettings &settings, bool *continuous = 0) const override; QImageEncoderSettings imageSettings() const override; void setImageSettings(const QImageEncoderSettings &settings) override; diff --git a/src/multimedia/recording/qmediaencodersettings.cpp b/src/multimedia/recording/qmediaencodersettings.cpp index 68df20216..a1e3b1653 100644 --- a/src/multimedia/recording/qmediaencodersettings.cpp +++ b/src/multimedia/recording/qmediaencodersettings.cpp @@ -39,6 +39,8 @@ #include "qmediaencodersettings.h" #include "qmediaformat.h" +#include +#include QT_BEGIN_NAMESPACE @@ -438,7 +440,7 @@ class QImageEncoderSettingsPrivate : public QSharedData { public: bool isNull = true; - QString codec; + QImageEncoderSettings::FileFormat format; QSize resolution; QMultimedia::EncodingQuality quality = QMultimedia::NormalQuality; QVariantMap encodingOptions; @@ -513,7 +515,7 @@ bool QImageEncoderSettings::operator==(const QImageEncoderSettings &other) const return (d == other.d) || (d->isNull == other.d->isNull && d->quality == other.d->quality && - d->codec == other.d->codec && + d->format == other.d->format && d->resolution == other.d->resolution && d->encodingOptions == other.d->encodingOptions); @@ -542,21 +544,72 @@ bool QImageEncoderSettings::isNull() const } /*! - Returns the image codec. + Returns the image format. */ -QString QImageEncoderSettings::codec() const +QImageEncoderSettings::FileFormat QImageEncoderSettings::format() const { - return d->codec; + return d->format; } /*! - Sets the image \a codec. + Sets the image \a format. */ -void QImageEncoderSettings::setCodec(const QString& codec) +void QImageEncoderSettings::setFormat(QImageEncoderSettings::FileFormat format) { d->isNull = false; - d->codec = codec; + d->format = format; +} + +QList QImageEncoderSettings::supportedFormats() +{ + return QMediaPlatformIntegration::instance()->formatInfo()->imageFormats; +} + +QString QImageEncoderSettings::fileFormatName(QImageEncoderSettings::FileFormat f) +{ + const char *name = nullptr; + switch (f) { + case UnspecifiedFormat: + name = "Unspecified image format"; + break; + case JPEG: + name = "JPEG"; + break; + case PNG: + name = "PNG"; + break; + case WebP: + name = "WebP"; + break; + case Tiff: + name = "Tiff"; + break; + } + return QString::fromUtf8(name); +} + +QString QImageEncoderSettings::fileFormatDescription(QImageEncoderSettings::FileFormat f) +{ + const char *name = nullptr; + switch (f) { + case UnspecifiedFormat: + name = "Unspecified image format"; + break; + case JPEG: + name = "JPEG"; + break; + case PNG: + name = "PNG"; + break; + case WebP: + name = "WebP"; + break; + case Tiff: + name = "Tiff"; + break; + } + return QString::fromUtf8(name); } /*! diff --git a/src/multimedia/recording/qmediaencodersettings.h b/src/multimedia/recording/qmediaencodersettings.h index b0a68af2d..6e8d35794 100644 --- a/src/multimedia/recording/qmediaencodersettings.h +++ b/src/multimedia/recording/qmediaencodersettings.h @@ -95,6 +95,15 @@ class QImageEncoderSettingsPrivate; class Q_MULTIMEDIA_EXPORT QImageEncoderSettings { public: + enum FileFormat { + UnspecifiedFormat, + JPEG, + PNG, + WebP, + Tiff, + LastFileFormat = Tiff + }; + QImageEncoderSettings(); QImageEncoderSettings(const QImageEncoderSettings& other); @@ -106,8 +115,12 @@ public: bool isNull() const; - QString codec() const; - void setCodec(const QString &); + FileFormat format() const; + void setFormat(FileFormat format); + + static QList supportedFormats(); + static QString fileFormatName(FileFormat c); + static QString fileFormatDescription(FileFormat c); QSize resolution() const; void setResolution(const QSize &); diff --git a/tests/auto/unit/mockbackend/mockimageencodercontrol.h b/tests/auto/unit/mockbackend/mockimageencodercontrol.h index d67a33f57..40f84b62d 100644 --- a/tests/auto/unit/mockbackend/mockimageencodercontrol.h +++ b/tests/auto/unit/mockbackend/mockimageencodercontrol.h @@ -40,21 +40,6 @@ public: m_settings = QImageEncoderSettings(); } - QStringList supportedImageCodecs() const - { - QStringList codecs; - codecs << "PNG" << "JPEG"; - return codecs; - } - - QString imageCodecDescription(const QString &codecName) const { - if (codecName == "PNG") - return QString("Portable Network Graphic"); - if (codecName == "JPEG") - return QString("Joint Photographic Expert Group"); - return QString(); - } - QImageEncoderSettings imageSettings() const { return m_settings; } void setImageSettings(const QImageEncoderSettings &settings) { m_settings = settings; } diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp index f39b4116a..d8ab32083 100644 --- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp +++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp @@ -657,9 +657,9 @@ void tst_QCamera::testImageSettings() QVERIFY(settings.isNull()); QVERIFY(settings == QImageEncoderSettings()); - QCOMPARE(settings.codec(), QString()); - settings.setCodec(QLatin1String("codecName")); - QCOMPARE(settings.codec(), QLatin1String("codecName")); + QCOMPARE(settings.format(), QImageEncoderSettings::UnspecifiedFormat); + settings.setFormat(QImageEncoderSettings::Tiff); + QCOMPARE(settings.format(), QImageEncoderSettings::Tiff); QVERIFY(!settings.isNull()); QVERIFY(settings != QImageEncoderSettings()); @@ -693,7 +693,7 @@ void tst_QCamera::testImageSettings() settings = QImageEncoderSettings(); QVERIFY(settings.isNull()); - QCOMPARE(settings.codec(), QString()); + QCOMPARE(settings.format(), QImageEncoderSettings::UnspecifiedFormat); QCOMPARE(settings.quality(), QMultimedia::NormalQuality); QCOMPARE(settings.resolution(), QSize()); QVERIFY(settings.encodingOptions().isEmpty()); @@ -742,11 +742,11 @@ void tst_QCamera::testImageSettings() QVERIFY(settings1 != settings2); settings1 = QImageEncoderSettings(); - settings1.setCodec("codec1"); + settings1.setFormat(QImageEncoderSettings::PNG); settings2 = QImageEncoderSettings(); - settings2.setCodec("codec1"); + settings2.setFormat(QImageEncoderSettings::PNG); QVERIFY(settings1 == settings2); - settings2.setCodec("codec2"); + settings2.setFormat(QImageEncoderSettings::Tiff); QVERIFY(settings1 != settings2); settings1 = QImageEncoderSettings(); diff --git a/tests/auto/unit/multimedia/qcameraimagecapture/tst_qcameraimagecapture.cpp b/tests/auto/unit/multimedia/qcameraimagecapture/tst_qcameraimagecapture.cpp index 499392b6b..d5b57747d 100644 --- a/tests/auto/unit/multimedia/qcameraimagecapture/tst_qcameraimagecapture.cpp +++ b/tests/auto/unit/multimedia/qcameraimagecapture/tst_qcameraimagecapture.cpp @@ -103,8 +103,6 @@ private slots: void imageExposed(); void imageSaved(); void readyForCaptureChanged(); - void imageCodecDescription(); - void supportedImageCodecs(); void cameraImageCaptureControl(); private: @@ -232,33 +230,14 @@ void tst_QCameraImageCapture::encodingSettings() QVERIFY(imageCapture.isAvailable() == true); QVERIFY(imageCapture.encodingSettings() == QImageEncoderSettings()); QImageEncoderSettings settings; - settings.setCodec("JPEG"); + settings.setFormat(QImageEncoderSettings::JPEG); settings.setQuality(QMultimedia::NormalQuality); imageCapture.setEncodingSettings(settings); QVERIFY(!imageCapture.encodingSettings().isNull()); - QVERIFY(imageCapture.encodingSettings().codec() == "JPEG"); + QVERIFY(imageCapture.encodingSettings().format() == QImageEncoderSettings::JPEG); QVERIFY(imageCapture.encodingSettings().quality() == QMultimedia::NormalQuality); } -//MaemoAPI-1838:test supportedImageCodecs -void tst_QCameraImageCapture::supportedImageCodecs() -{ - QCamera camera; - QCameraImageCapture imageCapture(&camera); - QVERIFY(imageCapture.isAvailable() == true); - QVERIFY(!imageCapture.supportedImageCodecs().isEmpty()); -} - -//MaemoAPI-1837:test imageCodecDescription -void tst_QCameraImageCapture::imageCodecDescription() -{ - QCamera camera; - QCameraImageCapture imageCapture(&camera); - QVERIFY(imageCapture.isAvailable() == true); - QVERIFY(imageCapture.imageCodecDescription(" ").isNull()); - QVERIFY(imageCapture.imageCodecDescription("PNG").isNull() == false); -} - //MaemoAPI-1830:test errors void tst_QCameraImageCapture::errors() { -- cgit v1.2.3