summaryrefslogtreecommitdiffstats
path: root/src/multimedia/playback/qmediaplayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/playback/qmediaplayer.cpp')
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 6f8cbd6ed..48db0335e 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -183,7 +183,7 @@ bool QMediaPlayerPrivate::isInChain(const QUrl &url)
// Check whether a URL is already in the chain of playlists.
// Also see a comment in parentPlaylist().
for (QMediaPlaylist *current = rootMedia.playlist(); current && current != playlist; current = current->currentMedia().playlist())
- if (current->currentMedia().canonicalUrl() == url) {
+ if (current->currentMedia().request().url() == url) {
return true;
}
return false;
@@ -345,10 +345,10 @@ void QMediaPlayerPrivate::setMedia(const QMediaContent &media, QIODevice *stream
// Backends can't play qrc files directly.
// If the backend supports StreamPlayback, we pass a QFile for that resource.
// If it doesn't, we copy the data to a temporary file and pass its path.
- if (!media.isNull() && !stream && media.canonicalUrl().scheme() == QLatin1String("qrc")) {
+ if (!media.isNull() && !stream && media.request().url().scheme() == QLatin1String("qrc")) {
qrcMedia = media;
- file.reset(new QFile(QLatin1Char(':') + media.canonicalUrl().path()));
+ file.reset(new QFile(QLatin1Char(':') + media.request().url().path()));
if (!file->open(QFile::ReadOnly)) {
QMetaObject::invokeMethod(q, "_q_error", Qt::QueuedConnection,
Q_ARG(int, QMediaPlayer::ResourceError),
@@ -464,11 +464,14 @@ void QMediaPlayerPrivate::loadPlaylist()
// Do not load a playlist if there are more than MAX_NESTED_PLAYLISTS in the chain already,
// or if the playlist URL is already in the chain, i.e. do not allow recursive playlists and loops.
- if (nestedPlaylists < MAX_NESTED_PLAYLISTS && !q->currentMedia().canonicalUrl().isEmpty() && !isInChain(q->currentMedia().canonicalUrl())) {
- pendingPlaylist = QMediaContent(new QMediaPlaylist, q->currentMedia().canonicalUrl(), true);
+ if (nestedPlaylists < MAX_NESTED_PLAYLISTS
+ && !q->currentMedia().request().url().isEmpty()
+ && !isInChain(q->currentMedia().request().url()))
+ {
+ pendingPlaylist = QMediaContent(new QMediaPlaylist, q->currentMedia().request().url(), true);
QObject::connect(pendingPlaylist.playlist(), SIGNAL(loaded()), q, SLOT(_q_handlePlaylistLoaded()));
QObject::connect(pendingPlaylist.playlist(), SIGNAL(loadFailed()), q, SLOT(_q_handlePlaylistLoadFailed()));
- pendingPlaylist.playlist()->load(pendingPlaylist.canonicalRequest());
+ pendingPlaylist.playlist()->load(pendingPlaylist.request());
} else if (playlist) {
playlist->next();
}