summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h')
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h
index 2397cfa84..54064e399 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercamera_p.h
@@ -56,10 +56,8 @@
#include <private/qplatformcamera_p.h>
#include "qgstreamermediacapture_p.h"
#include <private/qgst_p.h>
-#include <gst/video/colorbalance.h>
QT_BEGIN_NAMESPACE
-class QGstreamerImageProcessing;
class QGstreamerCamera : public QPlatformCamera
{
@@ -80,8 +78,6 @@ public:
QGstElement gstElement() const { return gstCameraBin.element(); }
void setPipeline(const QGstPipeline &pipeline) { gstPipeline = pipeline; }
- QPlatformCameraImageProcessing *imageProcessingControl() override;
-
#if QT_CONFIG(gstreamer_photography)
GstPhotography *photography() const;
@@ -100,16 +96,26 @@ public:
void setManualShutterSpeed(float) override;
float shutterSpeed() const override;
#endif
+ bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const override;
+ void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) override;
+ void setColorTemperature(int temperature) override;
QString v4l2Device() const { return m_v4l2Device; }
bool isV4L2Camera() const { return !m_v4l2Device.isEmpty(); }
- GstColorBalance *colorBalance() const;
-
private:
- QGstreamerMediaCapture *m_session = nullptr;
+ void updateCameraProperties();
+#if QT_CONFIG(linux_v4l)
+ void initV4L2Controls();
+ int setV4L2ColorTemperature(int temperature);
+
+ bool v4l2AutoWhiteBalanceSupported = false;
+ bool v4l2ColorTemperatureSupported = false;
+ qint32 v4l2MinColorTemp = 5600; // Daylight...
+ qint32 v4l2MaxColorTemp = 5600;
+#endif
- QGstreamerImageProcessing *imageProcessing = nullptr;
+ QGstreamerMediaCapture *m_session = nullptr;
QCameraInfo m_cameraInfo;