Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
avfcamerarenderer_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
AVFCAMERARENDERER_H
5
#
define
AVFCAMERARENDERER_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
QtMultimedia
/
qvideoframe
.
h
>
19
#
include
<
QtMultimedia
/
private
/
qvideooutputorientationhandler_p
.
h
>
20
#
include
<
QtCore
/
qmutex
.
h
>
21
#
include
<
QtCore
/
qobject
.
h
>
22
23
#
include
<
avfvideosink_p
.
h
>
24
25
#
include
<
CoreVideo
/
CVBase
.
h
>
26
#
include
<
CoreVideo
/
CVPixelBuffer
.
h
>
27
#
include
<
CoreVideo
/
CVImageBuffer
.
h
>
28
#
ifdef
Q_OS_IOS
29
#
include
<
CoreVideo
/
CVOpenGLESTexture
.
h
>
30
#
include
<
CoreVideo
/
CVOpenGLESTextureCache
.
h
>
31
#
endif
32
33
#
import
<
dispatch
/
dispatch
.
h
>
34
#
import
<
AVFoundation
/
AVFoundation
.
h
>
35
36
@
class
AVFCaptureFramesDelegate;
37
38
QT_BEGIN_NAMESPACE
39
40
class
AVFCameraSession;
41
class
AVFCameraService
;
42
class
AVFCameraRenderer
;
43
class
AVFVideoSink
;
44
45
class
AVFCameraRenderer
:
public
QObject
,
public
AVFVideoSinkInterface
46
{
47
Q_OBJECT
48
public
:
49
AVFCameraRenderer
(
QObject
*
parent
=
nullptr
);
50
~
AVFCameraRenderer
()
override
;
51
52
void
reconfigure
()
override
;
53
void
setOutputSettings
()
override
;
54
55
void
configureAVCaptureSession
(
AVFCameraSession
*cameraSession);
56
void
syncHandleViewfinderFrame
(
const
QVideoFrame &frame);
57
58
AVCaptureVideoDataOutput
*
videoDataOutput
()
const
;
59
60
AVFCaptureFramesDelegate
*
captureDelegate
()
const
;
61
void
resetCaptureDelegate
()
const
;
62
63
void
setPixelFormat
(QVideoFrameFormat::PixelFormat pixelFormat,
64
QVideoFrameFormat::ColorRange colorRange);
65
66
Q_SIGNALS
:
67
void
newViewfinderFrame
(
const
QVideoFrame
&
frame
);
68
69
private
Q_SLOTS
:
70
void
handleViewfinderFrame
();
71
void
updateCaptureConnection();
72
public
Q_SLOTS
:
73
void
deviceOrientationChanged
(
int
angle
= -1);
74
75
private
:
76
AVFCaptureFramesDelegate *m_viewfinderFramesDelegate =
nullptr
;
77
AVFCameraSession
*m_cameraSession =
nullptr
;
78
AVCaptureVideoDataOutput *m_videoDataOutput =
nullptr
;
79
80
bool
m_needsHorizontalMirroring =
false
;
81
82
QVideoFrame m_lastViewfinderFrame;
83
QMutex m_vfMutex;
84
dispatch_queue_t m_delegateQueue;
85
QVideoOutputOrientationHandler m_orientationHandler;
86
87
friend
class
CVImageVideoBuffer;
88
};
89
90
QT_END_NAMESPACE
91
92
#
endif
camera
QCamera * camera
Definition
camerasnippets.cpp:19
AVFCameraRenderer
Definition
avfcamerarenderer_p.h:46
AVFCameraRenderer::reconfigure
void reconfigure() override
Definition
avfcamerarenderer.mm:94
AVFCameraRenderer::syncHandleViewfinderFrame
void syncHandleViewfinderFrame(const QVideoFrame &frame)
Definition
avfcamerarenderer.mm:195
AVFCameraRenderer::videoDataOutput
AVCaptureVideoDataOutput * videoDataOutput() const
Definition
avfcamerarenderer.mm:211
AVFCameraRenderer::setOutputSettings
void setOutputSettings() override
Definition
avfcamerarenderer.mm:105
AVFCameraRenderer::~AVFCameraRenderer
~AVFCameraRenderer() override
Definition
avfcamerarenderer.mm:84
AVFCameraRenderer::captureDelegate
AVFCaptureFramesDelegate * captureDelegate() const
Definition
avfcamerarenderer.mm:216
AVFCameraRenderer::configureAVCaptureSession
void configureAVCaptureSession(AVFCameraSession *cameraSession)
Definition
avfcamerarenderer.mm:127
AVFCameraRenderer::setPixelFormat
void setPixelFormat(QVideoFrameFormat::PixelFormat pixelFormat, QVideoFrameFormat::ColorRange colorRange)
Definition
avfcamerarenderer.mm:241
AVFCameraRenderer::resetCaptureDelegate
void resetCaptureDelegate() const
Definition
avfcamerarenderer.mm:221
AVFCameraService
Definition
avfcameraservice_p.h:33
AVFCameraService::recorderControl
AVFMediaEncoder * recorderControl() const
Definition
avfcameraservice_p.h:55
AVFCameraService::audioOutput
QPlatformAudioOutput * audioOutput()
Definition
avfcameraservice_p.h:59
AVFCameraService::setAudioInput
void setAudioInput(QPlatformAudioInput *) override
Definition
avfcameraservice.mm:98
AVFCameraService::avfCameraControl
AVFCamera * avfCameraControl() const
Definition
avfcameraservice_p.h:54
AVFCameraService::audioOutputDestroyed
void audioOutputDestroyed()
Definition
avfcameraservice_p.h:64
AVFCameraService::session
AVFCameraSession * session() const
Definition
avfcameraservice_p.h:53
AVFCameraService::setImageCapture
void setImageCapture(QPlatformImageCapture *imageCapture) override
Definition
avfcameraservice.mm:63
AVFCameraService::setAudioOutputMuted
void setAudioOutputMuted(bool muted)
Definition
avfcameraservice.mm:154
AVFCameraService::mediaRecorder
QPlatformMediaRecorder * mediaRecorder() override
Definition
avfcameraservice.mm:77
AVFCameraService::setAudioOutput
void setAudioOutput(QPlatformAudioOutput *) override
Definition
avfcameraservice.mm:116
AVFCameraService::audioOutputChanged
void audioOutputChanged()
Definition
avfcameraservice.mm:139
AVFCameraService::setVideoPreview
void setVideoPreview(QVideoSink *sink) override
Definition
avfcameraservice.mm:164
AVFCameraService::setCamera
void setCamera(QPlatformCamera *camera) override
Definition
avfcameraservice.mm:38
AVFCameraService::avfImageCaptureControl
AVFImageCapture * avfImageCaptureControl() const
Definition
avfcameraservice_p.h:56
AVFCameraService::setMediaRecorder
void setMediaRecorder(QPlatformMediaRecorder *recorder) override
Definition
avfcameraservice.mm:82
AVFCameraService::setAudioInputMuted
void setAudioInputMuted(bool muted)
Definition
avfcameraservice.mm:144
AVFCameraService::~AVFCameraService
~AVFCameraService() override
Definition
avfcameraservice.mm:27
AVFCameraService::setAudioOutputVolume
void setAudioOutputVolume(float volume)
Definition
avfcameraservice.mm:159
AVFCameraService::imageCapture
QPlatformImageCapture * imageCapture() override
Definition
avfcameraservice.mm:58
AVFCameraService::camera
QPlatformCamera * camera() override
Definition
avfcameraservice.mm:33
AVFCameraService::audioInput
QPlatformAudioInput * audioInput()
Definition
avfcameraservice_p.h:58
AVFCameraService::setAudioInputVolume
void setAudioInputVolume(float volume)
Definition
avfcameraservice.mm:149
AVFCameraSession
Definition
avfcamerasession_p.h:38
AVFCamera
Definition
avfcamera_p.h:27
AVFCamera::~AVFCamera
~AVFCamera() override
AVFCamera::onCameraDeviceChanged
void onCameraDeviceChanged(const QCameraDevice &, const QCameraFormat &) override
Definition
avfcamera.mm:31
AVFCamera::setCaptureSession
void setCaptureSession(QPlatformMediaCaptureSession *) override
Definition
avfcamera.mm:59
AVFCamera::tryApplyCameraFormat
bool tryApplyCameraFormat(const QCameraFormat &) override
Definition
avfcamera.mm:50
AVFCamera::onActiveChanged
q23::expected< void, QString > onActiveChanged(bool active) override
Definition
avfcamera.mm:24
AVFMediaEncoder
Definition
avfmediaencoder_p.h:37
AVFVideoSinkInterface
Definition
avfvideosink_p.h:52
AVFVideoSink
Definition
avfvideosink_p.h:34
QCamera
The QCamera class provides interface for system camera devices.
Definition
qcamera.h:25
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtmultimedia
src
plugins
multimedia
darwin
camera
avfcamerarenderer_p.h
Generated on
for Qt by
1.18.0