summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2017-03-20 15:28:42 +0100
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2017-03-21 08:56:02 +0000
commit819dbf9432e1062cc952b4fdfa1518ee16c15f1b (patch)
tree7ba12a1d6e033ae04b04f1b75118ba833a4b1186 /src
parent703f0ec4cba205e8adae8cf36c29ee62149941fb (diff)
winrt: Fix video playback without autoplay enabled
We have to ensure that a device handle is present and valid when calling setSource. Otherwise the engine switches into an error state when trying to continue loading. With autoPlay enabled that implicitly happened. Task-number: QTBUG-58152 Change-Id: Id504efd9b1b77b418ae05baed3ac0c52852cf49e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/winrt/qwinrtmediaplayercontrol.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/winrt/qwinrtmediaplayercontrol.cpp b/src/plugins/winrt/qwinrtmediaplayercontrol.cpp
index a4df6306f..9fd48fd76 100644
--- a/src/plugins/winrt/qwinrtmediaplayercontrol.cpp
+++ b/src/plugins/winrt/qwinrtmediaplayercontrol.cpp
@@ -786,8 +786,12 @@ void QWinRTMediaPlayerControl::setMedia(const QMediaContent &media, QIODevice *s
if (d->stream) {
hr = d->engine->SetSourceFromByteStream(d->streamProvider.Get(),
reinterpret_cast<BSTR>(urlString.data()));
- if (FAILED(hr))
+ if (FAILED(hr)) {
emit error(QMediaPlayer::ResourceError, qt_error_string(hr));
+ return;
+ }
+ if (d->videoRenderer)
+ d->videoRenderer->ensureReady();
return;
}