4#ifndef AVFCAMERASESSION_H
5#define AVFCAMERASESSION_H
18#include <QtCore/qmutex.h>
19#include <QtMultimedia/qcamera.h>
24#import <AVFoundation/AVFoundation.h>
50 AVCaptureAudioDataOutput *
audioOutput()
const {
return m_audioOutput; }
61 AVCaptureDeviceInput *
videoInput()
const {
return m_videoInput; }
62 AVCaptureDeviceInput *
audioInput()
const {
return m_audioInput; }
93 void updateVideoOutput();
95 void addAudioCapture();
97 AVCaptureDevice *createVideoCaptureDevice();
98 AVCaptureDevice *createAudioCaptureDevice();
99 void attachVideoInputDevice();
100 void attachAudioInputDevice();
101 bool checkCameraPermission();
102 bool checkMicrophonePermission();
104 bool applyImageEncoderSettings();
110 AVCaptureSession *m_captureSession;
116 AVCaptureDeviceInput *m_videoInput =
nullptr;
117 AVCaptureDeviceInput *m_audioInput =
nullptr;
119 AVCaptureAudioDataOutput *m_audioOutput =
nullptr;
122 bool m_active =
false;
124 float m_inputVolume = 1.0;
125 bool m_inputMuted =
false;
127 FourCharCode m_defaultCodec;
void error(int error, const QString &errorString)
void processSessionStopped()
void setActive(bool active)
AVCaptureDeviceInput * videoInput() const
AVCaptureSession * captureSession() const
QCameraDevice activecameraDevice() const
void setCameraFormat(const QCameraFormat &format)
AVCaptureDevice * videoCaptureDevice() const
void setAudioOutputMuted(bool muted)
QCameraFormat cameraFormat() const
void readyToConfigureConnections()
void setActiveCamera(const QCameraDevice &info)
void setAudioInputVolume(float volume)
AVFCameraRenderer * videoOutput() const
AVCaptureDevice * audioCaptureDevice() const
void newViewfinderFrame(const QVideoFrame &frame)
void setVideoSink(QVideoSink *sink)
FourCharCode defaultCodec()
void processSessionStarted()
void setAudioOutputVolume(float volume)
AVCaptureDeviceInput * audioInput() const
void processRuntimeError()
void setAudioInputMuted(bool muted)
AVFAudioPreviewDelegate * audioPreviewDelegate() const
AVCaptureAudioDataOutput * audioOutput() const
The QCameraDevice class provides general information about camera devices.
QObject * parent() const
Returns a pointer to the parent object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QVideoFrame class represents a frame of video data.
The QVideoSink class represents a generic sink for video data.
Combined button and popup list for selecting options.
GLint GLsizei GLsizei GLenum format
GLsizei GLenum GLboolean sink
QT_BEGIN_NAMESPACE typedef uchar * output
QFileInfo info(fileName)
[8]