21#include <emscripten.h>
22#include <emscripten/val.h>
23#include <emscripten/bind.h>
24#include <private/qstdweb_p.h>
25#include <private/qplatformmediarecorder_p.h>
43 bool open(QIODeviceBase::OpenMode mode)
override;
46 bool seek(qint64 pos)
override;
60 void streamError(QMediaRecorder::Error error,
const QString &errorMessage);
68 void audioDataAvailable(emscripten::val Blob,
double timeCodeDifference);
69 void setTrackContraints(QMediaEncoderSettings &settings, emscripten::val stream);
73 QMediaEncoderSettings m_mediaSettings;
74 bool m_needsCamera =
false;
75 bool m_needsAudio =
false;
80 QScopedPointer<qstdweb::EventCallback> m_mediaStreamDataAvailable;
81 QScopedPointer<qstdweb::EventCallback> m_mediaStreamStopped;
82 QScopedPointer<qstdweb::EventCallback> m_mediaStreamError;
83 QScopedPointer<qstdweb::EventCallback> m_mediaStreamStart;
84 QScopedPointer<qstdweb::EventCallback> m_mediaStreamPause;
85 QScopedPointer<qstdweb::EventCallback> m_mediaStreamResume;
124 void setupMediaStream(emscripten::val mStream);
126 bool m_needsAudio =
false;
127 bool m_needsVideo =
false;
128 bool m_active =
false;
129 int m_consumerCount = 0;
130 QSize m_videoResolution;
131 float m_minFrameRate = 0;
132 float m_maxFrameRate = 0;
134 QScopedPointer<qstdweb::EventCallback> m_activeStreamEvent;
135 QScopedPointer<qstdweb::EventCallback> m_inactiveStreamEvent;
Combined button and popup list for selecting options.
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)
JsMediaInputStream * stream