summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Bache-Wiig <jbache@trolltech.com>2010-07-07 13:38:22 (GMT)
committerJens Bache-Wiig <jbache@trolltech.com>2010-07-07 13:41:00 (GMT)
commit495dfda1bea31017d08a435dcb61b43b4df81d24 (patch)
tree41fb07da9b02ae52e41ad1fd8da8edfa657ab8dd
parent6f6ec0ee680c7d4b5cf70116e756cca90668fd90 (diff)
downloadQt-495dfda1bea31017d08a435dcb61b43b4df81d24.zip
Qt-495dfda1bea31017d08a435dcb61b43b4df81d24.tar.gz
Qt-495dfda1bea31017d08a435dcb61b43b4df81d24.tar.bz2
Phonon MediaSource fails to load when passed as a resource file
Files fail to load when passing resoure path to mediasource. The original regression seems to be caused by a behavior change as reported here: http://bugreports.qt.nokia.com/browse/QTBUG-12015 Note a merge request is also pending on Gitorious http://gitorious.org/phonon/phonon/merge_requests/17 Task-number: QTBUG-9323 Reviewed-by: thierry
-rw-r--r--src/3rdparty/phonon/phonon/mediasource.cpp2
-rw-r--r--tests/auto/mediaobject/tst_mediaobject.cpp3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/3rdparty/phonon/phonon/mediasource.cpp b/src/3rdparty/phonon/phonon/mediasource.cpp
index be22dc3..11d2428 100644
--- a/src/3rdparty/phonon/phonon/mediasource.cpp
+++ b/src/3rdparty/phonon/phonon/mediasource.cpp
@@ -50,7 +50,7 @@ MediaSource::MediaSource(const QString &filename)
const QFileInfo fileInfo(filename);
if (fileInfo.exists()) {
bool localFs = QAbstractFileEngine::LocalDiskFlag & QFSFileEngine(filename).fileFlags(QAbstractFileEngine::LocalDiskFlag);
- if (localFs) {
+ if (localFs && !filename.startsWith(QLatin1String(":/")) && !filename.startsWith(QLatin1String("qrc://"))) {
d->url = QUrl::fromLocalFile(fileInfo.absoluteFilePath());
} else {
#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
diff --git a/tests/auto/mediaobject/tst_mediaobject.cpp b/tests/auto/mediaobject/tst_mediaobject.cpp
index 994057b..2f98521 100644
--- a/tests/auto/mediaobject/tst_mediaobject.cpp
+++ b/tests/auto/mediaobject/tst_mediaobject.cpp
@@ -204,9 +204,8 @@ void tst_MediaObject::testPlayFromResource()
#ifdef Q_OS_SYMBIAN
QSKIP("Not implemented yet.", SkipAll);
#else
- QFile file(MEDIA_FILEPATH);
MediaObject media;
- media.setCurrentSource(&file);
+ media.setCurrentSource(QString(MEDIA_FILEPATH));
QVERIFY(media.state() != Phonon::ErrorState);
if (media.state() != Phonon::StoppedState)
QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000);