19#include <private/qplatformmediaintegration_p.h>
20#include <private/qvideooutputorientationhandler_p.h>
21#define AVMediaType XAVMediaType
29#include <dispatch/dispatch.h>
67 bool checkCameraPermission();
68 void updateCameraFormat();
69 void updateVideoInput();
70 void attachVideoInputDevice();
72 QSize adjustedResolution()
const;
74 AVCaptureDevice *device()
const;
77 AVCaptureSession *m_captureSession =
nullptr;
78 AVCaptureDeviceInput *m_videoInput =
nullptr;
79 AVCaptureVideoDataOutput *m_videoDataOutput =
nullptr;
81 dispatch_queue_t m_delegateQueue;
83 AVPixelFormat m_hwPixelFormat = AV_PIX_FMT_NONE;
void setCaptureSession(QPlatformMediaCaptureSession *) override
void setCamera(const QCameraDevice &camera) override
void deviceOrientationChanged(int angle=-1)
int cameraPixelFormatScore(QVideoFrameFormat::PixelFormat pixelFmt, QVideoFrameFormat::ColorRange colorRange) const override
void setActive(bool active) override
void syncHandleFrame(const QVideoFrame &frame)
bool setCameraFormat(const QCameraFormat &format) override
QAVFCamera(QCamera *parent)
bool isActive() const override
std::optional< int > ffmpegHWPixelFormat() const override
The QCameraDevice class provides general information about camera devices.
The QCamera class provides interface for system camera devices.
QObject * parent() const
Returns a pointer to the parent object.
The QVideoFrame class represents a frame of video data.
Combined button and popup list for selecting options.
#define Q_FORWARD_DECLARE_OBJC_CLASS(classname)
GLint GLsizei GLsizei GLenum format