1// Copyright (C) 2024 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 QMEDIACAPTURESESSION_P_H
5#define QMEDIACAPTURESESSION_P_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/qmediacapturesession.h>
19
20#include <QtCore/qpointer.h>
21#include <QtCore/private/qobject_p.h>
22
23QT_BEGIN_NAMESPACE
24
25class QMediaCaptureSessionPrivate : public QObjectPrivate
26{
27public:
28 static QMediaCaptureSessionPrivate *get(QMediaCaptureSession *session)
29 {
30 return reinterpret_cast<QMediaCaptureSessionPrivate *>(QObjectPrivate::get(o: session));
31 }
32
33 Q_DECLARE_PUBLIC(QMediaCaptureSession)
34
35 std::unique_ptr<QPlatformMediaCaptureSession> captureSession;
36 QAudioInput *audioInput = nullptr;
37 QPointer<QAudioBufferInput> audioBufferInput;
38 QAudioOutput *audioOutput = nullptr;
39 QPointer<QCamera> camera;
40 QPointer<QScreenCapture> screenCapture;
41 QPointer<QWindowCapture> windowCapture;
42 QPointer<QVideoFrameInput> videoFrameInput;
43 QPointer<QImageCapture> imageCapture;
44 QPointer<QMediaRecorder> recorder;
45 QPointer<QVideoSink> videoSink;
46 QPointer<QObject> videoOutput;
47
48 void setVideoSink(QVideoSink *sink);
49};
50
51QT_END_NAMESPACE
52
53#endif // QMEDIACAPTURESESSION_P_H
54

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtmultimedia/src/multimedia/recording/qmediacapturesession_p.h