9#include <QtCore/qloggingcategory.h>
31void QWasmMediaPlayer::initVideo()
43 &QWasmMediaPlayer::bufferingChanged);
45 &QWasmMediaPlayer::errorOccured);
47 &QWasmMediaPlayer::mediaStateChanged);
49 &QWasmMediaPlayer::setPositionChanged);
51 &QWasmMediaPlayer::setDurationChanged);
53 &QWasmMediaPlayer::videoSizeChanged);
55 &QWasmMediaPlayer::videoOutputReady);
57 &QWasmMediaPlayer::onMediaStatusChanged);
59 &QWasmMediaPlayer::videoMetaDataChanged);
61 setVideoAvailable(
true);
64void QWasmMediaPlayer::initAudio()
69 this, &QWasmMediaPlayer::volumeChanged);
71 this, &QWasmMediaPlayer::mutedChanged);
74 &QWasmMediaPlayer::bufferingChanged);
76 &QWasmMediaPlayer::errorOccured);
78 &QWasmMediaPlayer::setPositionChanged);
80 &QWasmMediaPlayer::setDurationChanged);
82 &QWasmMediaPlayer::onMediaStatusChanged);
84 &QWasmMediaPlayer::mediaStateChanged);
85 setAudioAvailable(
true);
111 if (seekPosition == this->
position())
117 if (m_videoAvailable)
123void QWasmMediaPlayer::volumeChanged(
float gain)
128 if (m_videoAvailable)
132void QWasmMediaPlayer::mutedChanged(
bool muted)
137 if (m_videoAvailable)
143 return qBound(0.0, (m_bufferPercent * .01), 1.0);
148 return m_audioAvailable;
153 return m_videoAvailable;
158 return m_availablePlaybackRange;
161void QWasmMediaPlayer::updateAvailablePlaybackRanges()
195 return m_mediaContent;
200 return m_mediaStream;
226 resetBufferingProgress();
231 if (m_videoSink ==
sink)
245 if (m_audioOutput ==
output)
265 m_videoOutput->
start();
266 m_playWhenReady =
true;
270 m_audioOutput->
start();
274#ifdef DEBUG_AUDIOENGINE
275 QAudioEnginePrivate::checkNoError(
"play");
287 m_videoOutput->
pause();
289 m_audioOutput->
pause();
296 m_playWhenReady =
false;
305 m_videoOutput->
stop();
307 m_audioOutput->
stop();
338void QWasmMediaPlayer::bufferingChanged(
qint32 percent)
340 m_buffering = percent != 100;
341 m_bufferPercent = percent;
343 updateAvailablePlaybackRanges();
351 if (
width == 0 ||
height == 0 || newSize == m_videoSize)
354 m_videoSize = newSize;
391void QWasmMediaPlayer::setDurationChanged(
qint64 duration)
396void QWasmMediaPlayer::videoOutputReady(
bool ready)
398 setVideoAvailable(ready);
400 if (m_playWhenReady && m_videoOutput->
isReady())
420void QWasmMediaPlayer::setAudioAvailable(
bool available)
422 if (m_audioAvailable == available)
425 m_audioAvailable = available;
429void QWasmMediaPlayer::setVideoAvailable(
bool available)
431 if (m_videoAvailable == available)
435 m_videoSize =
QSize();
437 m_videoAvailable = available;
441void QWasmMediaPlayer::resetBufferingProgress()
450 setMediaStatus(status);
453void QWasmMediaPlayer::videoMetaDataChanged()
460#include "moc_qwasmmediaplayer_p.cpp"
void mutedChanged(bool muted)
QAudioDevice device
\qmlproperty AudioDevice QtMultimedia::AudioOutput::device
void volumeChanged(float volume)
\inmodule QtCore \reentrant
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
\threadsafe
\inmodule QtCore\reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
std::string toStdString() const
Returns a std::string object with the data contained in this QString.
bool isEmpty() const
Returns true if the URL has no data; otherwise returns false.
static QUuid createUuid()
On any platform other than Windows, this function returns a new UUID with variant QUuid::DCE and vers...
QString toString(StringFormat mode=WithBraces) const
The QVideoSink class represents a generic sink for video data.
void progressChanged(qint32 position)
void bufferingChanged(qint32 percent)
void errorOccured(qint32 code, const QString &message)
void stateChanged(QWasmMediaPlayer::QWasmMediaPlayerState newState)
void statusChanged(QMediaPlayer::MediaStatus status)
void durationChanged(qint64 duration)
void setAudioDevice(const QAudioDevice &device) final
void setSource(const QUrl &url)
void updateVideoElementGeometry(const QRect &windowGeometry)
void sizeChange(qint32 width, qint32 height)
void durationChanged(qint64 duration)
void setMuted(bool muted)
void setSource(const QUrl &url)
void setVideoMode(QWasmVideoOutput::WasmVideoMode mode)
void bufferingChanged(qint32 percent)
void seekTo(qint64 position)
void setVolume(qreal volume)
void createVideoElement(const std::string &id)
void stateChanged(QWasmMediaPlayer::QWasmMediaPlayerState newState)
void setSurface(QVideoSink *surface)
void statusChanged(QMediaPlayer::MediaStatus status)
void progressChanged(qint32 position)
void errorOccured(qint32 code, const QString &message)
qint64 getCurrentPosition()
void setPlaybackRate(qreal rate)
void doElementCallbacks()
void createOffscreenElement(const QSize &offscreenSize)
Combined button and popup list for selecting options.
DBusConnection const char DBusError * error
#define Q_LOGGING_CATEGORY(name,...)
#define qCDebug(category,...)
constexpr const T & qBound(const T &min, const T &val, const T &max)
GLint GLsizei GLsizei height
GLuint GLsizei const GLchar * message
GLsizei GLenum GLboolean sink
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
QT_BEGIN_NAMESPACE typedef uchar * output
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent