From 2e78cf2213c006a96979c5c15534a3263da66995 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Fri, 15 Jan 2016 11:23:38 +0300 Subject: Gstreamer plugin: replace foreach with range-based for Change-Id: Ic6d0f9d6b45eae1cdadc46783cb6f5bb7c64ac8c Reviewed-by: Yoann Lopes --- src/plugins/gstreamer/camerabin/camerabincontainer.cpp | 4 ++-- src/plugins/gstreamer/camerabin/camerabinfocus.cpp | 4 ++-- src/plugins/gstreamer/camerabin/camerabinmetadata.cpp | 9 ++++++--- src/plugins/gstreamer/camerabin/camerabinrecorder.cpp | 2 +- .../gstreamer/camerabin/camerabinresourcepolicy.cpp | 16 +++++++++++----- src/plugins/gstreamer/camerabin/camerabinsession.cpp | 8 ++++---- .../gstreamer/camerabin/camerabinvideoencoder.cpp | 6 +++--- .../gstreamer/mediacapture/qgstreameraudioencode.cpp | 2 +- .../mediacapture/qgstreamerimagecapturecontrol.cpp | 3 ++- .../mediacapture/qgstreamermediacontainercontrol.cpp | 2 +- .../gstreamer/mediacapture/qgstreamerrecordercontrol.cpp | 11 ++++++----- .../gstreamer/mediacapture/qgstreamerv4l2input.cpp | 14 ++++++++------ .../gstreamer/mediacapture/qgstreamervideoencode.cpp | 4 ++-- .../gstreamer/mediaplayer/qgstreamerplayersession.cpp | 3 ++- 14 files changed, 51 insertions(+), 37 deletions(-) diff --git a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp index f5b6900f9..b1b61ffe7 100644 --- a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp +++ b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp @@ -116,13 +116,13 @@ GstEncodingContainerProfile *CameraBinContainer::createProfile() return 0; } else { QString format = m_actualFormat; - QStringList supportedFormats = m_supportedContainers.supportedCodecs(); + const QStringList supportedFormats = m_supportedContainers.supportedCodecs(); //if format is not in the list of supported gstreamer mime types, //try to find the mime type with matching extension if (!supportedFormats.contains(format)) { QString extension = suggestedFileExtension(m_actualFormat); - foreach (const QString &formatCandidate, supportedFormats) { + for (const QString &formatCandidate : supportedFormats) { if (suggestedFileExtension(formatCandidate) == extension) { format = formatCandidate; break; diff --git a/src/plugins/gstreamer/camerabin/camerabinfocus.cpp b/src/plugins/gstreamer/camerabin/camerabinfocus.cpp index 32b8d9454..340e776e5 100644 --- a/src/plugins/gstreamer/camerabin/camerabinfocus.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinfocus.cpp @@ -239,7 +239,7 @@ QCameraFocusZoneList CameraBinFocus::focusZones() const if (m_focusPointMode != QCameraFocus::FocusPointFaceDetection) { zones.append(QCameraFocusZone(m_focusRect, m_focusZoneStatus)); #if GST_CHECK_VERSION(1,0,0) - } else foreach (const QRect &face, m_faceFocusRects) { + } else for (const QRect &face : qAsConst(m_faceFocusRects)) { const QRectF normalizedRect( face.x() / qreal(m_viewfinderResolution.width()), face.y() / qreal(m_viewfinderResolution.height()), @@ -434,7 +434,7 @@ void CameraBinFocus::updateRegionOfInterest(const QVector &rectangles) m_viewfinderResolution.width(), m_viewfinderResolution.height()) * 0.3; const QRect viewfinderRectangle(QPoint(0, 0), m_viewfinderResolution); - foreach (const QRect &rectangle, rectangles) { + for (const QRect &rectangle : rectangles) { QRect paddedRectangle( 0, 0, diff --git a/src/plugins/gstreamer/camerabin/camerabinmetadata.cpp b/src/plugins/gstreamer/camerabin/camerabinmetadata.cpp index ec2a83a66..0fca1d4f8 100644 --- a/src/plugins/gstreamer/camerabin/camerabinmetadata.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinmetadata.cpp @@ -197,7 +197,8 @@ QVariant CameraBinMetaData::metaData(const QString &key) const } #endif - Q_FOREACH (const QGStreamerMetaDataKey &metadataKey, *qt_gstreamerMetaDataKeys()) { + const auto keys = *qt_gstreamerMetaDataKeys(); + for (const QGStreamerMetaDataKey &metadataKey : keys) { if (metadataKey.qtName == key) return m_values.value(QByteArray::fromRawData(metadataKey.gstName, qstrlen(metadataKey.gstName))); } @@ -216,7 +217,8 @@ void CameraBinMetaData::setMetaData(const QString &key, const QVariant &value) } } - Q_FOREACH (const QGStreamerMetaDataKey &metadataKey, *qt_gstreamerMetaDataKeys()) { + const auto keys = *qt_gstreamerMetaDataKeys(); + for (const QGStreamerMetaDataKey &metadataKey : keys) { if (metadataKey.qtName == key) { const char *name = metadataKey.gstName; @@ -239,7 +241,8 @@ QStringList CameraBinMetaData::availableMetaData() const { static QMap keysMap; if (keysMap.isEmpty()) { - Q_FOREACH (const QGStreamerMetaDataKey &metadataKey, *qt_gstreamerMetaDataKeys()) + const auto keys = *qt_gstreamerMetaDataKeys(); + for (const QGStreamerMetaDataKey &metadataKey : keys) keysMap[QByteArray(metadataKey.gstName)] = metadataKey.qtName; } diff --git a/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp b/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp index ad0596a6e..bc97563ec 100644 --- a/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp @@ -154,7 +154,7 @@ void CameraBinRecorder::applySettings() candidates.append(QStringList() << "video/quicktime" << "video/x-h264" << "audio/mpeg"); candidates.append(QStringList() << "video/x-msvideo" << "video/x-divx" << "audio/mpeg"); - foreach (const QStringList &candidate, candidates) { + for (const QStringList &candidate : qAsConst(candidates)) { if (containerControl->supportedContainers().contains(candidate[0]) && videoEncoderControl->supportedVideoCodecs().contains(candidate[1]) && audioEncoderControl->supportedAudioCodecs().contains(candidate[2])) { diff --git a/src/plugins/gstreamer/camerabin/camerabinresourcepolicy.cpp b/src/plugins/gstreamer/camerabin/camerabinresourcepolicy.cpp index 745536e87..f76c2c2a3 100644 --- a/src/plugins/gstreamer/camerabin/camerabinresourcepolicy.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinresourcepolicy.cpp @@ -127,13 +127,17 @@ void CamerabinResourcePolicy::setResourceSet(CamerabinResourcePolicy::ResourceSe } QSet currentTypes; - foreach (ResourcePolicy::Resource *resource, m_resource->resources()) + const auto resources = m_resource->resources(); + currentTypes.reserve(resources.size()); + for (ResourcePolicy::Resource *resource : resources) currentTypes << resource->type(); - foreach (ResourcePolicy::ResourceType resourceType, currentTypes - requestedTypes) + const auto diffCurrentWithRequested = currentTypes - requestedTypes; + for (ResourcePolicy::ResourceType resourceType : diffCurrentWithRequested) m_resource->deleteResource(resourceType); - foreach (ResourcePolicy::ResourceType resourceType, requestedTypes - currentTypes) { + const auto diffRequestedWithCurrent = requestedTypes - currentTypes; + for (ResourcePolicy::ResourceType resourceType : diffRequestedWithCurrent) { if (resourceType == ResourcePolicy::LensCoverType) { ResourcePolicy::LensCoverResource *lensCoverResource = new ResourcePolicy::LensCoverResource; lensCoverResource->setOptional(true); @@ -169,7 +173,8 @@ void CamerabinResourcePolicy::setResourceSet(CamerabinResourcePolicy::ResourceSe bool CamerabinResourcePolicy::isResourcesGranted() const { #ifdef HAVE_RESOURCE_POLICY - foreach (ResourcePolicy::Resource *resource, m_resource->resources()) + const auto resources = m_resource->resources(); + for (ResourcePolicy::Resource *resource : resources) if (!resource->isOptional() && !resource->isGranted()) return false; #endif @@ -218,7 +223,8 @@ void CamerabinResourcePolicy::updateCanCapture() const bool wasAbleToRecord = m_canCapture; m_canCapture = (m_resourceSet == VideoCaptureResources) || (m_resourceSet == ImageCaptureResources); #ifdef HAVE_RESOURCE_POLICY - foreach (ResourcePolicy::Resource *resource, m_resource->resources()) { + const auto resources = m_resource->resources(); + for (ResourcePolicy::Resource *resource : resources) { if (resource->type() != ResourcePolicy::LensCoverType) m_canCapture = m_canCapture && resource->isGranted(); } diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp index 3dd200c54..95624f711 100644 --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp @@ -496,8 +496,8 @@ GstElement *CameraBinSession::buildCameraSource() const QByteArray envVideoSource = qgetenv("QT_GSTREAMER_CAMERABIN_VIDEOSRC"); if (!envVideoSource.isEmpty()) { - QList sources = envVideoSource.split(','); - foreach (const QByteArray &source, sources) { + const QList sources = envVideoSource.split(','); + for (const QByteArray &source : sources) { QList keyValue = source.split('='); if (keyValue.count() == 1) { m_videoSrc = gst_element_factory_make(keyValue.at(0), "camera_source"); @@ -1363,7 +1363,7 @@ QList CameraBinSession::supportedResolutions(QPair rate, //if the range is continuos, populate is with the common rates if (isContinuous && res.size() >= 2) { //fill the ragne with common value - static QList commonSizes = + static const QList commonSizes = QList() << QSize(128, 96) << QSize(160,120) << QSize(176, 144) @@ -1385,7 +1385,7 @@ QList CameraBinSession::supportedResolutions(QPair rate, QSize maxSize = res.last(); res.clear(); - foreach (const QSize &candidate, commonSizes) { + for (const QSize &candidate : commonSizes) { int w = candidate.width(); int h = candidate.height(); diff --git a/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp b/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp index 2d53af1fb..12336ea43 100644 --- a/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp @@ -71,9 +71,9 @@ QList< qreal > CameraBinVideoEncoder::supportedFrameRates(const QVideoEncoderSet *continuous = false; QList< qreal > res; - QPair rate; - foreach(rate, m_session->supportedFrameRates(settings.resolution(), continuous)) { + const auto rates = m_session->supportedFrameRates(settings.resolution(), continuous); + for (const auto &rate : rates) { if (rate.second > 0) res << qreal(rate.first)/rate.second; } @@ -141,7 +141,7 @@ QPair CameraBinVideoEncoder::rateAsRational(qreal frameRate) const int num = 1; int denum = 1; - foreach (int curDenum, denumCandidates) { + for (int curDenum : qAsConst(denumCandidates)) { int curNum = qRound(frameRate*curDenum); qreal curError = qAbs(qreal(curNum)/curDenum - frameRate); diff --git a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp index b7693c18a..2528bbec1 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp @@ -77,7 +77,7 @@ QGstreamerAudioEncode::QGstreamerAudioEncode(QObject *parent) m_codecOptions["audio/AMR"] = QStringList(); m_codecOptions["audio/AMR-WB"] = QStringList(); - foreach( const QByteArray& codecName, codecCandidates ) { + for (const QByteArray& codecName : qAsConst(codecCandidates)) { QByteArray elementName = m_elementNames[codecName]; GstElementFactory *factory = gst_element_factory_find(elementName.constData()); diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.cpp index a5f91f193..57b968b77 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.cpp @@ -74,7 +74,8 @@ int QGstreamerImageCaptureControl::capture(const QString &fileName) if (path.isEmpty()) { int lastImage = 0; QDir outputDir = QDir::currentPath(); - foreach(QString fileName, outputDir.entryList(QStringList() << "img_*.jpg")) { + const auto list = outputDir.entryList(QStringList() << "img_*.jpg"); + for (const QString &fileName : list) { int imgNumber = fileName.midRef(4, fileName.size()-8).toInt(); lastImage = qMax(lastImage, imgNumber); } diff --git a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp index 338af5255..41b049d5d 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp @@ -71,7 +71,7 @@ QGstreamerMediaContainerControl::QGstreamerMediaContainerControl(QObject *parent QSet allTypes; - foreach( const QByteArray& formatName, formatCandidates ) { + for (const QByteArray& formatName : qAsConst(formatCandidates)) { QByteArray elementName = m_elementNames[formatName]; GstElementFactory *factory = gst_element_factory_find(elementName.constData()); if (factory) { diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp index 91bfd67f3..d30a2fe6f 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp @@ -242,7 +242,7 @@ void QGstreamerRecorderControl::applySettings() QString audioCodec; QString videoCodec; - foreach (const QString &containerCandidate, containerCandidates) { + for (const QString &containerCandidate : qAsConst(containerCandidates)) { QSet supportedTypes = mediaContainerControl->supportedStreamTypes(containerCandidate); audioCodec.clear(); @@ -250,7 +250,7 @@ void QGstreamerRecorderControl::applySettings() if (needAudio) { bool found = false; - foreach (const QString &audioCandidate, audioCandidates) { + for (const QString &audioCandidate : qAsConst(audioCandidates)) { QSet audioTypes = audioEncodeControl->supportedStreamTypes(audioCandidate); if (audioTypes.intersects(supportedTypes)) { found = true; @@ -264,7 +264,7 @@ void QGstreamerRecorderControl::applySettings() if (needVideo) { bool found = false; - foreach (const QString &videoCandidate, videoCandidates) { + for (const QString &videoCandidate : qAsConst(videoCandidates)) { QSet videoTypes = videoEncodeControl->supportedStreamTypes(videoCandidate); if (videoTypes.intersects(supportedTypes)) { found = true; @@ -339,7 +339,7 @@ QDir QGstreamerRecorderControl::defaultDir() const dirCandidates << QDir::currentPath(); dirCandidates << QDir::tempPath(); - foreach (const QString &path, dirCandidates) { + for (const QString &path : qAsConst(dirCandidates)) { QDir dir(path); if (dir.exists() && QFileInfo(path).isWritable()) return dir; @@ -352,7 +352,8 @@ QString QGstreamerRecorderControl::generateFileName(const QDir &dir, const QStri { int lastClip = 0; - foreach(QString fileName, dir.entryList(QStringList() << QString("clip_*.%1").arg(ext))) { + const auto list = dir.entryList(QStringList() << QString("clip_*.%1").arg(ext)); + for (const QString &fileName : list) { int imgNumber = fileName.midRef(5, fileName.size()-6-ext.length()).toInt(); lastClip = qMax(lastClip, imgNumber); } diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp index 600a492e7..65e19ad2e 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp @@ -138,7 +138,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) //get the list of resolutions: - foreach (quint32 format, supportedFormats) { + for (quint32 format : qAsConst(supportedFormats)) { struct v4l2_frmsizeenum formatSize; memset(&formatSize, 0, sizeof(formatSize)); formatSize.pixel_format = format; @@ -161,7 +161,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) sizeList.append(QSize(formatSize.discrete.width, formatSize.discrete.height)); } else { - foreach (const QSize& candidate, commonSizes) { + for (const QSize& candidate : qAsConst(commonSizes)) { if (candidate.width() <= (int)formatSize.stepwise.max_width && candidate.height() >= (int)formatSize.stepwise.min_width && candidate.width() % formatSize.stepwise.step_width == 0 && @@ -185,7 +185,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) //and frameRates for each resolution. - foreach (const QSize &s, sizeList) { + for (const QSize &s : qAsConst(sizeList)) { allResolutions.insert(s); struct v4l2_frmivalenum formatInterval; @@ -221,7 +221,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) formatInterval.stepwise.max.numerator); - foreach (int candidate, commonRates) { + for (int candidate : qAsConst(commonRates)) { if (candidate >= minRate && candidate <= maxRate) frameRates.append(candidate); } @@ -242,7 +242,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) f.close(); - foreach(int rate, allFrameRates) { + for (int rate : qAsConst(allFrameRates)) { m_frameRates.append(rate/1000.0); } @@ -262,7 +262,9 @@ QList QGstreamerV4L2Input::supportedFrameRates(const QSize &frameSize) co return m_frameRates; else { QList res; - foreach(int rate, m_ratesByResolution[frameSize]) { + const auto rates = m_ratesByResolution[frameSize]; + res.reserve(rates.size()); + for (int rate : rates) { res.append(rate/1000.0); } return res; diff --git a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp index 543603c6d..172845d7c 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp @@ -59,7 +59,7 @@ QGstreamerVideoEncode::QGstreamerVideoEncode(QGstreamerCaptureSession *session) m_codecOptions["video/mpeg2"] = QStringList() << "quantizer"; m_codecOptions["video/theora"] = QStringList(); - foreach( const QByteArray& codecName, codecCandidates ) { + for (const QByteArray& codecName : qAsConst(codecCandidates)) { QByteArray elementName = m_elementNames[codecName]; GstElementFactory *factory = gst_element_factory_find(elementName.constData()); if (factory) { @@ -293,7 +293,7 @@ QPair QGstreamerVideoEncode::rateAsRational() const int num = 1; int denum = 1; - foreach (int curDenum, denumCandidates) { + for (int curDenum : qAsConst(denumCandidates)) { int curNum = qRound(frameRate*curDenum); qreal curError = qAbs(qreal(curNum)/curDenum - frameRate); diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp index c3d20e790..19496977b 100644 --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp @@ -1524,7 +1524,8 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) { GstStructure *extras = qt_gst_structure_new_empty("extras"); - foreach (const QByteArray &rawHeader, self->m_request.rawHeaderList()) { + const auto rawHeaderList = self->m_request.rawHeaderList(); + for (const QByteArray &rawHeader : rawHeaderList) { if (rawHeader == userAgentString) // Filter User-Agent continue; else { -- cgit v1.2.3