RTCOfferAnswerOptions.cpp [plain text]
#include "config.h"
#if ENABLE(WEB_RTC)
#include "RTCOfferAnswerOptions.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
RTCOfferAnswerOptions::RTCOfferAnswerOptions()
: m_voiceActivityDetection(true)
{
}
bool RTCOfferAnswerOptions::initialize(const Dictionary& options)
{
bool voiceActivityDetection;
if (options.get("voiceActivityDetection", voiceActivityDetection))
m_voiceActivityDetection = voiceActivityDetection;
return true;
}
RefPtr<RTCOfferOptions> RTCOfferOptions::create(const Dictionary& options, ExceptionCode& ec)
{
RefPtr<RTCOfferOptions> offerOptions = adoptRef(new RTCOfferOptions());
if (!offerOptions->initialize(options)) {
ec = TYPE_MISMATCH_ERR;
return nullptr;
}
return offerOptions;
}
RTCOfferOptions::RTCOfferOptions()
: m_offerToReceiveVideo(0)
, m_offerToReceiveAudio(0)
, m_iceRestart(false)
{
}
bool RTCOfferOptions::initialize(const Dictionary& options)
{
if (options.isUndefinedOrNull())
return true;
String stringValue;
int64_t intConversionResult;
bool numberConversionSuccess;
if (options.get("offerToReceiveVideo", stringValue)) {
intConversionResult = stringValue.toInt64Strict(&numberConversionSuccess);
if (!numberConversionSuccess)
return false;
m_offerToReceiveVideo = intConversionResult;
}
if (options.get("offerToReceiveAudio", stringValue)) {
intConversionResult = stringValue.toInt64Strict(&numberConversionSuccess);
if (!numberConversionSuccess)
return false;
m_offerToReceiveAudio = intConversionResult;
}
bool iceRestart;
if (options.get("iceRestart", iceRestart))
m_iceRestart = iceRestart;
return RTCOfferAnswerOptions::initialize(options);
}
RefPtr<RTCAnswerOptions> RTCAnswerOptions::create(const Dictionary& options, ExceptionCode& ec)
{
RefPtr<RTCAnswerOptions> offerOptions = adoptRef(new RTCAnswerOptions());
if (!offerOptions->initialize(options)) {
ec = TYPE_MISMATCH_ERR;
return nullptr;
}
return offerOptions;
}
bool RTCAnswerOptions::initialize(const Dictionary& options)
{
if (options.isUndefinedOrNull())
return true;
return RTCOfferAnswerOptions::initialize(options);
}
}
#endif // ENABLE(WEB_RTC)