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

Unified Diff: third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp

Issue 2501623003: Implement MediaStreamTrack contentHint skeleton. (Closed)
Patch Set: rebase 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/modules/mediastream/MediaStreamTrack.cpp
diff --git a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
index f27b7dbb68e2694b0d328e1af049050618130c41..a43232c3f3731cac69787f82c1e52ef3f2edbf54 100644
--- a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
@@ -107,6 +107,62 @@ bool MediaStreamTrack::muted() const {
return m_component->muted();
}
+String MediaStreamTrack::contentHint() const {
+ DEFINE_STATIC_LOCAL(String, none, (""));
+ DEFINE_STATIC_LOCAL(String, speech, ("speech"));
Guido Urdaneta 2016/12/08 10:35:36 Do you really need these? You are only using them
pbos 2016/12/08 16:58:32 Done, do you prefer this over inlining the strings
+ DEFINE_STATIC_LOCAL(String, music, ("music"));
+ DEFINE_STATIC_LOCAL(String, fluid, ("fluid"));
+ DEFINE_STATIC_LOCAL(String, detailed, ("detailed"));
+ WebMediaStreamTrack::ContentHint hint = m_component->contentHint();
+ switch (hint) {
+ case WebMediaStreamTrack::ContentHint::None:
+ return none;
+ case WebMediaStreamTrack::ContentHint::AudioSpeech:
+ return speech;
+ case WebMediaStreamTrack::ContentHint::AudioMusic:
+ return music;
+ case WebMediaStreamTrack::ContentHint::VideoFluid:
+ return fluid;
+ case WebMediaStreamTrack::ContentHint::VideoDetailed:
+ return detailed;
+ }
+
+ NOTREACHED();
+ return String();
+}
+
+void MediaStreamTrack::setContentHint(const String& hint) {
+ WebMediaStreamTrack::ContentHint translatedHint =
+ WebMediaStreamTrack::ContentHint::None;
+ switch (m_component->source()->type()) {
+ case MediaStreamSource::TypeAudio:
+ if (hint == "") {
+ translatedHint = WebMediaStreamTrack::ContentHint::None;
+ } else if (hint == "speech") {
+ translatedHint = WebMediaStreamTrack::ContentHint::AudioSpeech;
+ } else if (hint == "music") {
+ translatedHint = WebMediaStreamTrack::ContentHint::AudioMusic;
+ } else {
+ // TODO(pbos): Log warning?
+ return;
+ }
+ break;
+ case MediaStreamSource::TypeVideo:
+ if (hint == "") {
+ translatedHint = WebMediaStreamTrack::ContentHint::None;
+ } else if (hint == "fluid") {
+ translatedHint = WebMediaStreamTrack::ContentHint::VideoFluid;
+ } else if (hint == "detailed") {
+ translatedHint = WebMediaStreamTrack::ContentHint::VideoDetailed;
+ } else {
+ // TODO(pbos): Log warning?
+ return;
+ }
+ }
+
+ m_component->setContentHint(translatedHint);
+}
+
bool MediaStreamTrack::remote() const {
return m_component->source()->remote();
}

Powered by Google App Engine
This is Rietveld 408576698