Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
avfcameraservice_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 AVFCAMERASERVICE_H
5#define AVFCAMERASERVICE_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 <QtCore/qobject.h>
19#include <QtCore/qset.h>
20#include <private/qplatformmediacapture_p.h>
21
23
24QT_BEGIN_NAMESPACE
25class QPlatformCamera;
26class QPlatformMediaRecorder;
27class AVFCamera;
28class AVFImageCapture;
30class AVFMediaEncoder;
31
33{
35public:
38
39 QPlatformCamera *camera() override;
40 void setCamera(QPlatformCamera *camera) override;
41
43 void setImageCapture(QPlatformImageCapture *imageCapture) override;
44
45 QPlatformMediaRecorder *mediaRecorder() override;
46 void setMediaRecorder(QPlatformMediaRecorder *recorder) override;
47
48 void setAudioInput(QPlatformAudioInput *) override;
49 void setAudioOutput(QPlatformAudioOutput *) override;
50
51 void setVideoPreview(QVideoSink *sink) override;
52
53 AVFCameraSession *session() const { return m_session; }
54 AVFCamera *avfCameraControl() const { return m_cameraControl; }
55 AVFMediaEncoder *recorderControl() const { return m_encoder; }
56 AVFImageCapture *avfImageCaptureControl() const { return m_imageCaptureControl; }
57
58 QPlatformAudioInput *audioInput() { return m_audioInput; }
59 QPlatformAudioOutput *audioOutput() { return m_audioOutput; }
60
61public Q_SLOTS:
63 void audioInputChanged();
64 void audioOutputDestroyed() { setAudioOutput(nullptr); }
65 void audioOutputChanged();
66
67 void setAudioInputMuted(bool muted);
68 void setAudioInputVolume(float volume);
69 void setAudioOutputMuted(bool muted);
70 void setAudioOutputVolume(float volume);
71
72private:
73 QPlatformAudioInput *m_audioInput = nullptr;
74 QPlatformAudioOutput *m_audioOutput = nullptr;
75
76 AVFCameraSession *m_session = nullptr;
77 AVFCamera *m_cameraControl = nullptr;
78 AVFMediaEncoder *m_encoder = nullptr;
79 AVFImageCapture *m_imageCaptureControl = nullptr;
80};
81
82QT_END_NAMESPACE
83
84#endif
AVFMediaEncoder * recorderControl() const
QPlatformAudioOutput * audioOutput()
void setAudioInput(QPlatformAudioInput *) override
AVFCamera * avfCameraControl() const
AVFCameraSession * session() const
void setImageCapture(QPlatformImageCapture *imageCapture) override
void setAudioOutputMuted(bool muted)
QPlatformMediaRecorder * mediaRecorder() override
void setAudioOutput(QPlatformAudioOutput *) override
void setVideoPreview(QVideoSink *sink) override
void setCamera(QPlatformCamera *camera) override
AVFImageCapture * avfImageCaptureControl() const
void setMediaRecorder(QPlatformMediaRecorder *recorder) override
void setAudioInputMuted(bool muted)
~AVFCameraService() override
void setAudioOutputVolume(float volume)
QPlatformImageCapture * imageCapture() override
QPlatformCamera * camera() override
QPlatformAudioInput * audioInput()
void setAudioInputVolume(float volume)
void onCameraDeviceChanged(const QCameraDevice &device) override
Definition avfcamera.mm:28
~AVFCamera() override
void onActiveChanged(bool active) override
Definition avfcamera.mm:22
void setCaptureSession(QPlatformMediaCaptureSession *) override
Definition avfcamera.mm:46
bool tryApplyCameraFormat(const QCameraFormat &) override
Definition avfcamera.mm:37
The QCamera class provides interface for system camera devices.
Definition qcamera.h:25
Q_FORWARD_DECLARE_OBJC_CLASS(NSObject)