Support VP8 encoder settings in VideoSendStream.

Stop-gap solution to support VP8 codec settings in the new API until
encoder settings can be passed on to the VideoEncoder without requiring
explicit support for the codec.

BUG=3424
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17929004

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6650 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc
index ff3fe50..be3fa5c 100644
--- a/video/video_send_stream.cc
+++ b/video/video_send_stream.cc
@@ -298,8 +298,6 @@
     const void* encoder_settings) {
   assert(!streams.empty());
   assert(config_.rtp.ssrcs.size() >= streams.size());
-  // TODO(pbos): Wire encoder_settings.
-  assert(encoder_settings == NULL);
 
   VideoCodec video_codec;
   memset(&video_codec, 0, sizeof(video_codec));
@@ -317,6 +315,16 @@
     video_codec.codecSpecific.VP8.keyFrameInterval = 3000;
   }
 
+  if (video_codec.codecType == kVideoCodecVP8) {
+    if (encoder_settings != NULL) {
+      video_codec.codecSpecific.VP8 =
+          *reinterpret_cast<const VideoCodecVP8*>(encoder_settings);
+    }
+  } else {
+    // TODO(pbos): Support encoder_settings codec-agnostically.
+    assert(encoder_settings == NULL);
+  }
+
   strncpy(video_codec.plName,
           config_.encoder_settings.payload_name.c_str(),
           kPayloadNameSize - 1);