20#include <emscripten.h>
21#include <emscripten/val.h>
22#include <emscripten/bind.h>
23#include <private/qstdweb_p.h>
24#include <private/qplatformmediarecorder_p.h>
42 bool open(QIODeviceBase::OpenMode mode)
override;
45 bool seek(qint64 pos)
override;
59 void streamError(QMediaRecorder::Error error,
const QString &errorMessage);
67 void audioDataAvailable(emscripten::val Blob,
double timeCodeDifference);
68 void setTrackContraints(QMediaEncoderSettings &settings, emscripten::val stream);
72 QMediaEncoderSettings m_mediaSettings;
73 bool m_needsCamera =
false;
74 bool m_needsAudio =
false;
79 QScopedPointer<qstdweb::EventCallback> m_mediaStreamDataAvailable;
80 QScopedPointer<qstdweb::EventCallback> m_mediaStreamStopped;
81 QScopedPointer<qstdweb::EventCallback> m_mediaStreamError;
82 QScopedPointer<qstdweb::EventCallback> m_mediaStreamStart;
83 QScopedPointer<qstdweb::EventCallback> m_mediaStreamPause;
84 QScopedPointer<qstdweb::EventCallback> m_mediaStreamResume;
105 void setupMediaStream(emscripten::val mStream);
107 bool m_needsAudio =
false;
108 bool m_needsVideo =
false;
109 bool m_active =
false;
111 QScopedPointer<qstdweb::EventCallback> m_activeStreamEvent;
112 QScopedPointer<qstdweb::EventCallback> m_inactiveStreamEvent;