18#include <QtMultimedia/private/qplatformcamera_p.h>
23class QV4L2FileDescriptor;
65 void setCamera(
const QCameraDevice &camera)
override;
101 void setCameraBusy();
102 void initV4L2Controls();
104 int setV4L2ColorTemperature(
int temperature);
105 bool setV4L2Parameter(quint32 id, qint32 value);
106 int getV4L2Parameter(quint32 id)
const;
108 void setV4L2CameraFormat();
109 void initV4L2MemoryTransfer();
110 void startCapturing();
111 void stopCapturing();
114 bool m_active =
false;
115 QCameraDevice m_cameraDevice;
117 std::unique_ptr<QSocketNotifier> m_notifier;
118 std::unique_ptr<QV4L2MemoryTransfer> m_memoryTransfer;
119 std::shared_ptr<QV4L2FileDescriptor> m_v4l2FileDescriptor;
123 timeval m_firstFrameTime = { -1, -1 };
124 quint32 m_bytesPerLine = 0;
125 quint32 m_imageSize = 0;
127 qint64 m_frameDuration = -1;
128 bool m_cameraBusy =
false;
void zoomTo(float, float=-1.) override
void setManualIsoSensitivity(int) override
void setColorTemperature(int) override
bool isActive() const override
void setFocusMode(QCamera::FocusMode) override
QVideoFrameFormat frameFormat() const override
bool setCameraFormat(const QCameraFormat &format) override
void setTorchMode(QCamera::TorchMode) override
void setFocusDistance(float) override
bool isFocusModeSupported(QCamera::FocusMode mode) const override
void setExposureMode(QCamera::ExposureMode) override
void setActive(bool active) override
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const override
bool isFlashReady() const override
bool resolveCameraFormat(const QCameraFormat &format)
int isoSensitivity() const override
void setExposureCompensation(float) override
void setFlashMode(QCamera::FlashMode) override
bool isFlashModeSupported(QCamera::FlashMode mode) const override
bool isTorchModeSupported(QCamera::TorchMode mode) const override
void setWhiteBalanceMode(QCamera::WhiteBalanceMode) override
bool isExposureModeSupported(QCamera::ExposureMode mode) const override
void setCamera(const QCameraDevice &camera) override
float exposureTime() const override
void setManualExposureTime(float) override
#define qCWarning(category,...)
#define qCDebug(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
uint32_t v4l2FormatForPixelFormat(QVideoFrameFormat::PixelFormat format)
QVideoFrameFormat::PixelFormat fmt
QVideoFrameFormat::PixelFormat formatForV4L2Format(uint32_t v4l2Format)
bool autoExposureSupported
bool colorTemperatureSupported
bool manualExposureSupported
bool autoWhiteBalanceSupported
qint32 minExposureAdjustment
qint32 maxExposureAdjustment