summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2025-04-22 16:23:14 +0200
committerAhmad Samir <a.samirh78@gmail.com>2025-12-11 12:33:59 +0200
commit57d16c28f554021e7e294658819abd9af2e31e09 (patch)
tree42c589f4c068c91e28427729e219f1af118c7bac
parente0f2206ee2bf639b82072b7bac9e6deab9e26f31 (diff)
Mark the whole repo (minus examples) with QT_NO_URL_CAST_FROM_STRING
examples will be compiled with QT_NO_URL_CAST_FROM_STRING in a separate commit. Use QUrl::fromLocalFile() where it's obvious the path is a local file. Use QCOMPARE() instead of QVERIFY(a == b). Drive-by, use Qt string literals. Pick-to: 6.11 Change-Id: I2fa3e02ccdd36e66e135435e324f38ae61e0e201 Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
-rw-r--r--.cmake.conf1
-rw-r--r--src/multimediatestlib/capturesessionfixture.cpp2
-rw-r--r--src/multimediatestlib/mediafileselector_p.h4
-rw-r--r--src/plugins/multimedia/android/audio/qandroidaudiodecoder.cpp2
-rw-r--r--src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediarecorder.cpp2
-rw-r--r--src/plugins/multimedia/gstreamer/uri_handler/qgstreamer_qrc_handler.cpp2
-rw-r--r--src/plugins/multimedia/qnx/capture/qqnxaudiorecorder.cpp2
-rw-r--r--tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp6
-rw-r--r--tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp3
-rw-r--r--tests/auto/integration/qmediacapturesession/tst_qmediacapturesession.cpp4
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp10
-rw-r--r--tests/auto/integration/qscreencapturebackend/tst_qscreencapturebackend.cpp3
-rw-r--r--tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp8
-rw-r--r--tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp8
-rw-r--r--tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp4
-rw-r--r--tests/auto/unit/plugins/multimedia/gstreamer/qmediaplayer_gstreamer/tst_qmediaplayer_gstreamer.cpp6
16 files changed, 39 insertions, 28 deletions
diff --git a/.cmake.conf b/.cmake.conf
index f3c2200fe..caa222858 100644
--- a/.cmake.conf
+++ b/.cmake.conf
@@ -6,6 +6,7 @@ set(QT_EXTRA_INTERNAL_TARGET_DEFINES
"QT_NO_FOREACH=1"
"QT_NO_CONTEXTLESS_CONNECT=1"
"QT_NO_QPAIR=1"
+ "QT_NO_URL_CAST_FROM_STRING=1"
"QT_USE_NODISCARD_FILE_OPEN=1"
)
diff --git a/src/multimediatestlib/capturesessionfixture.cpp b/src/multimediatestlib/capturesessionfixture.cpp
index 8e6c04dc3..b132c082e 100644
--- a/src/multimediatestlib/capturesessionfixture.cpp
+++ b/src/multimediatestlib/capturesessionfixture.cpp
@@ -69,7 +69,7 @@ void CaptureSessionFixture::start(RunMode mode, AutoStop autoStop)
} else {
m_tempFile.close();
- m_recorder.setOutputLocation(m_tempFile.fileName());
+ m_recorder.setOutputLocation(QUrl::fromLocalFile(m_tempFile.fileName()));
}
}
// else: outputLocation has been already set
diff --git a/src/multimediatestlib/mediafileselector_p.h b/src/multimediatestlib/mediafileselector_p.h
index 37b5a1454..cbc9e761c 100644
--- a/src/multimediatestlib/mediafileselector_p.h
+++ b/src/multimediatestlib/mediafileselector_p.h
@@ -76,7 +76,7 @@ public:
}
if (foundUrl.isEmpty() && emplaceRes.first->second.isEmpty())
- foundUrl = media;
+ foundUrl.setUrl(media);
}
if (!foundUrl.isEmpty())
@@ -118,7 +118,7 @@ private:
player.setAudioOutput(&audioOutput);
player.setVideoOutput(&videoOutput);
- player.setSource(media);
+ player.setSource(QUrl{media});
player.play();
const auto waitingFinished = QTest::qWaitFor([&]() {
diff --git a/src/plugins/multimedia/android/audio/qandroidaudiodecoder.cpp b/src/plugins/multimedia/android/audio/qandroidaudiodecoder.cpp
index f5ab58e2a..6583dea30 100644
--- a/src/plugins/multimedia/android/audio/qandroidaudiodecoder.cpp
+++ b/src/plugins/multimedia/android/audio/qandroidaudiodecoder.cpp
@@ -416,7 +416,7 @@ bool QAndroidAudioDecoder::createTempFile()
file.close();
m_deviceBuffer.clear();
if (success)
- m_decoder->setSource(file.fileName());
+ m_decoder->setSource(QUrl::fromLocalFile(file.fileName()));
return success;
}
diff --git a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediarecorder.cpp b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediarecorder.cpp
index 1458c966d..d7e301ee1 100644
--- a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediarecorder.cpp
+++ b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediarecorder.cpp
@@ -268,7 +268,7 @@ void QGstreamerMediaRecorder::record(QMediaEncoderSettings &settings)
auto container = settings.preferredSuffix();
auto location = QMediaStorageLocation::generateFileName(outputLocation().toLocalFile(), primaryLocation, container);
- QUrl actualSink = QUrl::fromLocalFile(QDir::currentPath()).resolved(location);
+ QUrl actualSink = QUrl::fromLocalFile(QDir::currentPath()).resolved(QUrl{location});
qCDebug(qLcMediaRecorder) << "recording new video to" << actualSink;
Q_ASSERT(!actualSink.isEmpty());
diff --git a/src/plugins/multimedia/gstreamer/uri_handler/qgstreamer_qrc_handler.cpp b/src/plugins/multimedia/gstreamer/uri_handler/qgstreamer_qrc_handler.cpp
index aa2767055..b8457634c 100644
--- a/src/plugins/multimedia/gstreamer/uri_handler/qgstreamer_qrc_handler.cpp
+++ b/src/plugins/multimedia/gstreamer/uri_handler/qgstreamer_qrc_handler.cpp
@@ -207,7 +207,7 @@ bool QGstQrcSrc::setURI(const char *location, GError **err)
}
}
- std::optional<QString> path = qQUrlToQrcPath(QString::fromUtf8(location));
+ std::optional<QString> path = qQUrlToQrcPath(QUrl::fromEncoded(location));
{
std::lock_guard guard{ *this };
diff --git a/src/plugins/multimedia/qnx/capture/qqnxaudiorecorder.cpp b/src/plugins/multimedia/qnx/capture/qqnxaudiorecorder.cpp
index 85d2b17a2..eb85c8a08 100644
--- a/src/plugins/multimedia/qnx/capture/qqnxaudiorecorder.cpp
+++ b/src/plugins/multimedia/qnx/capture/qqnxaudiorecorder.cpp
@@ -100,7 +100,7 @@ void QQnxAudioRecorder::attach()
qWarning("QQnxAudioRecorder: mmr_input_attach() failed");
detach();
} else {
- Q_EMIT actualLocationChanged(location);
+ Q_EMIT actualLocationChanged(QUrl{location});
}
}
diff --git a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
index 47ff13963..5aaad550c 100644
--- a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
+++ b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
@@ -376,7 +376,7 @@ void tst_QAudioDecoderBackend::fileTest()
QVERIFY(!d.isDecoding());
QVERIFY(d.bufferAvailable() == false);
- QCOMPARE(d.source(), QStringLiteral(""));
+ QCOMPARE(d.source(), QUrl{});
QVERIFY(d.audioFormat() == QAudioFormat());
// Test local file
@@ -565,7 +565,7 @@ void tst_QAudioDecoderBackend::unsupportedFileTest()
QVERIFY(!d.isDecoding());
QVERIFY(d.bufferAvailable() == false);
- QCOMPARE(d.source(), QStringLiteral(""));
+ QCOMPARE(d.source(), QUrl{});
QVERIFY(d.audioFormat() == QAudioFormat());
// Test local file
@@ -821,7 +821,7 @@ void tst_QAudioDecoderBackend::deviceTest()
QVERIFY(!d.isDecoding());
QVERIFY(d.bufferAvailable() == false);
- QCOMPARE(d.source(), QStringLiteral(""));
+ QCOMPARE(d.source(), QUrl{});
QVERIFY(d.audioFormat() == QAudioFormat());
QFile file(m_wavFile->toString());
QVERIFY(file.open(QIODevice::ReadOnly));
diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
index cee0e5beb..a7537c8fe 100644
--- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
+++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
@@ -722,7 +722,8 @@ void tst_QCameraBackend::testVideoRecording()
QVERIFY(QFileInfo(fileName).size() > 0);
QMediaPlayer player;
- player.setSource(fileName);
+ // Should this be recorder.actualLocation() instead?
+ player.setSource(QUrl::fromLocalFile(fileName));
QTRY_COMPARE_WITH_TIMEOUT(player.mediaStatus(), QMediaPlayer::LoadedMedia, 8s);
QCOMPARE_EQ(player.metaData().value(QMediaMetaData::Resolution).toSize(), QSize(320, 240));
diff --git a/tests/auto/integration/qmediacapturesession/tst_qmediacapturesession.cpp b/tests/auto/integration/qmediacapturesession/tst_qmediacapturesession.cpp
index 636548cce..b9214aca4 100644
--- a/tests/auto/integration/qmediacapturesession/tst_qmediacapturesession.cpp
+++ b/tests/auto/integration/qmediacapturesession/tst_qmediacapturesession.cpp
@@ -34,6 +34,8 @@
#include <private/mediabackendutils_p.h>
+using namespace Qt::StringLiterals;
+
QT_USE_NAMESPACE
// NOLINTBEGIN(readability-convert-member-functions-to-static)
@@ -1226,7 +1228,7 @@ void tst_QMediaCaptureSession::testAudioMute()
session.setAudioInput(&audioInput);
session.setCamera(nullptr);
- recorder.setOutputLocation(QStringLiteral("test"));
+ recorder.setOutputLocation(QUrl{u"test"_s});
QSignalSpy spy(&audioInput, &QAudioInput::mutedChanged);
QSignalSpy durationChanged(&recorder, &QMediaRecorder::durationChanged);
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 1fded0616..9e4c874bb 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -1221,7 +1221,7 @@ void tst_QMediaPlayerBackend::
void tst_QMediaPlayerBackend::pause_doesNotChangePlayerState_whenInvalidFileLoaded()
{
- m_fixture->player.setSource({ "Some not existing media" });
+ m_fixture->player.setSource(QUrl{u"Some not existing media"_s});
QTRY_COMPARE_EQ(m_fixture->player.error(), QMediaPlayer::ResourceError);
const MediaPlayerState expectedState{ m_fixture->player };
@@ -1321,7 +1321,7 @@ void tst_QMediaPlayerBackend::pause_playback_resumesFromPausedPosition()
void tst_QMediaPlayerBackend::play_doesNotResetErrorState_whenCalledWithInvalidFile()
{
- m_fixture->player.setSource({ "Some not existing media" });
+ m_fixture->player.setSource(QUrl{u"Some not existing media"_s});
QTRY_COMPARE_EQ(m_fixture->player.error(), QMediaPlayer::ResourceError);
MediaPlayerState expectedState{ m_fixture->player };
@@ -1530,7 +1530,7 @@ void tst_QMediaPlayerBackend::
// Ignore audio output to check timings accuratelly
// player.setAudioOutput(&output);
- player.setSource(streamUrl);
+ player.setSource(QUrl{streamUrl});
player.play();
@@ -3418,7 +3418,7 @@ void tst_QMediaPlayerBackend::durationDetectionIssues()
player.setVideoOutput(&surface);
player.setAudioOutput(&output);
- player.setSource(mediaFile);
+ player.setSource(QUrl{mediaFile});
QTRY_COMPARE_EQ(player.mediaStatus(), QMediaPlayer::LoadedMedia);
@@ -3916,7 +3916,7 @@ void tst_QMediaPlayerBackend::nonAsciiFileName()
copyResourceToTemporaryFile(":/testdata/test.wav", "äöüØøÆ中文.XXXXXX.wav");
QVERIFY(temporaryFile);
- m_fixture->player.setSource(temporaryFile->fileName());
+ m_fixture->player.setSource(QUrl::fromLocalFile(temporaryFile->fileName()));
m_fixture->player.play();
QTRY_VERIFY(m_fixture->player.mediaStatus() == QMediaPlayer::BufferedMedia
diff --git a/tests/auto/integration/qscreencapturebackend/tst_qscreencapturebackend.cpp b/tests/auto/integration/qscreencapturebackend/tst_qscreencapturebackend.cpp
index 99493fb16..606d63249 100644
--- a/tests/auto/integration/qscreencapturebackend/tst_qscreencapturebackend.cpp
+++ b/tests/auto/integration/qscreencapturebackend/tst_qscreencapturebackend.cpp
@@ -521,7 +521,8 @@ void tst_QScreenCaptureBackend::capture_capturesToFile_whenConnectedToMediaRecor
TestVideoSink sink;
QMediaPlayer player;
- player.setSource(fileName);
+ // Should this be recorder.actualLocation() instead?
+ player.setSource(QUrl::fromLocalFile(fileName));
QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia);
QCOMPARE_EQ(player.metaData().value(QMediaMetaData::Resolution).toSize(),
QSize(videoResolution));
diff --git a/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp b/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp
index 7fce916b2..d38263bc9 100644
--- a/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp
+++ b/tests/auto/unit/multimedia/qaudiodecoder/tst_qaudiodecoder.cpp
@@ -10,6 +10,8 @@
#include "qmockaudiodecoder.h"
#include "qmockintegration.h"
+using namespace Qt::StringLiterals;
+
QT_USE_NAMESPACE
Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN
@@ -41,7 +43,7 @@ void tst_QAudioDecoder::ctors()
QAudioDecoder d;
QVERIFY(!d.isDecoding());
QVERIFY(d.bufferAvailable() == false);
- QCOMPARE(d.source(), QStringLiteral(""));
+ QCOMPARE(d.source(), QUrl{});
d.setSource(QUrl());
QVERIFY(!d.isDecoding());
@@ -245,8 +247,8 @@ void tst_QAudioDecoder::source()
QVERIFY(d.source() == QUrl::fromLocalFile("Foo"));
QVERIFY(d.sourceDevice() == nullptr);
- d.setSource(QString());
- QVERIFY(d.source() == QString());
+ d.setSource(QUrl{});
+ QCOMPARE(d.source(), QUrl{});
QVERIFY(d.sourceDevice() == nullptr);
}
diff --git a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
index 5c88ba62f..4adb5eadd 100644
--- a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
+++ b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
@@ -23,6 +23,8 @@ using namespace std::chrono_literals;
QT_USE_NAMESPACE
+using namespace Qt::StringLiterals;
+
Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN
class AutoConnection
@@ -213,7 +215,7 @@ void tst_QMediaPlayer::cleanup()
void tst_QMediaPlayer::play_doesNotResetError()
{
- player->setSource({ "https://dummy/dummy.mp3" });
+ player->setSource(QUrl{u"https://dummy/dummy.mp3"_s});
mockPlayer->setError(QMediaPlayer::AccessDeniedError);
mockPlayer->setErrorString(QStringLiteral(u"Error"));
@@ -232,7 +234,7 @@ void tst_QMediaPlayer::setSource_resetsError()
mockPlayer->setErrorString(QStringLiteral(u"Error"));
QSignalSpy errorSpy{ player, &QMediaPlayer::errorChanged };
- player->setSource({ "https://dummy/dummy.mp3" });
+ player->setSource(QUrl{u"https://dummy/dummy.mp3"_s});
QCOMPARE_EQ(player->error(), QMediaPlayer::NoError);
QVERIFY(player->errorString().isEmpty());
@@ -245,7 +247,7 @@ void tst_QMediaPlayer::setSourceDevice_resetsError()
mockPlayer->setErrorString(QStringLiteral(u"Error"));
QSignalSpy errorSpy{ player, &QMediaPlayer::errorChanged };
- player->setSourceDevice(nullptr, { "https://dummy/dummy.mp3" });
+ player->setSourceDevice(nullptr, QUrl{u"https://dummy/dummy.mp3"_s});
QCOMPARE_EQ(player->error(), QMediaPlayer::NoError);
QVERIFY(player->errorString().isEmpty());
diff --git a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
index 64f8115e8..2e450c417 100644
--- a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
+++ b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
@@ -378,14 +378,14 @@ void tst_QMediaRecorder::setOutputLocation_resetsActualLocation()
QFETCH(QString, initialOutputLocation);
QFETCH(QString, newOutputLocation);
- encoder->setOutputLocation(initialOutputLocation);
+ encoder->setOutputLocation(QUrl{initialOutputLocation});
encoder->record();
encoder->stop();
QCOMPARE_NE(encoder->actualLocation(), QUrl());
// Act
- encoder->setOutputLocation(newOutputLocation);
+ encoder->setOutputLocation(QUrl{newOutputLocation});
// Assert
QCOMPARE(encoder->actualLocation(), QUrl());
diff --git a/tests/auto/unit/plugins/multimedia/gstreamer/qmediaplayer_gstreamer/tst_qmediaplayer_gstreamer.cpp b/tests/auto/unit/plugins/multimedia/gstreamer/qmediaplayer_gstreamer/tst_qmediaplayer_gstreamer.cpp
index bfb40163c..00a6a463b 100644
--- a/tests/auto/unit/plugins/multimedia/gstreamer/qmediaplayer_gstreamer/tst_qmediaplayer_gstreamer.cpp
+++ b/tests/auto/unit/plugins/multimedia/gstreamer/qmediaplayer_gstreamer/tst_qmediaplayer_gstreamer.cpp
@@ -138,7 +138,7 @@ void tst_QMediaPlayerGStreamer::
void tst_QMediaPlayerGStreamer::setSource_customGStreamerPipeline_videoTest()
{
- player->setSource(u"gstreamer-pipeline: videotestsrc name=testsrc"_s);
+ player->setSource(QUrl{u"gstreamer-pipeline: videotestsrc name=testsrc"_s});
QGstPipeline pipeline = getPipeline();
QTEST_ASSERT(pipeline);
@@ -151,7 +151,9 @@ void tst_QMediaPlayerGStreamer::setSource_customGStreamerPipeline_videoTest()
void tst_QMediaPlayerGStreamer::setSource_customGStreamerPipeline_uriDecodeBin()
{
player->setSource(
- u"gstreamer-pipeline: uridecodebin uri=http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 name=testsrc"_s);
+ QUrl{u"gstreamer-pipeline: uridecodebin "
+ "uri=http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 "
+ "name=testsrc"_s});
QGstPipeline pipeline = getPipeline();
QTEST_ASSERT(pipeline);