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

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

Issue 2501623003: Implement MediaStreamTrack contentHint skeleton. (Closed)
Patch Set: const chars 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..727008af5cc2e3f4843290c7760303e8ada34e67 100644
--- a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
@@ -43,6 +43,14 @@
namespace blink {
+namespace {
+static const char contentHintStringNone[] = "";
esprehn 2016/12/09 02:30:09 k prefix constants
pbos 2016/12/09 17:34:46 Done.
+static const char contentHintStringAudioSpeech[] = "speech";
+static const char contentHintStringAudioMusic[] = "music";
+static const char contentHintStringVideoFluid[] = "fluid";
+static const char contentHintStringVideoDetailed[] = "detailed";
+} // namespace
+
MediaStreamTrack* MediaStreamTrack::create(ExecutionContext* context,
MediaStreamComponent* component) {
MediaStreamTrack* track = new MediaStreamTrack(context, component);
@@ -107,6 +115,57 @@ bool MediaStreamTrack::muted() const {
return m_component->muted();
}
+String MediaStreamTrack::contentHint() const {
+ WebMediaStreamTrack::ContentHint hint = m_component->contentHint();
+ switch (hint) {
+ case WebMediaStreamTrack::ContentHint::None:
+ return contentHintStringNone;
+ case WebMediaStreamTrack::ContentHint::AudioSpeech:
+ return contentHintStringAudioSpeech;
+ case WebMediaStreamTrack::ContentHint::AudioMusic:
+ return contentHintStringAudioMusic;
+ case WebMediaStreamTrack::ContentHint::VideoFluid:
+ return contentHintStringVideoFluid;
+ case WebMediaStreamTrack::ContentHint::VideoDetailed:
+ return contentHintStringVideoDetailed;
+ }
+
+ 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 == contentHintStringNone) {
+ translatedHint = WebMediaStreamTrack::ContentHint::None;
+ } else if (hint == contentHintStringAudioSpeech) {
+ translatedHint = WebMediaStreamTrack::ContentHint::AudioSpeech;
+ } else if (hint == contentHintStringAudioMusic) {
+ translatedHint = WebMediaStreamTrack::ContentHint::AudioMusic;
+ } else {
+ // TODO(pbos): Log warning?
esprehn 2016/12/09 02:30:09 What does the spec say you should do with an inval
pbos 2016/12/09 17:34:46 Ignore, similar to enums. I put a comment in.
+ return;
+ }
+ break;
+ case MediaStreamSource::TypeVideo:
+ if (hint == contentHintStringNone) {
+ translatedHint = WebMediaStreamTrack::ContentHint::None;
+ } else if (hint == contentHintStringVideoFluid) {
+ translatedHint = WebMediaStreamTrack::ContentHint::VideoFluid;
+ } else if (hint == contentHintStringVideoDetailed) {
+ translatedHint = WebMediaStreamTrack::ContentHint::VideoDetailed;
+ } else {
+ // TODO(pbos): Log warning?
esprehn 2016/12/09 02:30:09 ditto
pbos 2016/12/09 17:34:46 Done.
+ return;
+ }
+ }
+
+ m_component->setContentHint(translatedHint);
+}
+
bool MediaStreamTrack::remote() const {
return m_component->source()->remote();
}

Powered by Google App Engine
This is Rietveld 408576698