Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwasmmediaintegration.cpp
Go to the documentation of this file.
1
// Copyright (C) 2022 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
#
include
"qwasmmediaintegration_p.h"
5
6
#
include
"mediaplayer/qwasmmediaplayer_p.h"
7
#
include
<
QtMultimedia
/
private
/
qplatformvideosink_p
.
h
>
8
#
include
"common/qwasmaudioinput_p.h"
9
#
include
"common/qwasmaudiooutput_p.h"
10
#
include
"mediacapture/qwasmmediacapturesession_p.h"
11
#
include
"mediacapture/qwasmmediarecorder_p.h"
12
#
include
"mediacapture/qwasmcamera_p.h"
13
#
include
"mediacapture/qwasmimagecapture_p.h"
14
#
include
"mediacapture/qwasmscreencapture_p.h"
15
#
include
"mediacapture/qwasmwindowcapture_p.h"
16
#
include
"mediacapture/qwasmcapturablewindows_p.h"
17
18
#
include
<
QtMultimedia
/
qcamera
.
h
>
19
#
include
<
QtMultimedia
/
qcameradevice
.
h
>
20
#
include
<
QtMultimedia
/
private
/
qplatformaudiodevices_p
.
h
>
21
#
include
<
QtMultimedia
/
private
/
qplatformmediaformatinfo_p
.
h
>
22
#
include
<
QtMultimedia
/
private
/
qplatformmediaplugin_p
.
h
>
23
#
include
<
QtMultimedia
/
private
/
qplatformvideodevices_p
.
h
>
24
#
include
<
QtCore
/
qloggingcategory
.
h
>
25
26
QT_BEGIN_NAMESPACE
27
28
29
class
QWasmMediaPlugin
:
public
QPlatformMediaPlugin
30
{
31
Q_OBJECT
32
Q_PLUGIN_METADATA(IID QPlatformMediaPlugin_iid FILE
"wasm.json"
)
33
34
public
:
35
QWasmMediaPlugin
()
36
:
QPlatformMediaPlugin
()
37
{}
38
39
QPlatformMediaIntegration
*
create
(
const
QString
&
name
)
override
40
{
41
if
(
name
== u"wasm")
42
return
new
QWasmMediaIntegration
;
43
return
nullptr
;
44
}
45
};
46
47
QWasmMediaIntegration
::
QWasmMediaIntegration
()
48
:
QPlatformMediaIntegration
(
QLatin1String
(
"wasm"
)) { }
49
50
q23
::
expected
<
QPlatformMediaPlayer
*,
QString
>
QWasmMediaIntegration
::
createPlayer
(QMediaPlayer *player)
51
{
52
return
new
QWasmMediaPlayer
(player);
53
}
54
55
q23
::
expected
<
QPlatformVideoSink
*,
QString
>
QWasmMediaIntegration
::
createVideoSink
(QVideoSink *sink)
56
{
57
return
new
QOpenGLRhiVideoSink(sink);
58
}
59
60
q23
::
expected
<
QPlatformAudioInput
*,
QString
>
QWasmMediaIntegration
::
createAudioInput
(QAudioInput *audioInput)
61
{
62
return
new
QWasmAudioInput(audioInput);
63
}
64
65
q23
::
expected
<
QPlatformAudioOutput
*,
QString
>
QWasmMediaIntegration
::
createAudioOutput
(QAudioOutput *q)
66
{
67
return
new
QWasmAudioOutput(q);
68
}
69
70
QPlatformMediaFormatInfo
*
QWasmMediaIntegration
::
createFormatInfo
()
71
{
72
// TODO: create custom implementation
73
return
new
QPlatformMediaFormatInfo;
74
}
75
76
QPlatformVideoDevices
*
QWasmMediaIntegration
::
createVideoDevices
()
77
{
78
return
new
QWasmCameraDevices(
this
);
79
}
80
81
q23
::
expected
<
QPlatformMediaCaptureSession
*,
QString
>
QWasmMediaIntegration
::
createCaptureSession
()
82
{
83
return
new
QWasmMediaCaptureSession
(
)
;
84
}
85
86
q23
::
expected
<
QPlatformMediaRecorder
*,
QString
>
QWasmMediaIntegration
::
createRecorder
(QMediaRecorder *recorder)
87
{
88
return
new
QWasmMediaRecorder
(recorder);
89
}
90
91
q23
::
expected
<
QPlatformCamera
*,
QString
>
QWasmMediaIntegration
::
createCamera
(QCamera *camera)
92
{
93
return
new
QWasmCamera
(camera);
94
}
95
96
q23
::
expected
<
QPlatformImageCapture
*,
QString
>
97
QWasmMediaIntegration
::
createImageCapture
(QImageCapture *imageCapture)
98
{
99
return
new
QWasmImageCapture
(imageCapture);
100
}
101
102
QList
<
QCameraDevice
>
QWasmMediaIntegration
::
videoInputs
()
103
{
104
return
videoDevices()->videoInputs();
105
}
106
107
QPlatformSurfaceCapture
*
QWasmMediaIntegration
::
createScreenCapture
(QScreenCapture *screenCapture)
108
{
109
return
new
QWasmScreenCapture
(screenCapture);
110
}
111
112
QPlatformSurfaceCapture
*
QWasmMediaIntegration
::
createWindowCapture
(QWindowCapture *windowCapture)
113
{
114
return
new
QWasmWindowCapture
(windowCapture);
115
}
116
117
QPlatformCapturableWindows
*
QWasmMediaIntegration
::
createCapturableWindows
()
118
{
119
return
new
QWasmCapturableWindows();
120
}
121
122
QT_END_NAMESPACE
123
124
#
include
"qwasmmediaintegration.moc"
QWasmCamera
Definition
qwasmcamera_p.h:35
QWasmImageCapture
Definition
qwasmimagecapture_p.h:27
QWasmMediaCaptureSession
Definition
qwasmmediacapturesession_p.h:36
QWasmMediaCaptureSession::QWasmMediaCaptureSession
QWasmMediaCaptureSession()
Definition
qwasmmediacapturesession.cpp:22
QWasmMediaIntegration
Definition
qwasmmediaintegration_p.h:26
QWasmMediaIntegration::videoInputs
QList< QCameraDevice > videoInputs()
Definition
qwasmmediaintegration.cpp:102
QWasmMediaIntegration::createVideoDevices
QPlatformVideoDevices * createVideoDevices() override
Definition
qwasmmediaintegration.cpp:76
QWasmMediaIntegration::createCamera
q23::expected< QPlatformCamera *, QString > createCamera(QCamera *camera) override
Definition
qwasmmediaintegration.cpp:91
QWasmMediaIntegration::createPlayer
q23::expected< QPlatformMediaPlayer *, QString > createPlayer(QMediaPlayer *player) override
Definition
qwasmmediaintegration.cpp:50
QWasmMediaIntegration::createFormatInfo
QPlatformMediaFormatInfo * createFormatInfo() override
Definition
qwasmmediaintegration.cpp:70
QWasmMediaIntegration::createCapturableWindows
QPlatformCapturableWindows * createCapturableWindows() override
Definition
qwasmmediaintegration.cpp:117
QWasmMediaIntegration::createVideoSink
q23::expected< QPlatformVideoSink *, QString > createVideoSink(QVideoSink *sink) override
Definition
qwasmmediaintegration.cpp:55
QWasmMediaIntegration::createWindowCapture
QPlatformSurfaceCapture * createWindowCapture(QWindowCapture *windowCapture) override
Definition
qwasmmediaintegration.cpp:112
QWasmMediaIntegration::createAudioInput
q23::expected< QPlatformAudioInput *, QString > createAudioInput(QAudioInput *audioInput) override
Definition
qwasmmediaintegration.cpp:60
QWasmMediaIntegration::createAudioOutput
q23::expected< QPlatformAudioOutput *, QString > createAudioOutput(QAudioOutput *q) override
Definition
qwasmmediaintegration.cpp:65
QWasmMediaIntegration::createScreenCapture
QPlatformSurfaceCapture * createScreenCapture(QScreenCapture *screenCapture) override
Definition
qwasmmediaintegration.cpp:107
QWasmMediaIntegration::createImageCapture
q23::expected< QPlatformImageCapture *, QString > createImageCapture(QImageCapture *imageCapture) override
Definition
qwasmmediaintegration.cpp:97
QWasmMediaIntegration::createCaptureSession
q23::expected< QPlatformMediaCaptureSession *, QString > createCaptureSession() override
Definition
qwasmmediaintegration.cpp:81
QWasmMediaIntegration::QWasmMediaIntegration
QWasmMediaIntegration()
Definition
qwasmmediaintegration.cpp:47
QWasmMediaIntegration::createRecorder
q23::expected< QPlatformMediaRecorder *, QString > createRecorder(QMediaRecorder *recorder) override
Definition
qwasmmediaintegration.cpp:86
QWasmMediaPlayer
Definition
qwasmmediaplayer_p.h:30
QWasmMediaPlugin
Definition
qwasmmediaintegration.cpp:30
QWasmMediaRecorder::QWasmMediaRecorder
QWasmMediaRecorder(QMediaRecorder *parent)
Definition
qwasmmediarecorder.cpp:25
QWasmScreenCapture
Definition
qwasmscreencapture_p.h:32
QWasmWindowCapture
Definition
qwasmwindowcapture_p.h:35
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtmultimedia
src
plugins
multimedia
wasm
qwasmmediaintegration.cpp
Generated on
for Qt by
1.18.0