diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-19 06:36:02 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-19 06:36:20 +0200 |
commit | 9ee131c416eb3a876c4072a29976cc56623aabc7 (patch) | |
tree | 05d15016c11d63dfeae18fe92371a9a2f45219b5 | |
parent | 1df147d5337622ea979eb1319c97d8278b70d864 (diff) | |
parent | 3e70c65d2c628c9a5630904c3ae6bda6671f1ea5 (diff) | |
download | qtmultimedia-9ee131c416eb3a876c4072a29976cc56623aabc7.tar.gz |
Merge remote-tracking branch 'origin/5.6.1' into 5.6
Change-Id: Iaecbb5c4a33bf0eaffa4f1896bdc09751b1f04c4
-rw-r--r-- | src/multimedia/doc/qtmultimedia.qdocconf | 3 | ||||
-rw-r--r-- | src/plugins/winrt/qwinrtcameracontrol.cpp | 33 |
2 files changed, 24 insertions, 12 deletions
diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf index 2ea23e2ee..e3d3827c5 100644 --- a/src/multimedia/doc/qtmultimedia.qdocconf +++ b/src/multimedia/doc/qtmultimedia.qdocconf @@ -43,9 +43,6 @@ qhp.QtMultimedia.subprojects.examples.sortPages = true exampledirs += ../../../examples \ snippets -# Specify example install dir under QT_INSTALL_EXAMPLES -examplesinstallpath = qtmultimedia - headerdirs += ../.. imagedirs += src/images \ diff --git a/src/plugins/winrt/qwinrtcameracontrol.cpp b/src/plugins/winrt/qwinrtcameracontrol.cpp index ae42c8fa5..5c41987a0 100644 --- a/src/plugins/winrt/qwinrtcameracontrol.cpp +++ b/src/plugins/winrt/qwinrtcameracontrol.cpp @@ -101,15 +101,30 @@ HRESULT getMediaStreamResolutions(IMediaDeviceController *device, ComPtr<IMediaEncodingProperties> properties; hr = (*propertiesList)->GetAt(index, &properties); Q_ASSERT_SUCCEEDED(hr); - ComPtr<IVideoEncodingProperties> videoProperties; - hr = properties.As(&videoProperties); - Q_ASSERT_SUCCEEDED(hr); - UINT32 width, height; - hr = videoProperties->get_Width(&width); - Q_ASSERT_SUCCEEDED(hr); - hr = videoProperties->get_Height(&height); - Q_ASSERT_SUCCEEDED(hr); - resolutions->append(QSize(width, height)); + if (type == MediaStreamType_VideoRecord || type == MediaStreamType_VideoPreview) { + ComPtr<IVideoEncodingProperties> videoProperties; + hr = properties.As(&videoProperties); + Q_ASSERT_SUCCEEDED(hr); + UINT32 width, height; + hr = videoProperties->get_Width(&width); + Q_ASSERT_SUCCEEDED(hr); + hr = videoProperties->get_Height(&height); + Q_ASSERT_SUCCEEDED(hr); + resolutions->append(QSize(width, height)); + } else if (type == MediaStreamType_Photo) { + ComPtr<IImageEncodingProperties> imageProperties; + hr = properties.As(&imageProperties); + // Asking for Photo also returns video resolutions in addition + // We skip those, as we are only interested in image Type + if (FAILED(hr) || !imageProperties) + continue; + UINT32 width, height; + hr = imageProperties->get_Width(&width); + Q_ASSERT_SUCCEEDED(hr); + hr = imageProperties->get_Height(&height); + Q_ASSERT_SUCCEEDED(hr); + resolutions->append(QSize(width, height)); + } } return resolutions->isEmpty() ? MF_E_INVALID_FORMAT : hr; } |