diff options
author | Tim Blechmann <tim@klingt.org> | 2024-04-03 18:55:06 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-04-10 07:38:49 +0800 |
commit | 1c8831aa673381032b4280fe32bdfc3c293be3c2 (patch) | |
tree | 90cef9aca4c95828f24eabe710262c292d203da1 /src/multimedia/playback | |
parent | ff7cea599a53f006801b65a0b7b7dbc0758e8ccb (diff) |
utils: factor `qMediaFromUserInput` out of QMediaPlayer
`qMediaFromUserInput` resolves a local file and adds a `file://` prefix
if necessary, which is required by gstreamer. Factoring it out so that
it can be used from other places.
Pick-to: 6.5 6.6 6.7
Change-Id: I6323198913d349269169b6d36712456efbca0253
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'src/multimedia/playback')
-rw-r--r-- | src/multimedia/playback/qmediaplayer.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index a5b43dc32..dc8e3dab8 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -3,6 +3,7 @@ #include "qmediaplayer_p.h" +#include <private/qmultimediautils_p.h> #include <private/qplatformmediaintegration_p.h> #include <qvideosink.h> #include <qaudiooutput.h> @@ -11,10 +12,10 @@ #include <QtCore/qmetaobject.h> #include <QtCore/qtimer.h> #include <QtCore/qdebug.h> +#include <QtCore/qdir.h> #include <QtCore/qpointer.h> #include <QtCore/qfileinfo.h> #include <QtCore/qtemporaryfile.h> -#include <QtCore/qdir.h> #include <QtCore/qcoreapplication.h> #if defined(Q_OS_ANDROID) @@ -188,9 +189,7 @@ void QMediaPlayerPrivate::setMedia(const QUrl &media, QIODevice *stream) } } else { qrcMedia = QUrl(); - QUrl url = media; - if (url.scheme().isEmpty() || url.scheme() == QLatin1String("file")) - url = QUrl::fromUserInput(media.toString(), QDir::currentPath(), QUrl::AssumeLocalFile); + QUrl url = qMediaFromUserInput(media); if (url.scheme() == QLatin1String("content") && !stream) { file.reset(new QFile(media.url())); stream = file.get(); |