![]() |
Qt 6.x
The Qt SDK
|
#include <qwasmvideooutput_p.h>
Inheritance diagram for QWasmVideoOutput:
Collaboration diagram for QWasmVideoOutput:Public Types | |
| enum | WasmVideoMode { VideoOutput , Camera } |
Signals | |
| void | readyChanged (bool) |
| void | bufferingChanged (qint32 percent) |
| void | errorOccured (qint32 code, const QString &message) |
| void | stateChanged (QWasmMediaPlayer::QWasmMediaPlayerState newState) |
| void | progressChanged (qint32 position) |
| void | durationChanged (qint64 duration) |
| void | statusChanged (QMediaPlayer::MediaStatus status) |
| void | sizeChange (qint32 width, qint32 height) |
| void | metaDataLoaded () |
Signals inherited from QObject | |
| void | destroyed (QObject *=nullptr) |
| This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
| void | objectNameChanged (const QString &objectName, QPrivateSignal) |
| This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
| QWasmVideoOutput (QObject *parent=nullptr) | |
| void | setVideoSize (const QSize &) |
| void | start () |
| void | stop () |
| void | reset () |
| void | pause () |
| void | setSurface (QVideoSink *surface) |
| emscripten::val | surfaceElement () |
| bool | isReady () const |
| void | setSource (const QUrl &url) |
| void | setSource (QIODevice *stream) |
| void | setVolume (qreal volume) |
| void | setMuted (bool muted) |
| qint64 | getCurrentPosition () |
| void | seekTo (qint64 position) |
| bool | isVideoSeekable () |
| void | setPlaybackRate (qreal rate) |
| qreal | playbackRate () |
| qint64 | getDuration () |
| void | newFrame (const QVideoFrame &newFrame) |
| void | createVideoElement (const std::string &id) |
| void | createOffscreenElement (const QSize &offscreenSize) |
| void | doElementCallbacks () |
| void | updateVideoElementGeometry (const QRect &windowGeometry) |
| void | addSourceElement (const QString &urlString) |
| void | addCameraSourceElement (const std::string &id) |
| void | removeSourceElement () |
| void | setVideoMode (QWasmVideoOutput::WasmVideoMode mode) |
| void | setHasAudio (bool needsAudio) |
| bool | hasCapability (const QString &cap) |
| emscripten::val | getDeviceCapabilities () |
| bool | setDeviceSetting (const std::string &key, emscripten::val value) |
| bool | isCameraReady () |
| void | videoFrameTimerCallback () |
Public Member Functions inherited from QObject | |
| Q_INVOKABLE | QObject (QObject *parent=nullptr) |
| Constructs an object with parent object parent. | |
| virtual | ~QObject () |
| Destroys the object, deleting all its child objects. | |
| virtual bool | event (QEvent *event) |
| This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| Filters events if this object has been installed as an event filter for the watched object. | |
| QString | objectName () const |
| Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
| Sets the object's name to name. | |
| void | setObjectName (QAnyStringView name) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| QBindable< QString > | bindableObjectName () |
| bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. | |
| bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false. | |
| bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false. | |
| bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false. | |
| bool | blockSignals (bool b) noexcept |
| If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
| QThread * | thread () const |
| Returns the thread in which the object lives. | |
| void | moveToThread (QThread *thread) |
| Changes the thread affinity for this object and its children. | |
| int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
| This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
| void | killTimer (int id) |
| Kills the timer with timer identifier, id. | |
| template<typename T > | |
| T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
| template<typename T > | |
| QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
| template<typename T > | |
| QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| const QObjectList & | children () const |
| Returns a list of child objects. | |
| void | setParent (QObject *parent) |
| Makes the object a child of parent. | |
| void | installEventFilter (QObject *filterObj) |
| Installs an event filter filterObj on this object. | |
| void | removeEventFilter (QObject *obj) |
| Removes an event filter object obj from this object. | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
| bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
| bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
| void | dumpObjectTree () const |
| Dumps a tree of children to the debug output. | |
| void | dumpObjectInfo () const |
| Dumps information about signal connections, etc. | |
| bool | setProperty (const char *name, const QVariant &value) |
| Sets the value of the object's name property to value. | |
| bool | setProperty (const char *name, QVariant &&value) |
| QVariant | property (const char *name) const |
| Returns the value of the object's name property. | |
| QList< QByteArray > | dynamicPropertyNames () const |
| QBindingStorage * | bindingStorage () |
| const QBindingStorage * | bindingStorage () const |
| QObject * | parent () const |
| Returns a pointer to the parent object. | |
| bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. | |
Static Public Member Functions | |
| static void | videoFrameCallback (emscripten::val now, emscripten::val metadata) |
Static Public Member Functions inherited from QObject | |
| static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
| \threadsafe | |
| static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
| template<typename Func1 , typename Func2 > | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
| template<typename Func1 , typename Func2 > | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
| static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
| \threadsafe | |
| static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
| static bool | disconnect (const QMetaObject::Connection &) |
| Disconnect a connection. | |
| template<typename Func1 , typename Func2 > | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
| template<typename Func1 > | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Public Attributes | |
| QVideoSink * | m_wasmSink = nullptr |
Additional Inherited Members | |
Public Slots inherited from QObject | |
| void | deleteLater () |
| \threadsafe | |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const |
| Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
| int | senderSignalIndex () const |
| int | receivers (const char *signal) const |
| Returns the number of receivers connected to the signal. | |
| bool | isSignalConnected (const QMetaMethod &signal) const |
| virtual void | timerEvent (QTimerEvent *event) |
| This event handler can be reimplemented in a subclass to receive timer events for the object. | |
| virtual void | childEvent (QChildEvent *event) |
| This event handler can be reimplemented in a subclass to receive child events. | |
| virtual void | customEvent (QEvent *event) |
| This event handler can be reimplemented in a subclass to receive custom events. | |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
Properties inherited from QObject | |
| QString | objectName |
| the name of this object | |
Related Symbols inherited from QObject | |
| template< class T > T | qobject_cast (const QObject *object) |
| Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
| template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
| template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
| QObjectList | |
| \macro Q_CLASSINFO(Name, Value) | |
Definition at line 35 of file qwasmvideooutput_p.h.
| Enumerator | |
|---|---|
| VideoOutput | |
| Camera | |
Definition at line 39 of file qwasmvideooutput_p.h.
| void QWasmVideoOutput::addCameraSourceElement | ( | const std::string & | id | ) |
Definition at line 265 of file qwasmvideooutput.cpp.
References emit, error, errorOccured(), QString::fromStdString(), qstdweb::Promise::make(), qCDebug, QStringLiteral, qWarning, QMediaPlayer::ResourceError, and qstdweb::PromiseCallbacks::thenFunc.
Here is the call graph for this function:Definition at line 249 of file qwasmvideooutput.cpp.
References emit, errorOccured(), QString::isEmpty(), QStringLiteral, QMediaPlayer::ResourceError, and QString::toStdString().
Referenced by setSource().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 461 of file qwasmvideooutput.cpp.
References QSize::height(), m_videoSurfaceId, Q_FUNC_INFO, qCDebug, and QSize::width().
Referenced by QWasmCamera::setCamera().
Here is the call graph for this function:
Here is the caller graph for this function:| void QWasmVideoOutput::createVideoElement | ( | const std::string & | id | ) |
Definition at line 405 of file qwasmvideooutput.cpp.
References Camera, m_videoSurfaceId, Q_FUNC_INFO, qCDebug, and QString::toStdString().
Referenced by QWasmCamera::setCamera().
Here is the call graph for this function:
Here is the caller graph for this function:| void QWasmVideoOutput::doElementCallbacks | ( | ) |
Definition at line 499 of file qwasmvideooutput.cpp.
References QMediaPlayer::BufferedMedia, bufferingChanged(), QMediaPlayer::BufferingMedia, currentTime(), durationChanged(), emit, QMediaPlayer::EndOfMedia, errorOccured(), QString::fromStdString(), QMediaPlayer::LoadedMedia, QMediaPlayer::LoadingMedia, metaDataLoaded(), QWasmMediaPlayer::Paused, QWasmMediaPlayer::Prepared, QWasmMediaPlayer::Preparing, progressChanged(), Q_FUNC_INFO, Q_UNUSED, qCDebug, readyChanged(), QScopedPointer< T, Cleanup >::reset(), sizeChange(), QMediaPlayer::StalledMedia, QWasmMediaPlayer::Started, stateChanged(), statusChanged(), stop(), QWasmMediaPlayer::Stopped, updateVideoElementGeometry(), videoFrameTimerCallback(), and window().
Here is the call graph for this function:Referenced by addCameraSourceElement(), addSourceElement(), doElementCallbacks(), getDeviceCapabilities(), isVideoSeekable(), pause(), setMuted(), setSource(), setSource(), start(), and stop().
Here is the caller graph for this function:| qint64 QWasmVideoOutput::getCurrentPosition | ( | ) |
Definition at line 357 of file qwasmvideooutput.cpp.
Referenced by QWasmMediaPlayer::position().
Here is the caller graph for this function:| emscripten::val QWasmVideoOutput::getDeviceCapabilities | ( | ) |
Definition at line 1019 of file qwasmvideooutput.cpp.
References emit, errorOccured(), QStringLiteral, and QMediaPlayer::ResourceError.
Referenced by QWasmCamera::isExposureModeSupported(), QWasmCamera::isFocusModeSupported(), QWasmCamera::isoSensitivity(), QWasmCamera::isTorchModeSupported(), QWasmCamera::isWhiteBalanceModeSupported(), QWasmCamera::setColorTemperature(), QWasmCamera::setExposureCompensation(), QWasmCamera::setManualExposureTime(), and QWasmCamera::setManualIsoSensitivity().
Here is the call graph for this function:
Here is the caller graph for this function:| qint64 QWasmVideoOutput::getDuration | ( | ) |
Definition at line 789 of file qwasmvideooutput.cpp.
Referenced by QWasmMediaPlayer::duration().
Here is the caller graph for this function:| bool QWasmVideoOutput::hasCapability | ( | const QString & | cap | ) |
|
inline |
Definition at line 83 of file qwasmvideooutput_p.h.
| bool QWasmVideoOutput::isReady | ( | ) | const |
Definition at line 204 of file qwasmvideooutput.cpp.
| bool QWasmVideoOutput::isVideoSeekable | ( | ) |
Definition at line 386 of file qwasmvideooutput.cpp.
References emit, errorOccured(), qFuzzyCompare(), QStringLiteral, and QMediaPlayer::ResourceError.
Referenced by QWasmMediaPlayer::isSeekable(), and seekTo().
Here is the call graph for this function:
Here is the caller graph for this function:
|
signal |
| void QWasmVideoOutput::newFrame | ( | const QVideoFrame & | newFrame | ) |
Definition at line 799 of file qwasmvideooutput.cpp.
References frame, m_wasmSink, and QVideoSink::setVideoFrame().
Here is the call graph for this function:| void QWasmVideoOutput::pause | ( | ) |
Definition at line 165 of file qwasmvideooutput.cpp.
References emit, errorOccured(), Q_FUNC_INFO, qCDebug, QStringLiteral, and QMediaPlayer::ResourceError.
Referenced by QWasmMediaPlayer::pause(), and QWasmCamera::setActive().
Here is the call graph for this function:
Here is the caller graph for this function:| qreal QWasmVideoOutput::playbackRate | ( | ) |
Definition at line 809 of file qwasmvideooutput.cpp.
Referenced by QWasmMediaPlayer::playbackRate().
Here is the caller graph for this function:
|
signal |
| void QWasmVideoOutput::removeSourceElement | ( | ) |
| void QWasmVideoOutput::reset | ( | ) |
Definition at line 179 of file qwasmvideooutput.cpp.
References m_wasmSink, QVideoSink::platformVideoSink(), and QPlatformVideoSink::setVideoFrame().
Here is the call graph for this function:Definition at line 364 of file qwasmvideooutput.cpp.
References isVideoSeekable(), and qCDebug.
Referenced by QWasmMediaPlayer::setPosition().
Here is the call graph for this function:
Here is the caller graph for this function:| bool QWasmVideoOutput::setDeviceSetting | ( | const std::string & | key, |
| emscripten::val | value | ||
| ) |
Definition at line 1048 of file qwasmvideooutput.cpp.
Referenced by QWasmCamera::setColorTemperature(), QWasmCamera::setExposureCompensation(), QWasmCamera::setExposureMode(), QWasmCamera::setFocusMode(), QWasmCamera::setManualExposureTime(), QWasmCamera::setManualIsoSensitivity(), QWasmCamera::setTorchMode(), and QWasmCamera::setWhiteBalanceMode().
Here is the caller graph for this function:
|
inline |
Definition at line 78 of file qwasmvideooutput_p.h.
| void QWasmVideoOutput::setMuted | ( | bool | muted | ) |
Definition at line 347 of file qwasmvideooutput.cpp.
References emit, errorOccured(), QStringLiteral, and QMediaPlayer::ResourceError.
Here is the call graph for this function:Definition at line 804 of file qwasmvideooutput.cpp.
Referenced by QWasmMediaPlayer::setPlaybackRate().
Here is the caller graph for this function:Definition at line 218 of file qwasmvideooutput.cpp.
References addSourceElement(), emit, errorOccured(), QUrl::isEmpty(), QUrl::isLocalFile(), QFile::open(), Q_FUNC_INFO, qCDebug, QStringLiteral, qWarning, QIODeviceBase::ReadOnly, QMediaPlayer::ResourceError, setSource(), stop(), QUrl::toLocalFile(), QUrl::toString(), and url.
Referenced by QWasmMediaPlayer::setMedia(), and setSource().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 308 of file qwasmvideooutput.cpp.
References qstdweb::Blob::copyFrom(), db, emit, errorOccured(), QString::fromStdString(), mime, QMimeDatabase::mimeTypeForData(), QStringLiteral, qWarning, QMediaPlayer::ResourceError, qstdweb::Blob::val(), qstdweb::window(), and window().
Here is the call graph for this function:| void QWasmVideoOutput::setSurface | ( | QVideoSink * | surface | ) |
Definition at line 195 of file qwasmvideooutput.cpp.
References m_wasmSink, Q_FUNC_INFO, and qCDebug.
Referenced by QWasmCamera::setActive(), and QWasmMediaPlayer::setVideoSink().
Here is the caller graph for this function:| void QWasmVideoOutput::setVideoMode | ( | QWasmVideoOutput::WasmVideoMode | mode | ) |
Definition at line 75 of file qwasmvideooutput.cpp.
Referenced by QWasmCamera::setCamera().
Here is the caller graph for this function:Definition at line 66 of file qwasmvideooutput.cpp.
References QSize::height(), updateVideoElementGeometry(), and QSize::width().
Here is the call graph for this function:Definition at line 341 of file qwasmvideooutput.cpp.
References qBound().
Here is the call graph for this function:| void QWasmVideoOutput::start | ( | ) |
Definition at line 80 of file qwasmvideooutput.cpp.
References Camera, emit, errorOccured(), QString::isEmpty(), m_wasmSink, Q_FUNC_INFO, qCDebug, QStringLiteral, QMediaPlayer::ResourceError, updateVideoElementGeometry(), videoFrameTimerCallback(), and VideoOutput.
Referenced by QWasmMediaPlayer::play(), and QWasmCamera::setActive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
signal |
|
signal |
| void QWasmVideoOutput::stop | ( | ) |
Definition at line 146 of file qwasmvideooutput.cpp.
References emit, errorOccured(), Q_FUNC_INFO, qCDebug, QStringLiteral, and QMediaPlayer::ResourceError.
Referenced by doElementCallbacks(), setSource(), and QWasmMediaPlayer::stop().
Here is the call graph for this function:
Here is the caller graph for this function:| emscripten::val QWasmVideoOutput::surfaceElement | ( | ) |
Definition at line 190 of file qwasmvideooutput.cpp.
Definition at line 770 of file qwasmvideooutput.cpp.
References arg, QRect::height(), QRect::left(), Q_FUNC_INFO, qCDebug, QRect::size(), QRect::top(), QRect::topLeft(), and QRect::width().
Referenced by doElementCallbacks(), QWasmCamera::setCamera(), setVideoSize(), and start().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 883 of file qwasmvideooutput.cpp.
References qstdweb::PromiseCallbacks::catchFunc, error, QVideoFrameFormat::Format_Invalid, frameSize(), QVideoFrameFormat::frameWidth(), QString::fromStdString(), m_videoSurfaceId, m_wasmSink, qstdweb::Promise::make(), now, QVideoFrameFormat::pixelFormat(), Q_FUNC_INFO, Q_UNUSED, qCDebug, qWarning, QVideoSink::setVideoFrame(), QVideoTextureHelper::TextureDescription::strideForWidth(), QVideoTextureHelper::textureDescription(), and qstdweb::PromiseCallbacks::thenFunc.
Referenced by EMSCRIPTEN_BINDINGS().
Here is the call graph for this function:
Here is the caller graph for this function:| void QWasmVideoOutput::videoFrameTimerCallback | ( | ) |
Definition at line 969 of file qwasmvideooutput.cpp.
References context, frame, m_videoSurfaceId, and Q_UNUSED.
Referenced by doElementCallbacks(), and start().
Here is the caller graph for this function:| QVideoSink* QWasmVideoOutput::m_wasmSink = nullptr |
Definition at line 88 of file qwasmvideooutput_p.h.
Referenced by newFrame(), reset(), setSurface(), start(), and videoFrameCallback().