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
qpipewire_videostream_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
QPIPEWIRE_VIDEOSTREAM_P_H
5
#
define
QPIPEWIRE_VIDEOSTREAM_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
/
private
/
qpipewire_cameracontextmanager_p
.
h
>
19
#
include
<
QtMultimedia
/
private
/
qtmultimediaglobal_p
.
h
>
20
#
include
<
QtMultimedia
/
qvideoframe
.
h
>
21
#
include
<
QtMultimedia
/
qvideoframeformat
.
h
>
22
#
include
<
QtCore
/
qbytearray
.
h
>
23
#
include
<
QtCore
/
qmutex
.
h
>
24
#
include
<
QtCore
/
qobject
.
h
>
25
#
include
<
QtCore
/
qsize
.
h
>
26
27
#
include
<
spa
/
param
/
video
/
format
.
h
>
28
29
QT_BEGIN_NAMESPACE
30
31
namespace
QtPipeWire
{
32
33
class
Q_MULTIMEDIA_EXPORT
QPipeWireVideoStream
:
public
QObject
34
{
35
Q_OBJECT
36
37
public
:
38
QPipeWireVideoStream
(
QCameraContextManager
&
context
,
QByteArray
targetObject
,
39
QVideoFrameFormat
::
PixelFormat
requestedPixelFormat
,
QSize
requestedSize
,
40
qreal
requestedFrameRate
);
41
~
QPipeWireVideoStream
()
override
;
42
43
Q_DISABLE_COPY_MOVE
(
QPipeWireVideoStream
)
44
45
bool
start
();
46
47
QVideoFrameFormat
frameFormat
()
const
;
48
49
Q_SIGNALS
:
50
void
newVideoFrame
(
const
QVideoFrame
&
frame
);
51
void
errorOccurred
(
const
QString
&
errorString
);
52
53
private
:
54
void
onStateChanged
(
pw_stream_state
old
,
pw_stream_state
state
,
const
char
*
error
);
55
void
onParamChanged
(
uint32_t
id
,
const
spa_pod
*
param
);
56
void
onProcess
();
57
58
static
const
pw_stream_events
&
streamEvents
();
59
60
QCameraContextManager
&
m_context
;
61
const
QByteArray
m_targetObject
;
62
const
QVideoFrameFormat
::
PixelFormat
m_requestedPixelFormat
;
63
const
QSize
m_requestedSize
;
64
const
qreal
m_requestedFrameRate
;
65
66
PwStreamHandle
m_stream
;
67
spa_hook
m_streamListener
{};
68
69
mutable
QMutex
m_formatMutex
;
70
QVideoFrameFormat
m_frameFormat
;
71
};
72
73
}
// namespace QtPipeWire
74
75
QT_END_NAMESPACE
76
77
#
endif
// QPIPEWIRE_VIDEOSTREAM_P_H
QtPipeWire::QPipeWireVideoStream
Definition
qpipewire_videostream_p.h:34
QtPipeWire
Definition
qpipewire_async_support.cpp:10
QtPipeWire::Q_STATIC_LOGGING_CATEGORY
Q_STATIC_LOGGING_CATEGORY(lcPipewireAudioSink, "qt.multimedia.pipewire.audiosink")
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
__has_include
#define __has_include(x)
Definition
qcompilerdetection.h:459
qtmultimedia
src
multimedia
pipewire
qpipewire_videostream_p.h
Generated on
for Qt by
1.16.1