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>
69 void handleViewfinderFrame();
70 void updateCaptureConnection();
77 AVCaptureVideoDataOutput *m_videoDataOutput =
nullptr;
79 bool m_needsHorizontalMirroring =
false;
82 CVOpenGLESTextureCacheRef m_textureCache =
nullptr;
87 dispatch_queue_t m_delegateQueue;
90 friend class CVImageVideoBuffer;
void reconfigure() override
void syncHandleViewfinderFrame(const QVideoFrame &frame)
AVFCameraRenderer(QObject *parent=nullptr)
void newViewfinderFrame(const QVideoFrame &frame)
AVCaptureVideoDataOutput * videoDataOutput() const
void setOutputSettings() override
AVFCaptureFramesDelegate * captureDelegate() const
void configureAVCaptureSession(AVFCameraSession *cameraSession)
void setPixelFormat(QVideoFrameFormat::PixelFormat pixelFormat, QVideoFrameFormat::ColorRange colorRange)
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)