Add support for content hints to VideoTrack.

Permits overriding the source-default is_screencast option to be able to
treat screencast sources as fluid video, preserving motion at the loss
of individual frame quality (or vice versa).

BUG=chromium:653531
R=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2579993003
Cr-Commit-Position: refs/heads/master@{#15659}
diff --git a/webrtc/api/videotrack.h b/webrtc/api/videotrack.h
index cbebec3..ebea848 100644
--- a/webrtc/api/videotrack.h
+++ b/webrtc/api/videotrack.h
@@ -36,6 +36,8 @@
   VideoTrackSourceInterface* GetSource() const override {
     return video_source_.get();
   }
+  ContentHint content_hint() const override;
+  void set_content_hint(ContentHint hint) override;
   bool set_enabled(bool enable) override;
   std::string kind() const override;
 
@@ -50,6 +52,7 @@
   rtc::ThreadChecker signaling_thread_checker_;
   rtc::ThreadChecker worker_thread_checker_;
   rtc::scoped_refptr<VideoTrackSourceInterface> video_source_;
+  ContentHint content_hint_ GUARDED_BY(signaling_thread_checker_);
 };
 
 }  // namespace webrtc