diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabin.pro | 8 | ||||
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinsession.cpp | 43 | ||||
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinsession.h | 13 | ||||
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinzoom.cpp | 2 |
4 files changed, 45 insertions, 21 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabin.pro b/src/plugins/gstreamer/camerabin/camerabin.pro index bfbb35733..111dbccf0 100644 --- a/src/plugins/gstreamer/camerabin/camerabin.pro +++ b/src/plugins/gstreamer/camerabin/camerabin.pro @@ -24,6 +24,7 @@ HEADERS += \ $$PWD/camerabinrecorder.h \ $$PWD/camerabincontainer.h \ $$PWD/camerabinimagecapture.h \ + $$PWD/camerabinzoom.h \ $$PWD/camerabinimageprocessing.h \ $$PWD/camerabinmetadata.h \ $$PWD/camerabinvideoencoder.h \ @@ -43,6 +44,7 @@ SOURCES += \ $$PWD/camerabincontainer.cpp \ $$PWD/camerabinimagecapture.cpp \ $$PWD/camerabinimageencoder.cpp \ + $$PWD/camerabinzoom.cpp \ $$PWD/camerabinimageprocessing.cpp \ $$PWD/camerabinmetadata.cpp \ $$PWD/camerabinrecorder.cpp \ @@ -71,15 +73,13 @@ config_gstreamer_photography { $$PWD/camerabinfocus.h \ $$PWD/camerabinexposure.h \ $$PWD/camerabinflash.h \ - $$PWD/camerabinlocks.h \ - $$PWD/camerabinzoom.h + $$PWD/camerabinlocks.h SOURCES += \ $$PWD/camerabinexposure.cpp \ $$PWD/camerabinflash.cpp \ $$PWD/camerabinfocus.cpp \ - $$PWD/camerabinlocks.cpp \ - $$PWD/camerabinzoom.cpp + $$PWD/camerabinlocks.cpp LIBS += -lgstphotography-$$GST_VERSION DEFINES += GST_USE_UNSTABLE_API #prevents warnings because of unstable photography API diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp index 0ed8dcb67..7cc082e5e 100644 --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp @@ -43,9 +43,9 @@ #include "camerabinflash.h" #include "camerabinfocus.h" #include "camerabinlocks.h" -#include "camerabinzoom.h" #endif +#include "camerabinzoom.h" #include "camerabinimageprocessing.h" #include "camerabinviewfindersettings.h" @@ -121,6 +121,12 @@ CameraBinSession::CameraBinSession(GstElementFactory *sourceFactory, QObject *pa m_videoInputFactory(0), m_viewfinder(0), m_viewfinderInterface(0), +#ifdef HAVE_GST_PHOTOGRAPHY + m_cameraExposureControl(0), + m_cameraFlashControl(0), + m_cameraFocusControl(0), + m_cameraLocksControl(0), +#endif m_cameraSrc(0), m_videoSrc(0), m_viewfinderElement(0), @@ -157,14 +163,7 @@ CameraBinSession::CameraBinSession(GstElementFactory *sourceFactory, QObject *pa m_imageEncodeControl = new CameraBinImageEncoder(this); m_recorderControl = new CameraBinRecorder(this); m_mediaContainerControl = new CameraBinContainer(this); - -#ifdef HAVE_GST_PHOTOGRAPHY - m_cameraExposureControl = new CameraBinExposure(this); - m_cameraFlashControl = new CameraBinFlash(this); - m_cameraFocusControl = new CameraBinFocus(this); - m_cameraLocksControl = new CameraBinLocks(this); m_cameraZoomControl = new CameraBinZoom(this); -#endif m_imageProcessingControl = new CameraBinImageProcessing(this); m_captureDestinationControl = new CameraBinCaptureDestination(this); m_captureBufferFormatControl = new CameraBinCaptureBufferFormat(this); @@ -221,6 +220,34 @@ GstPhotography *CameraBinSession::photography() return 0; } + +CameraBinExposure *CameraBinSession::cameraExposureControl() +{ + if (!m_cameraExposureControl && photography()) + m_cameraExposureControl = new CameraBinExposure(this); + return m_cameraExposureControl; +} + +CameraBinFlash *CameraBinSession::cameraFlashControl() +{ + if (!m_cameraFlashControl && photography()) + m_cameraFlashControl = new CameraBinFlash(this); + return m_cameraFlashControl; +} + +CameraBinFocus *CameraBinSession::cameraFocusControl() +{ + if (!m_cameraFocusControl && photography()) + m_cameraFocusControl = new CameraBinFocus(this); + return m_cameraFocusControl; +} + +CameraBinLocks *CameraBinSession::cameraLocksControl() +{ + if (!m_cameraLocksControl && photography()) + m_cameraLocksControl = new CameraBinLocks(this); + return m_cameraLocksControl; +} #endif CameraBinSession::CameraRole CameraBinSession::cameraRole() const diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.h b/src/plugins/gstreamer/camerabin/camerabinsession.h index fa9dba989..7ef5b7ae3 100644 --- a/src/plugins/gstreamer/camerabin/camerabinsession.h +++ b/src/plugins/gstreamer/camerabin/camerabinsession.h @@ -121,13 +121,13 @@ public: CameraBinImageEncoder *imageEncodeControl() const { return m_imageEncodeControl; } #ifdef HAVE_GST_PHOTOGRAPHY - CameraBinExposure *cameraExposureControl() const { return m_cameraExposureControl; } - CameraBinFlash *cameraFlashControl() const { return m_cameraFlashControl; } - CameraBinFocus *cameraFocusControl() const { return m_cameraFocusControl; } - CameraBinLocks *cameraLocksControl() const { return m_cameraLocksControl; } - CameraBinZoom *cameraZoomControl() const { return m_cameraZoomControl; } + CameraBinExposure *cameraExposureControl(); + CameraBinFlash *cameraFlashControl(); + CameraBinFocus *cameraFocusControl(); + CameraBinLocks *cameraLocksControl(); #endif + CameraBinZoom *cameraZoomControl() const { return m_cameraZoomControl; } CameraBinImageProcessing *imageProcessingControl() const { return m_imageProcessingControl; } CameraBinCaptureDestination *captureDestinationControl() const { return m_captureDestinationControl; } CameraBinCaptureBufferFormat *captureBufferFormatControl() const { return m_captureBufferFormatControl; } @@ -238,9 +238,8 @@ private: CameraBinFlash *m_cameraFlashControl; CameraBinFocus *m_cameraFocusControl; CameraBinLocks *m_cameraLocksControl; - CameraBinZoom *m_cameraZoomControl; #endif - + CameraBinZoom *m_cameraZoomControl; CameraBinImageProcessing *m_imageProcessingControl; CameraBinCaptureDestination *m_captureDestinationControl; CameraBinCaptureBufferFormat *m_captureBufferFormatControl; diff --git a/src/plugins/gstreamer/camerabin/camerabinzoom.cpp b/src/plugins/gstreamer/camerabin/camerabinzoom.cpp index 29fa7494c..a25cf68b4 100644 --- a/src/plugins/gstreamer/camerabin/camerabinzoom.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinzoom.cpp @@ -34,8 +34,6 @@ #include "camerabinzoom.h" #include "camerabinsession.h" -#include <gst/interfaces/photography.h> - #define ZOOM_PROPERTY "zoom" #define MAX_ZOOM_PROPERTY "max-zoom" |