Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(849)

Unified Diff: third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.cpp

Issue 2501623003: Implement MediaStreamTrack contentHint skeleton. (Closed)
Patch Set: ContentHint -> ContentHintType Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698