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
qgstreamervideosource_p.h
Go to the documentation of this file.
1// Copyright (C) 2026 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 QGSTREAMERVIDEOSOURCE_P_H
5#define QGSTREAMERVIDEOSOURCE_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 "private/qobject_p.h"
19#include <QtMultimedia/qgstreamervideosource.h>
20#include <QtCore/qstring.h>
21
22#include <variant>
23
24QT_BEGIN_NAMESPACE
25
26class QPlatformCamera;
27class QGStreamerVideoSource;
28class QMediaCaptureSession;
29
30using GstElementOrDescription = std::variant<QString, GstElement *>;
31
33{
34 Q_DECLARE_PUBLIC(QGStreamerVideoSource)
35public:
37 QPlatformCamera *platformCamera = nullptr;
38 QMediaCaptureSession *captureSession = nullptr;
39
40 static QGStreamerVideoSourcePrivate *get(QGStreamerVideoSource *source)
41 {
42 return static_cast<QGStreamerVideoSourcePrivate *>(QObjectPrivate::get(source));
43 }
44
45 // export to use in QQuickGStreamerVideoSource
46 Q_MULTIMEDIA_EXPORT void createPlatformCamera(QGStreamerVideoSource *source,
47 GstElementOrDescription elementOrDesc,
48 bool active = false);
49};
50
51QT_END_NAMESPACE
52
53#endif // QGSTREAMERVIDEOSOURCE_P_H
static QGStreamerVideoSourcePrivate * get(QGStreamerVideoSource *source)
Q_MULTIMEDIA_EXPORT void createPlatformCamera(QGStreamerVideoSource *source, GstElementOrDescription elementOrDesc, bool active=false)
QMediaCaptureSession * captureSession
struct _GstElement GstElement
Combined button and popup list for selecting options.