MockRealtimeMediaSourceCenter.h [plain text]
#pragma once
#if ENABLE(MEDIA_STREAM)
#include "CaptureDeviceManager.h"
#include "MockRealtimeAudioSource.h"
#include "MockRealtimeVideoSource.h"
#include "RealtimeMediaSourceCenter.h"
namespace WebCore {
class MockRealtimeMediaSourceCenter final : public RealtimeMediaSourceCenter {
public:
WEBCORE_EXPORT static void setMockRealtimeMediaSourceCenterEnabled(bool);
private:
MockRealtimeMediaSourceCenter() = default;
friend NeverDestroyed<MockRealtimeMediaSourceCenter>;
RealtimeMediaSource::AudioCaptureFactory& defaultAudioFactory() final { return MockRealtimeAudioSource::factory(); }
RealtimeMediaSource::VideoCaptureFactory& defaultVideoFactory() final { return MockRealtimeVideoSource::factory(); }
CaptureDeviceManager& defaultAudioCaptureDeviceManager() final { return m_defaultAudioCaptureDeviceManager; }
CaptureDeviceManager& defaultVideoCaptureDeviceManager() final { return m_defaultVideoCaptureDeviceManager; }
class MockAudioCaptureDeviceManager final : public CaptureDeviceManager {
private:
Vector<CaptureDevice>& captureDevices() final { return MockRealtimeMediaSource::audioDevices(); }
};
class MockVideoCaptureDeviceManager final : public CaptureDeviceManager {
private:
Vector<CaptureDevice>& captureDevices() final { return MockRealtimeMediaSource::videoDevices(); }
};
MockAudioCaptureDeviceManager m_defaultAudioCaptureDeviceManager;
MockVideoCaptureDeviceManager m_defaultVideoCaptureDeviceManager;
};
}
#endif // MockRealtimeMediaSourceCenter_h