diff options
Diffstat (limited to 'src/plugins/directshow/camera/dscamerasession.cpp')
-rw-r--r-- | src/plugins/directshow/camera/dscamerasession.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp index 40e54a94d..3f1187baa 100644 --- a/src/plugins/directshow/camera/dscamerasession.cpp +++ b/src/plugins/directshow/camera/dscamerasession.cpp @@ -334,6 +334,26 @@ void DSCameraSession::setImageProcessingParameter( } } +bool DSCameraSession::getCameraControlInterface(IAMCameraControl **cameraControl) const +{ + if (!m_sourceFilter) { + qCDebug(qtDirectShowPlugin, "getCameraControlInterface failed: No capture filter!"); + return false; + } + + if (!cameraControl) { + qCDebug(qtDirectShowPlugin, "getCameraControlInterface failed: Invalid out argument!"); + return false; + } + + if (FAILED(m_sourceFilter->QueryInterface(IID_IAMCameraControl, reinterpret_cast<void **>(cameraControl)))) { + qCDebug(qtDirectShowPlugin, "getCameraControlInterface failed: Querying camera control failed!"); + return false; + } + + return true; +} + bool DSCameraSession::load() { unload(); |