summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/3rdparty/phonon/gstreamer/mediaobject.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
index 13f973447c..71cd87f2e3 100644
--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
@@ -904,8 +904,21 @@ void MediaObject::setSource(const MediaSource &source)
case MediaSource::Disc: // CD tracks can be specified by setting the url in the following way uri=cdda:4
{
- QUrl cdurl(QLatin1String("cdda://"));
- if (createPipefromURL(cdurl))
+ QUrl url;
+ switch (source.discType()) {
+ case Phonon::Cd:
+ url = QUrl(QLatin1String("cdda://"));
+ break;
+ case Phonon::Dvd:
+ url = QUrl(QLatin1String("dvd://"));
+ break;
+ case Phonon::Vcd:
+ url = QUrl(QLatin1String("vcd://"));
+ break;
+ default:
+ break;
+ }
+ if (!url.isEmpty() && createPipefromURL(url))
m_loading = true;
else
setError(tr("Could not open media source."));