summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/multimedia/player/player.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/demos/multimedia/player/player.cpp b/demos/multimedia/player/player.cpp
index 6ba19fd..bf314ee 100644
--- a/demos/multimedia/player/player.cpp
+++ b/demos/multimedia/player/player.cpp
@@ -171,11 +171,22 @@ Player::Player(QWidget *parent)
metaDataChanged();
- QStringList fileNames = qApp->arguments();
- fileNames.removeAt(0);
- foreach (QString const &fileName, fileNames) {
- if (QFileInfo(fileName).exists())
- playlist->addMedia(QUrl::fromLocalFile(fileName));
+ QStringList arguments = qApp->arguments();
+ arguments.removeAt(0);
+ foreach (QString const &argument, arguments) {
+ QFileInfo fileInfo(argument);
+ if (fileInfo.exists()) {
+ QUrl url = QUrl::fromLocalFile(fileInfo.absoluteFilePath());
+ if (fileInfo.suffix().toLower() == QLatin1String("m3u")) {
+ playlist->load(url);
+ } else
+ playlist->addMedia(url);
+ } else {
+ QUrl url(argument);
+ if (url.isValid()) {
+ playlist->addMedia(url);
+ }
+ }
}
}