VideoStreamDecoder skeleton.

Initial commit for the public VideoStreamDecoder. To get some initial feedback
about structuring within WebRTC this CL only contains the skeleton of the class.

Bug: webrtc:8909
Change-Id: I076bb45dd30a450b3f7ef239e69ff872dc34dcf2
Reviewed-on: https://webrtc-review.googlesource.com/62080
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22560}
diff --git a/video/BUILD.gn b/video/BUILD.gn
index 35d9ffe..32b05f7 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -102,6 +102,28 @@
   }
 }
 
+rtc_source_set("video_stream_decoder_impl") {
+  visibility = [ "*" ]
+  sources = [
+    "video_stream_decoder_impl.cc",
+    "video_stream_decoder_impl.h",
+  ]
+
+  deps = [
+    "../api:encoded_frame_api",
+    "../api:optional",
+    "../api:video_frame_api",
+    "../api:video_stream_decoder",
+    "../api/video_codecs:video_codecs_api",
+    "../rtc_base:rtc_base_approved",
+  ]
+
+  if (!build_with_chromium && is_clang) {
+    # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+    suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+  }
+}
+
 if (rtc_include_tests) {
   rtc_source_set("video_quality_test") {
     testonly = true