4#ifndef AVFCAMERARENDERER_H
5#define AVFCAMERARENDERER_H
18#include <QtCore/qobject.h>
19#include <QtMultimedia/qvideoframe.h>
20#include <QtCore/qmutex.h>
22#include <private/qvideooutputorientationhandler_p.h>
24#include <CoreVideo/CVBase.h>
25#include <CoreVideo/CVPixelBuffer.h>
26#include <CoreVideo/CVImageBuffer.h>
28#include <CoreVideo/CVOpenGLESTexture.h>
29#include <CoreVideo/CVOpenGLESTextureCache.h>
32#include <dispatch/dispatch.h>
68 void handleViewfinderFrame();
69 void updateCaptureConnection();
76 AVCaptureVideoDataOutput *m_videoDataOutput =
nullptr;
78 bool m_needsHorizontalMirroring =
false;
81 CVOpenGLESTextureCacheRef m_textureCache =
nullptr;
86 dispatch_queue_t m_delegateQueue;
void reconfigure() override
void syncHandleViewfinderFrame(const QVideoFrame &frame)
friend class CVImageVideoBuffer
void newViewfinderFrame(const QVideoFrame &frame)
AVCaptureVideoDataOutput * videoDataOutput() const
void setOutputSettings() override
void setPixelFormat(const QVideoFrameFormat::PixelFormat format)
AVFCaptureFramesDelegate * captureDelegate() const
void configureAVCaptureSession(AVFCameraSession *cameraSession)
void deviceOrientationChanged(int angle=-1)
void resetCaptureDelegate() const
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