From 1afe2ed975a71e72f37a34a9561dede342985be7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 3 May 2016 10:34:42 +0200 Subject: DirectShow: Invoke IGraphBuilder::AddSourceFilter() with local file name. When possible, convert the URL to a local file name with native separators. The method seems to accept URLs with file scheme, but fails when passing UNC paths. Task-number: QTBUG-53114 Change-Id: Ib7418090080be8c1b8472e77541e686adaa3a18a Reviewed-by: Yoann Lopes --- src/plugins/directshow/player/directshowplayerservice.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/plugins/directshow/player/directshowplayerservice.cpp') diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 73279accb..57f100b9c 100644 --- a/src/plugins/directshow/player/directshowplayerservice.cpp +++ b/src/plugins/directshow/player/directshowplayerservice.cpp @@ -63,6 +63,7 @@ #include #include +#include #include #include @@ -333,8 +334,10 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker) if (!SUCCEEDED(hr)) { locker->unlock(); + const QString urlString = m_url.isLocalFile() + ? QDir::toNativeSeparators(m_url.toLocalFile()) : m_url.toString(); hr = m_graph->AddSourceFilter( - reinterpret_cast(m_url.toString().utf16()), L"Source", &source); + reinterpret_cast(urlString.utf16()), L"Source", &source); locker->relock(); } -- cgit v1.2.1