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
qandroidmediacapturesession.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2016 Ruslan Baratov
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
6
12#include "qmediadevices.h"
13#include "qaudiodevice.h"
14
16
17QAndroidMediaCaptureSession::QAndroidMediaCaptureSession()
18 : m_captureSession(new QAndroidCaptureSession())
19 , m_cameraSession(new QAndroidCameraSession())
20{
21}
22
24{
25 delete m_captureSession;
26 delete m_cameraSession;
27}
28
30{
31 return m_cameraControl;
32}
33
34void QAndroidMediaCaptureSession::setCamera(QPlatformCamera *camera)
35{
36 if (camera) {
37 m_captureSession->setCameraSession(m_cameraSession);
38 } else {
39 m_captureSession->setCameraSession(nullptr);
40 }
41
42 QAndroidCamera *control = static_cast<QAndroidCamera *>(camera);
43 if (m_cameraControl == control)
44 return;
45
46 if (m_cameraControl)
47 m_cameraControl->setCaptureSession(nullptr);
48
49 m_cameraControl = control;
50 if (m_cameraControl)
51 m_cameraControl->setCaptureSession(this);
52
53 emit cameraChanged();
54}
55
57{
58 return m_imageCaptureControl;
59}
60
61void QAndroidMediaCaptureSession::setImageCapture(QPlatformImageCapture *imageCapture)
62{
63 QAndroidImageCapture *control = static_cast<QAndroidImageCapture *>(imageCapture);
64 if (m_imageCaptureControl == control)
65 return;
66
67 if (m_imageCaptureControl)
68 m_imageCaptureControl->setCaptureSession(nullptr);
69
70 m_imageCaptureControl = control;
71 if (m_imageCaptureControl)
72 m_imageCaptureControl->setCaptureSession(this);
73}
74
76{
77 return m_encoder;
78}
79
80void QAndroidMediaCaptureSession::setMediaRecorder(QPlatformMediaRecorder *recorder)
81{
82 QAndroidMediaEncoder *control = static_cast<QAndroidMediaEncoder *>(recorder);
83
84 if (m_encoder == control)
85 return;
86
87 if (m_encoder)
88 m_encoder->setCaptureSession(nullptr);
89
90 m_encoder = control;
91 if (m_encoder)
92 m_encoder->setCaptureSession(this);
93
94 emit encoderChanged();
95
96}
97
98void QAndroidMediaCaptureSession::setAudioInput(QPlatformAudioInput *input)
99{
100 m_captureSession->setAudioInput(input);
101}
102
103void QAndroidMediaCaptureSession::setAudioOutput(QPlatformAudioOutput *output)
104{
105 m_captureSession->setAudioOutput(output);
106}
107
109{
110 m_cameraSession->setVideoSink(sink);
111}
112
113QT_END_NAMESPACE
114
115#include "moc_qandroidmediacapturesession_p.cpp"
void setVideoSink(QVideoSink *surface)
void setCameraSession(QAndroidCameraSession *cameraSession=0)
void setCamera(QPlatformCamera *camera) override
void setAudioOutput(QPlatformAudioOutput *output) override
void setVideoPreview(QVideoSink *sink) override
QPlatformCamera * camera() override
QPlatformMediaRecorder * mediaRecorder() override
void setImageCapture(QPlatformImageCapture *imageCapture) override
QPlatformImageCapture * imageCapture() override
void setAudioInput(QPlatformAudioInput *input) override