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
qwasmmediaplayer_p.h
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
#
ifndef
QWASMMEDIAPLAYER_H
5
#
define
QWASMMEDIAPLAYER_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
/
qplatformmediaplayer_p
.
h
>
19
#
include
<
QtCore
/
qglobal
.
h
>
20
#
include
<
QtCore
/
qpointer
.
h
>
21
#
include
<
QtCore
/
qsize
.
h
>
22
#
include
<
QtCore
/
qurl
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QWasmAudioOutput;
27
class
QWasmVideoOutput
;
28
29
class
QWasmMediaPlayer
:
public
QObject
,
public
QPlatformMediaPlayer
30
{
31
Q_OBJECT
32
33
public
:
34
explicit
QWasmMediaPlayer
(
QMediaPlayer
*
parent
= 0);
35
~
QWasmMediaPlayer
()
override
;
36
37
enum
QWasmMediaPlayerState
{
38
Error
,
39
Idle
,
40
Uninitialized
,
41
Preparing
,
42
Prepared
,
43
Started
,
44
Paused
,
45
Stopped
,
46
PlaybackCompleted
47
};
48
Q_ENUM
(
QWasmMediaPlayerState
)
49
50
enum
QWasmMediaNetworkState
{
NetworkEmpty
= 0,
NetworkIdle
,
NetworkLoading
,
NetworkNoSource
};
51
Q_ENUM
(
QWasmMediaNetworkState
)
52
53
qint64
duration
()
const
override
;
54
qint64
position
()
const
override
;
55
float
bufferProgress
()
const
override
;
56
bool
isAudioAvailable
()
const
override
;
57
bool
isVideoAvailable
()
const
override
;
58
QMediaTimeRange
availablePlaybackRanges
()
const
override
;
59
qreal
playbackRate
()
const
override
;
60
void
setPlaybackRate
(qreal rate)
override
;
61
QUrl
media
()
const
override
;
62
const
QIODevice
*
mediaStream
()
const
override
;
63
void
setMedia
(
const
QUrl &mediaContent, QIODevice *stream)
override
;
64
void
setVideoSink
(QVideoSink *surface)
override
;
65
void
setAudioOutput
(QPlatformAudioOutput *output)
override
;
66
void
setPosition
(qint64 position)
override
;
67
void
play
()
override
;
68
void
pause
()
override
;
69
void
stop
()
override
;
70
bool
isSeekable
()
const
override
;
71
int
trackCount
(TrackType trackType)
override
;
72
73
void
updateAudioDevice
();
74
75
private
Q_SLOTS
:
76
void
volumeChanged
(
float
volume
);
77
void
mutedChanged(
bool
muted);
78
void
videoOutputReady(
bool
ready);
79
void
errorOccured(qint32 code,
const
QString &message);
80
void
bufferingChanged(qint32 percent);
81
void
videoSizeChanged(qint32 width, qint32 height);
82
void
mediaStateChanged(
QWasmMediaPlayer
::
QWasmMediaPlayerState
state);
83
void
setPositionChanged(qint64 position);
84
void
setDurationChanged(qint64 duration);
85
void
videoMetaDataChanged();
86
void
seekableMediaChanged(
bool
seekable);
87
88
void
onMediaStatusChanged(QMediaPlayer::MediaStatus status);
89
90
private
:
91
void
setMediaStatus(QMediaPlayer::MediaStatus status);
92
void
setAudioAvailable(
bool
available);
93
void
setVideoAvailable(
bool
available);
94
void
updateAvailablePlaybackRanges();
95
void
resetBufferingProgress();
96
97
void
setSubtitle(QString subtitle);
98
void
disableTrack(TrackType trackType);
99
void
initVideo();
100
void
initAudio();
101
102
friend
class
StateChangeNotifier
;
103
104
QPointer<QWasmVideoOutput> m_videoOutput;
105
QWasmAudioOutput *m_audioOutput =
nullptr
;
106
107
QUrl m_mediaContent;
108
QIODevice *m_mediaStream =
nullptr
;
109
110
QVideoSink *m_videoSink =
nullptr
;
111
int
m_bufferPercent = -1;
112
bool
m_audioAvailable =
false
;
113
bool
m_videoAvailable =
false
;
114
QSize m_videoSize;
115
bool
m_buffering =
false
;
116
QMediaTimeRange m_availablePlaybackRange;
117
int
m_State;
118
119
bool
m_playWhenReady =
false
;
120
121
};
122
123
QT_END_NAMESPACE
124
125
#
endif
// QWASMMEDIAPLAYER_H
QWasmAudioOutput
Definition
qwasmaudiooutput_p.h:31
QWasmMediaPlayer
Definition
qwasmmediaplayer_p.h:30
QWasmMediaPlayer::updateAudioDevice
void updateAudioDevice()
Definition
qwasmmediaplayer.cpp:292
QWasmMediaPlayer::setVideoSink
void setVideoSink(QVideoSink *surface) override
Definition
qwasmmediaplayer.cpp:263
QWasmMediaPlayer::pause
void pause() override
Definition
qwasmmediaplayer.cpp:317
QWasmMediaPlayer::position
qint64 position() const override
Definition
qwasmmediaplayer.cpp:108
QWasmMediaPlayer::play
void play() override
Definition
qwasmmediaplayer.cpp:299
QWasmMediaPlayer::mediaStream
const QIODevice * mediaStream() const override
Definition
qwasmmediaplayer.cpp:213
QWasmMediaPlayer::availablePlaybackRanges
QMediaTimeRange availablePlaybackRanges() const override
Definition
qwasmmediaplayer.cpp:171
QWasmMediaPlayer::playbackRate
qreal playbackRate() const override
Definition
qwasmmediaplayer.cpp:189
QWasmMediaPlayer::bufferProgress
float bufferProgress() const override
Definition
qwasmmediaplayer.cpp:156
QWasmMediaPlayer::isVideoAvailable
bool isVideoAvailable() const override
Definition
qwasmmediaplayer.cpp:166
QWasmMediaPlayer::~QWasmMediaPlayer
~QWasmMediaPlayer() override
Definition
qwasmmediaplayer.cpp:31
QWasmMediaPlayer::QWasmMediaPlayerState
QWasmMediaPlayerState
Definition
qwasmmediaplayer_p.h:37
QWasmMediaPlayer::Error
@ Error
Definition
qwasmmediaplayer_p.h:38
QWasmMediaPlayer::Started
@ Started
Definition
qwasmmediaplayer_p.h:43
QWasmMediaPlayer::PlaybackCompleted
@ PlaybackCompleted
Definition
qwasmmediaplayer_p.h:46
QWasmMediaPlayer::Stopped
@ Stopped
Definition
qwasmmediaplayer_p.h:45
QWasmMediaPlayer::Preparing
@ Preparing
Definition
qwasmmediaplayer_p.h:41
QWasmMediaPlayer::Paused
@ Paused
Definition
qwasmmediaplayer_p.h:44
QWasmMediaPlayer::Idle
@ Idle
Definition
qwasmmediaplayer_p.h:39
QWasmMediaPlayer::Prepared
@ Prepared
Definition
qwasmmediaplayer_p.h:42
QWasmMediaPlayer::Uninitialized
@ Uninitialized
Definition
qwasmmediaplayer_p.h:40
QWasmMediaPlayer::setMedia
void setMedia(const QUrl &mediaContent, QIODevice *stream) override
Definition
qwasmmediaplayer.cpp:218
QWasmMediaPlayer::setPosition
void setPosition(qint64 position) override
Definition
qwasmmediaplayer.cpp:119
QWasmMediaPlayer::setPlaybackRate
void setPlaybackRate(qreal rate) override
Definition
qwasmmediaplayer.cpp:199
QWasmMediaPlayer::setAudioOutput
void setAudioOutput(QPlatformAudioOutput *output) override
Definition
qwasmmediaplayer.cpp:280
QWasmMediaPlayer::QWasmMediaNetworkState
QWasmMediaNetworkState
Definition
qwasmmediaplayer_p.h:50
QWasmMediaPlayer::NetworkIdle
@ NetworkIdle
Definition
qwasmmediaplayer_p.h:50
QWasmMediaPlayer::NetworkNoSource
@ NetworkNoSource
Definition
qwasmmediaplayer_p.h:50
QWasmMediaPlayer::NetworkEmpty
@ NetworkEmpty
Definition
qwasmmediaplayer_p.h:50
QWasmMediaPlayer::NetworkLoading
@ NetworkLoading
Definition
qwasmmediaplayer_p.h:50
QWasmMediaPlayer::isSeekable
bool isSeekable() const override
Definition
qwasmmediaplayer.cpp:349
QWasmMediaPlayer::isAudioAvailable
bool isAudioAvailable() const override
Definition
qwasmmediaplayer.cpp:161
QWasmMediaPlayer::trackCount
int trackCount(TrackType trackType) override
Definition
qwasmmediaplayer.cpp:416
QWasmMediaPlayer::stop
void stop() override
Definition
qwasmmediaplayer.cpp:332
QWasmMediaPlayer::media
QUrl media() const override
Definition
qwasmmediaplayer.cpp:208
QWasmVideoOutput
Definition
qwasmvideooutput_p.h:41
StateChangeNotifier
Definition
qandroidmediaplayer.cpp:21
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Q_STATIC_LOGGING_CATEGORY
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)
qtmultimedia
src
plugins
multimedia
wasm
mediaplayer
qwasmmediaplayer_p.h
Generated on
for Qt by
1.18.0