summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-19 06:36:02 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-19 06:36:20 +0200
commit9ee131c416eb3a876c4072a29976cc56623aabc7 (patch)
tree05d15016c11d63dfeae18fe92371a9a2f45219b5
parent1df147d5337622ea979eb1319c97d8278b70d864 (diff)
parent3e70c65d2c628c9a5630904c3ae6bda6671f1ea5 (diff)
downloadqtmultimedia-9ee131c416eb3a876c4072a29976cc56623aabc7.tar.gz
Merge remote-tracking branch 'origin/5.6.1' into 5.6
Change-Id: Iaecbb5c4a33bf0eaffa4f1896bdc09751b1f04c4
-rw-r--r--src/multimedia/doc/qtmultimedia.qdocconf3
-rw-r--r--src/plugins/winrt/qwinrtcameracontrol.cpp33
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;
}