// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
\page qtmultimedia-wasm.html
\title Qt Multimedia on WebAssembly
\brief Platform notes for WebAssembly

This page covers the availability of Qt Multimedia features on WebAssembly.

\section1 Limitations

\list
\li Due to its asynchronous nature, some features such as getting the list of
QMediaDevices, will not be readily available and may take some time to request permissions and
gather the list of devices. The audioInputsChanged, audioOutputsChanged and
videoInputChanged signals from QMediaDevices class will be emitted when they are available.

\li Camera and Microphone inputs require user permissions, and can only be used in a secure https context.

\li Playing video currently works by using a html 2d context, so all operations are on the CPU.

\li Performance is acceptable, although there is a copy on every frame, so it may be
less performant than desktop platforms when playing hi-def video.

\li Using and selecting different Codecs/video formats is not currently supported.

\li Playing data from a stream (using \c {setSourceDevice(QIODevice*)}), instead
of fetching a URL, is not currently supported.

\li Some advanced features such as spacial audio, codecs, screen and window recording
are not currently supported.

\li Files can be served from the/any web server, respective
of \l{https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS}{CORS}.

\li Although possible, playing local files stored in the application file system
is discouraged because of the limited size of local file storage.

\li Selecting encoding codecs is not possible.

\li Issues may exist when using the Firefox browser on any platform.

\li Due to platform limitations, QMediaDevices must be run on the main thread.
\endlist

 */
