| Index: third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp
|
| diff --git a/third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp b/third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp
|
| index a7975be598da3e4518efdb47976bdc3cd5280cff..6ffd532accc9921b7e77e6fefe040aefb1734d56 100644
|
| --- a/third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp
|
| +++ b/third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp
|
| @@ -33,6 +33,7 @@
|
|
|
| #include "platform/UUID.h"
|
| #include "platform/audio/AudioBus.h"
|
| +#include "platform/mediastream/MediaStreamCenter.h"
|
| #include "platform/mediastream/MediaStreamSource.h"
|
| #include "public/platform/WebAudioSourceProvider.h"
|
| #include "public/platform/WebMediaStreamTrack.h"
|
| @@ -50,19 +51,29 @@ MediaStreamComponent* MediaStreamComponent::create(const String& id,
|
|
|
| MediaStreamComponent::MediaStreamComponent(const String& id,
|
| MediaStreamSource* source)
|
| - : MediaStreamComponent(id, source, true, false) {}
|
| -
|
| -MediaStreamComponent::MediaStreamComponent(const String& id,
|
| - MediaStreamSource* source,
|
| - bool enabled,
|
| - bool muted)
|
| - : m_source(source), m_id(id), m_enabled(enabled), m_muted(muted) {
|
| + : MediaStreamComponent(id,
|
| + source,
|
| + true,
|
| + false,
|
| + WebMediaStreamTrack::ContentHintType::None) {}
|
| +
|
| +MediaStreamComponent::MediaStreamComponent(
|
| + const String& id,
|
| + MediaStreamSource* source,
|
| + bool enabled,
|
| + bool muted,
|
| + WebMediaStreamTrack::ContentHintType contentHint)
|
| + : m_source(source),
|
| + m_id(id),
|
| + m_enabled(enabled),
|
| + m_muted(muted),
|
| + m_contentHint(contentHint) {
|
| DCHECK(m_id.length());
|
| }
|
|
|
| MediaStreamComponent* MediaStreamComponent::clone() const {
|
| MediaStreamComponent* clonedComponent = new MediaStreamComponent(
|
| - createCanonicalUUIDString(), source(), m_enabled, m_muted);
|
| + createCanonicalUUIDString(), source(), m_enabled, m_muted, m_contentHint);
|
| // TODO(pbos): Clone |m_trackData| as well.
|
| // TODO(pbos): Move properties from MediaStreamTrack here so that they are
|
| // also cloned. Part of crbug:669212 since stopped is currently not carried
|
| @@ -86,6 +97,27 @@ void MediaStreamComponent::getSettings(
|
| m_trackData->getSettings(settings);
|
| }
|
|
|
| +void MediaStreamComponent::setContentHint(
|
| + WebMediaStreamTrack::ContentHintType hint) {
|
| + switch (hint) {
|
| + case WebMediaStreamTrack::ContentHintType::None:
|
| + break;
|
| + case WebMediaStreamTrack::ContentHintType::AudioSpeech:
|
| + case WebMediaStreamTrack::ContentHintType::AudioMusic:
|
| + DCHECK_EQ(MediaStreamSource::TypeAudio, source()->type());
|
| + break;
|
| + case WebMediaStreamTrack::ContentHintType::VideoFluid:
|
| + case WebMediaStreamTrack::ContentHintType::VideoDetailed:
|
| + DCHECK_EQ(MediaStreamSource::TypeVideo, source()->type());
|
| + break;
|
| + }
|
| + if (hint == m_contentHint)
|
| + return;
|
| + m_contentHint = hint;
|
| +
|
| + MediaStreamCenter::instance().didSetContentHint(this);
|
| +}
|
| +
|
| void MediaStreamComponent::AudioSourceProviderImpl::provideInput(
|
| AudioBus* bus,
|
| size_t framesToProcess) {
|
|
|