SpeechRecognitionCaptureSource.cpp [plain text]
#include "config.h"
#include "SpeechRecognitionCaptureSource.h"
#if ENABLE(MEDIA_STREAM)
#include "CaptureDeviceManager.h"
#include "RealtimeMediaSourceCenter.h"
#include "SpeechRecognitionUpdate.h"
#endif
namespace WebCore {
void SpeechRecognitionCaptureSource::mute()
{
#if ENABLE(MEDIA_STREAM)
m_impl->mute();
#endif
}
#if ENABLE(MEDIA_STREAM)
Optional<CaptureDevice> SpeechRecognitionCaptureSource::findCaptureDevice()
{
Optional<CaptureDevice> captureDevice;
auto devices = RealtimeMediaSourceCenter::singleton().audioCaptureFactory().audioCaptureDeviceManager().captureDevices();
for (auto device : devices) {
if (!device.enabled())
continue;
if (!captureDevice)
captureDevice = device;
if (device.isDefault()) {
captureDevice = device;
break;
}
}
return captureDevice;
}
CaptureSourceOrError SpeechRecognitionCaptureSource::createRealtimeMediaSource(const CaptureDevice& captureDevice)
{
return RealtimeMediaSourceCenter::singleton().audioCaptureFactory().createAudioCaptureSource(captureDevice, { }, { });
}
SpeechRecognitionCaptureSource::SpeechRecognitionCaptureSource(SpeechRecognitionConnectionClientIdentifier clientIdentifier, DataCallback&& dataCallback, StateUpdateCallback&& stateUpdateCallback, Ref<RealtimeMediaSource>&& source)
: m_impl(makeUnique<SpeechRecognitionCaptureSourceImpl>(clientIdentifier, WTFMove(dataCallback), WTFMove(stateUpdateCallback), WTFMove(source)))
{
}
#endif
}