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
avfcamerasession_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
AVFCAMERASESSION_H
5
#
define
AVFCAMERASESSION_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
/
qcamera
.
h
>
19
#
include
<
QtMultimedia
/
qcameradevice
.
h
>
20
#
include
<
QtMultimedia
/
qvideoframe
.
h
>
21
#
include
<
QtCore
/
qmutex
.
h
>
22
23
#
include
<
camera
/
avfaudiopreviewdelegate_p
.
h
>
24
25
#
import
<
AVFoundation
/
AVFoundation
.
h
>
26
27
@
class
AVFCameraSessionObserver;
28
29
QT_BEGIN_NAMESPACE
30
31
class
AVFCamera;
32
class
AVFCameraService
;
33
class
AVFCameraRenderer
;
34
class
AVFVideoSink
;
35
class
QVideoSink;
36
37
class
AVFCameraSession
:
public
QObject
38
{
39
Q_OBJECT
40
public
:
41
AVFCameraSession
(
AVFCameraService
*
service
,
QObject
*
parent
=
nullptr
);
42
~
AVFCameraSession
()
override
;
43
44
QCameraDevice
activecameraDevice
()
const
{
return
m_activeCameraDevice; }
45
void
setActiveCamera
(
const
QCameraDevice &info);
46
47
void
setCameraFormat
(
const
QCameraFormat &format);
48
QCameraFormat
cameraFormat
()
const
;
49
50
AVFCameraRenderer
*
videoOutput
()
const
{
return
m_videoOutput; }
51
AVCaptureAudioDataOutput
*
audioOutput
()
const
{
return
m_audioOutput; }
52
AVFAudioPreviewDelegate
*
audioPreviewDelegate
()
const
{
return
m_audioPreviewDelegate; }
53
54
AVCaptureSession
*
captureSession
()
const
{
return
m_captureSession; }
55
AVCaptureDevice
*
videoCaptureDevice
()
const
;
56
AVCaptureDevice
*
audioCaptureDevice
()
const
;
57
58
bool
isActive
()
const
;
59
60
FourCharCode
defaultCodec
();
61
62
AVCaptureDeviceInput
*
videoInput
()
const
{
return
m_videoInput; }
63
AVCaptureDeviceInput
*
audioInput
()
const
{
return
m_audioInput; }
64
65
void
setVideoSink
(QVideoSink *sink);
66
67
void
updateVideoInput
();
68
69
void
updateAudioInput
();
70
void
updateAudioOutput
();
71
72
public
Q_SLOTS
:
73
void
setActive
(
bool
active
);
74
75
void
setAudioInputVolume
(
float
volume);
76
void
setAudioInputMuted
(
bool
muted);
77
void
setAudioOutputMuted
(
bool
muted);
78
void
setAudioOutputVolume
(
float
volume);
79
80
void
processRuntimeError
();
81
void
processSessionStarted
();
82
void
processSessionStopped
();
83
84
Q_SIGNALS
:
85
void
readyToConfigureConnections
();
86
void
activeChanged
(
bool
);
87
void
error
(
int
error,
const
QString &errorString);
88
void
newViewfinderFrame
(
const
QVideoFrame &frame);
89
90
private
:
91
void
updateCameraFormat(
const
QCameraFormat &format);
92
93
void
setVideoOutput(
AVFCameraRenderer
*output);
94
void
updateVideoOutput();
95
96
void
addAudioCapture();
97
98
AVCaptureDevice *createVideoCaptureDevice();
99
AVCaptureDevice *createAudioCaptureDevice();
100
void
attachVideoInputDevice();
101
void
attachAudioInputDevice();
102
bool
checkCameraPermission();
103
bool
checkMicrophonePermission();
104
105
bool
applyImageEncoderSettings();
106
107
QCameraDevice m_activeCameraDevice;
108
QCameraFormat m_cameraFormat;
109
110
AVFCameraService
*m_service;
111
AVCaptureSession *m_captureSession;
112
AVFCameraSessionObserver *m_observer;
113
114
AVFCameraRenderer
*m_videoOutput =
nullptr
;
115
AVFVideoSink
*m_videoSink =
nullptr
;
116
117
AVCaptureDeviceInput *m_videoInput =
nullptr
;
118
AVCaptureDeviceInput *m_audioInput =
nullptr
;
119
120
AVCaptureAudioDataOutput *m_audioOutput =
nullptr
;
121
AVFAudioPreviewDelegate *m_audioPreviewDelegate =
nullptr
;
122
123
bool
m_active =
false
;
124
125
float
m_inputVolume = 1.0;
126
bool
m_inputMuted =
false
;
127
128
FourCharCode m_defaultCodec;
129
};
130
131
QT_END_NAMESPACE
132
133
#
endif
AVFCameraRenderer
Definition
avfcamerarenderer_p.h:46
AVFCameraService
Definition
avfcameraservice_p.h:33
AVFCameraSession
Definition
avfcamerasession_p.h:38
AVFCameraSession::error
void error(int error, const QString &errorString)
AVFCameraSession::processSessionStopped
void processSessionStopped()
Definition
avfcamerasession.mm:303
AVFCameraSession::videoInput
AVCaptureDeviceInput * videoInput() const
Definition
avfcamerasession_p.h:62
AVFCameraSession::captureSession
AVCaptureSession * captureSession() const
Definition
avfcamerasession_p.h:54
AVFCameraSession::activecameraDevice
QCameraDevice activecameraDevice() const
Definition
avfcamerasession_p.h:44
AVFCameraSession::setCameraFormat
void setCameraFormat(const QCameraFormat &format)
Definition
avfcamerasession.mm:152
AVFCameraSession::updateAudioInput
void updateAudioInput()
Definition
avfcamerasession.mm:446
AVFCameraSession::videoCaptureDevice
AVCaptureDevice * videoCaptureDevice() const
Definition
avfcamerasession.mm:201
AVFCameraSession::setAudioOutputMuted
void setAudioOutputMuted(bool muted)
Definition
avfcamerasession.mm:247
AVFCameraSession::cameraFormat
QCameraFormat cameraFormat() const
Definition
avfcamerasession.mm:160
AVFCameraSession::~AVFCameraSession
~AVFCameraSession() override
Definition
avfcamerasession.mm:119
AVFCameraSession::setActiveCamera
void setActiveCamera(const QCameraDevice &info)
Definition
avfcamerasession.mm:142
AVFCameraSession::isActive
bool isActive() const
Definition
avfcamerasession.mm:253
AVFCameraSession::setAudioInputVolume
void setAudioInputVolume(float volume)
Definition
avfcamerasession.mm:217
AVFCameraSession::videoOutput
AVFCameraRenderer * videoOutput() const
Definition
avfcamerasession_p.h:50
AVFCameraSession::audioCaptureDevice
AVCaptureDevice * audioCaptureDevice() const
Definition
avfcamerasession.mm:209
AVFCameraSession::newViewfinderFrame
void newViewfinderFrame(const QVideoFrame &frame)
AVFCameraSession::setVideoSink
void setVideoSink(QVideoSink *sink)
Definition
avfcamerasession.mm:409
AVFCameraSession::defaultCodec
FourCharCode defaultCodec()
Definition
avfcamerasession.mm:396
AVFCameraSession::updateAudioOutput
void updateAudioOutput()
Definition
avfcamerasession.mm:469
AVFCameraSession::activeChanged
void activeChanged(bool)
AVFCameraSession::processSessionStarted
void processSessionStarted()
Definition
avfcamerasession.mm:294
AVFCameraSession::setAudioOutputVolume
void setAudioOutputVolume(float volume)
Definition
avfcamerasession.mm:241
AVFCameraSession::audioInput
AVCaptureDeviceInput * audioInput() const
Definition
avfcamerasession_p.h:63
AVFCameraSession::processRuntimeError
void processRuntimeError()
Definition
avfcamerasession.mm:287
AVFCameraSession::setAudioInputMuted
void setAudioInputMuted(bool muted)
Definition
avfcamerasession.mm:235
AVFCameraSession::updateVideoInput
void updateVideoInput()
Definition
avfcamerasession.mm:421
AVFCameraSession::audioPreviewDelegate
AVFAudioPreviewDelegate * audioPreviewDelegate() const
Definition
avfcamerasession_p.h:52
AVFCameraSession::audioOutput
AVCaptureAudioDataOutput * audioOutput() const
Definition
avfcamerasession_p.h:51
AVFVideoSink
Definition
avfvideosink_p.h:34
QmlIR::Object::id
int id
Definition
qqmlirbuilder_p.h:312
qtmultimedia
src
plugins
multimedia
darwin
camera
avfcamerasession_p.h
Generated on
for Qt by
1.18.0