MockRealtimeMediaSource.h [plain text]
#ifndef MockRealtimeMediaSource_h
#define MockRealtimeMediaSource_h
#if ENABLE(MEDIA_STREAM)
#include "RealtimeMediaSource.h"
#if USE(OPENWEBRTC)
#include "RealtimeMediaSourceOwr.h"
#endif
namespace WebCore {
class CaptureDevice;
#if USE(OPENWEBRTC)
using BaseRealtimeMediaSourceClass = RealtimeMediaSourceOwr;
#else
using BaseRealtimeMediaSourceClass = RealtimeMediaSource;
#endif
class MockRealtimeMediaSource : public BaseRealtimeMediaSourceClass {
public:
virtual ~MockRealtimeMediaSource() { }
static Vector<CaptureDevice>& audioDevices();
static Vector<CaptureDevice>& videoDevices();
protected:
MockRealtimeMediaSource(const String& id, Type, const String& name);
virtual void updateSettings(RealtimeMediaSourceSettings&) = 0;
virtual void initializeCapabilities(RealtimeMediaSourceCapabilities&) = 0;
#if !USE(OPENWEBRTC)
virtual void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) = 0;
#endif
const RealtimeMediaSourceCapabilities& capabilities() const override;
const RealtimeMediaSourceSettings& settings() const override;
RealtimeMediaSourceSupportedConstraints& supportedConstraints();
unsigned deviceIndex() { return m_deviceIndex; }
private:
void initializeCapabilities();
#if USE(OPENWEBRTC)
void initializeSettings() final;
#else
void initializeSettings();
#endif
RealtimeMediaSourceSettings m_currentSettings;
RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
std::unique_ptr<RealtimeMediaSourceCapabilities> m_capabilities;
unsigned m_deviceIndex { 0 };
};
}
#endif // ENABLE(MEDIA_STREAM)
#endif // MockRealtimeMediaSource_h