summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-09 03:08:11 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2019-07-11 11:45:13 +0200
commit27497df23e68488472f922ead948b034225f9f3b (patch)
tree1d47484f345a0cc0a6147506459c55023eacf504 /src/plugins/directshow
parentbe84c8103b830c4c4bbda7ccfc72aea5b10e779b (diff)
parent1b70bbed49d12af86851a505a5aa5428b9e0c567 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts: .qmake.conf Change-Id: Ic700bdddc5b4ae663af0daae54feb2420c8a1730
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r--src/plugins/directshow/camera/dscamerasession.cpp6
-rw-r--r--src/plugins/directshow/common/directshowmediatype.cpp2
-rw-r--r--src/plugins/directshow/directshow.pro4
3 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp
index 5ab9f67d8..a237811ae 100644
--- a/src/plugins/directshow/camera/dscamerasession.cpp
+++ b/src/plugins/directshow/camera/dscamerasession.cpp
@@ -1137,8 +1137,8 @@ void DSCameraSession::updateSourceCapabilities()
long listSize = 0;
LONGLONG *frameRates = 0;
SIZE size = { resolution.width(), resolution.height() };
- if (SUCCEEDED(pVideoControl->GetFrameRateList(pPin, iIndex, size,
- &listSize, &frameRates))) {
+ hr = pVideoControl->GetFrameRateList(pPin, iIndex, size, &listSize, &frameRates);
+ if (hr == S_OK && listSize > 0 && frameRates) {
for (long i = 0; i < listSize; ++i) {
qreal fr = qreal(10000000) / frameRates[i];
frameRateRanges.append(QCamera::FrameRateRange(fr, fr));
@@ -1147,6 +1147,8 @@ void DSCameraSession::updateSourceCapabilities()
// Make sure higher frame rates come first
std::sort(frameRateRanges.begin(), frameRateRanges.end(), qt_frameRateRangeGreaterThan);
}
+
+ CoTaskMemFree(frameRates);
pPin->Release();
}
}
diff --git a/src/plugins/directshow/common/directshowmediatype.cpp b/src/plugins/directshow/common/directshowmediatype.cpp
index fe86e0204..103f1ddc1 100644
--- a/src/plugins/directshow/common/directshowmediatype.cpp
+++ b/src/plugins/directshow/common/directshowmediatype.cpp
@@ -52,7 +52,7 @@ namespace
{
{ QVideoFrame::Format_ARGB32, MEDIASUBTYPE_ARGB32 },
{ QVideoFrame::Format_RGB32, MEDIASUBTYPE_RGB32 },
- { QVideoFrame::Format_RGB24, MEDIASUBTYPE_RGB24 },
+ { QVideoFrame::Format_BGR24, MEDIASUBTYPE_RGB24 },
{ QVideoFrame::Format_RGB565, MEDIASUBTYPE_RGB565 },
{ QVideoFrame::Format_RGB555, MEDIASUBTYPE_RGB555 },
{ QVideoFrame::Format_AYUV444, MEDIASUBTYPE_AYUV },
diff --git a/src/plugins/directshow/directshow.pro b/src/plugins/directshow/directshow.pro
index e531efc53..27bb3abb8 100644
--- a/src/plugins/directshow/directshow.pro
+++ b/src/plugins/directshow/directshow.pro
@@ -16,6 +16,10 @@ mingw {
DEFINES += NO_DSHOW_STRSAFE
}
+mingw {
+ LIBS_PRIVATE += -lamstrmid
+}
+
include(common/common.pri)
include(player/player.pri)
include(camera/camera.pri)