(Auto)update libjingle 74873066-> 74873164

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7089 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/media/base/fakemediaengine.h b/talk/media/base/fakemediaengine.h
index 8963aa7..a6eabef 100644
--- a/talk/media/base/fakemediaengine.h
+++ b/talk/media/base/fakemediaengine.h
@@ -930,6 +930,10 @@
     capture_ = capture;
     return true;
   }
+  VideoFormat GetStartCaptureFormat() const {
+    return VideoFormat(640, 480, cricket::VideoFormat::FpsToInterval(30),
+                       FOURCC_I420);
+  }
 
   sigslot::repeater2<VideoCapturer*, CaptureState> SignalCaptureStateChange;
 
diff --git a/talk/media/base/filemediaengine.h b/talk/media/base/filemediaengine.h
index ad6c938..981e945 100644
--- a/talk/media/base/filemediaengine.h
+++ b/talk/media/base/filemediaengine.h
@@ -150,6 +150,9 @@
                                         MediaProcessorDirection direction) {
     return true;
   }
+  VideoFormat GetStartCaptureFormat() const {
+    return VideoFormat();
+  }
 
   virtual sigslot::repeater2<VideoCapturer*, CaptureState>&
       SignalVideoCaptureStateChange() {
diff --git a/talk/media/base/mediaengine.h b/talk/media/base/mediaengine.h
index 9daa05d..25f7eb3 100644
--- a/talk/media/base/mediaengine.h
+++ b/talk/media/base/mediaengine.h
@@ -147,6 +147,8 @@
                                         VoiceProcessor* video_processor,
                                         MediaProcessorDirection direction) = 0;
 
+  virtual VideoFormat GetStartCaptureFormat() const = 0;
+
   virtual sigslot::repeater2<VideoCapturer*, CaptureState>&
       SignalVideoCaptureStateChange() = 0;
 };
@@ -276,6 +278,9 @@
                                         MediaProcessorDirection direction) {
     return voice_.UnregisterProcessor(ssrc, processor, direction);
   }
+  virtual VideoFormat GetStartCaptureFormat() const {
+    return video_.GetStartCaptureFormat();
+  }
   virtual sigslot::repeater2<VideoCapturer*, CaptureState>&
       SignalVideoCaptureStateChange() {
     return signal_state_change_;
@@ -356,6 +361,7 @@
     return rtp_header_extensions_;
   }
   void SetLogging(int min_sev, const char* filter) {}
+  VideoFormat GetStartCaptureFormat() const { return VideoFormat(); }
 
   sigslot::signal2<VideoCapturer*, CaptureState> SignalCaptureStateChange;
  private:
diff --git a/talk/media/webrtc/webrtcmediaengine.h b/talk/media/webrtc/webrtcmediaengine.h
index 1700878..2a8c66c 100644
--- a/talk/media/webrtc/webrtcmediaengine.h
+++ b/talk/media/webrtc/webrtcmediaengine.h
@@ -185,6 +185,9 @@
     return delegate_->UnregisterVoiceProcessor(ssrc, video_processor,
         direction);
   }
+  virtual VideoFormat GetStartCaptureFormat() const OVERRIDE {
+    return delegate_->GetStartCaptureFormat();
+  }
   virtual sigslot::repeater2<VideoCapturer*, CaptureState>&
       SignalVideoCaptureStateChange() {
     return delegate_->SignalVideoCaptureStateChange();
diff --git a/talk/media/webrtc/webrtcvideoengine.h b/talk/media/webrtc/webrtcvideoengine.h
index b6c37af..4e41809 100644
--- a/talk/media/webrtc/webrtcvideoengine.h
+++ b/talk/media/webrtc/webrtcvideoengine.h
@@ -169,6 +169,8 @@
   bool ShouldIgnoreTrace(const std::string& trace);
   int GetNumOfChannels();
 
+  VideoFormat GetStartCaptureFormat() const { return default_codec_format_; }
+
   rtc::CpuMonitor* cpu_monitor() { return cpu_monitor_.get(); }
 
  protected:
diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
index d63e8f4..44c1bf8 100644
--- a/talk/media/webrtc/webrtcvideoengine2.cc
+++ b/talk/media/webrtc/webrtcvideoengine2.cc
@@ -286,6 +286,10 @@
     : worker_thread_(NULL),
       voice_engine_(NULL),
       video_codecs_(DefaultVideoCodecs()),
+      default_codec_format_(kDefaultVideoCodecPref.width,
+                            kDefaultVideoCodecPref.height,
+                            FPS_TO_INTERVAL(kDefaultFramerate),
+                            FOURCC_ANY),
       initialized_(false),
       cpu_monitor_(new rtc::CpuMonitor(NULL)),
       channel_factory_(NULL) {
@@ -354,6 +358,11 @@
     return false;
   }
 
+  default_codec_format_ =
+      VideoFormat(codec.width,
+                  codec.height,
+                  VideoFormat::FpsToInterval(codec.framerate),
+                  FOURCC_ANY);
   video_codecs_.clear();
   video_codecs_.push_back(codec);
   return true;
diff --git a/talk/media/webrtc/webrtcvideoengine2.h b/talk/media/webrtc/webrtcvideoengine2.h
index ab644d0..d77afb9 100644
--- a/talk/media/webrtc/webrtcvideoengine2.h
+++ b/talk/media/webrtc/webrtcvideoengine2.h
@@ -168,6 +168,8 @@
   // Check whether the supplied trace should be ignored.
   bool ShouldIgnoreTrace(const std::string& trace);
 
+  VideoFormat GetStartCaptureFormat() const { return default_codec_format_; }
+
   rtc::CpuMonitor* cpu_monitor() { return cpu_monitor_.get(); }
 
   virtual WebRtcVideoEncoderFactory2* GetVideoEncoderFactory();
@@ -177,6 +179,7 @@
   WebRtcVoiceEngine* voice_engine_;
   std::vector<VideoCodec> video_codecs_;
   std::vector<RtpHeaderExtension> rtp_header_extensions_;
+  VideoFormat default_codec_format_;
 
   bool initialized_;
 
diff --git a/talk/session/media/channelmanager.cc b/talk/session/media/channelmanager.cc
index 2803a7e..45e7e47 100644
--- a/talk/session/media/channelmanager.cc
+++ b/talk/session/media/channelmanager.cc
@@ -724,28 +724,16 @@
 }
 
 bool ChannelManager::SetDefaultVideoEncoderConfig(const VideoEncoderConfig& c) {
-  return worker_thread_->Invoke<bool>(
-      Bind(&ChannelManager::SetDefaultVideoEncoderConfig_w, this, c));
-}
-
-VideoEncoderConfig ChannelManager::GetDefaultVideoEncoderConfig() const {
-  return worker_thread_->Invoke<VideoEncoderConfig>(
-      Bind(&ChannelManager::GetDefaultVideoEncoderConfig_w, this));
-}
-
-bool ChannelManager::SetDefaultVideoEncoderConfig_w(
-    const VideoEncoderConfig& c) {
+  bool ret = true;
   if (initialized_) {
-    if (!media_engine_->SetDefaultVideoEncoderConfig(c)) {
-      return false;
-    }
+    ret = worker_thread_->Invoke<bool>(
+        Bind(&MediaEngineInterface::SetDefaultVideoEncoderConfig,
+             media_engine_.get(), c));
   }
-  default_video_encoder_config_ = c;
-  return true;
-}
-
-VideoEncoderConfig ChannelManager::GetDefaultVideoEncoderConfig_w() const {
-  return default_video_encoder_config_;
+  if (ret) {
+    default_video_encoder_config_ = c;
+  }
+  return ret;
 }
 
 bool ChannelManager::SetLocalMonitor(bool enable) {
@@ -957,6 +945,11 @@
   device_manager_->SetVideoCaptureDeviceMaxFormat(usb_id, max_format);
 }
 
+VideoFormat ChannelManager::GetStartCaptureFormat() {
+  return worker_thread_->Invoke<VideoFormat>(
+      Bind(&MediaEngineInterface::GetStartCaptureFormat, media_engine_.get()));
+}
+
 bool ChannelManager::StartAecDump(rtc::PlatformFile file) {
   return worker_thread_->Invoke<bool>(
       Bind(&MediaEngineInterface::StartAecDump, media_engine_.get(), file));
diff --git a/talk/session/media/channelmanager.h b/talk/session/media/channelmanager.h
index 47cb6e5..fa79014 100644
--- a/talk/session/media/channelmanager.h
+++ b/talk/session/media/channelmanager.h
@@ -163,7 +163,6 @@
   VideoCapturer* CreateScreenCapturer(const ScreencastId& screenid);
   bool SetCaptureDevice(const std::string& cam_device);
   bool SetDefaultVideoEncoderConfig(const VideoEncoderConfig& config);
-  VideoEncoderConfig GetDefaultVideoEncoderConfig() const;
   // RTX will be enabled/disabled in engines that support it. The supporting
   // engines will start offering an RTX codec. Must be called before Init().
   bool SetVideoRtxEnabled(bool enable);
@@ -231,6 +230,10 @@
   // This API is mainly a hook used by unittests.
   const std::string& video_device_name() const { return video_device_name_; }
 
+  // TODO(hellner): Remove this function once the engine capturer has been
+  // removed.
+  VideoFormat GetStartCaptureFormat();
+
  protected:
   // Adds non-transient parameters which can only be changed through the
   // options store.
@@ -279,8 +282,6 @@
   bool UnregisterVideoProcessor_w(VideoCapturer* capturer,
                                   VideoProcessor* processor);
   bool IsScreencastRunning_w() const;
-  bool SetDefaultVideoEncoderConfig_w(const VideoEncoderConfig& config);
-  VideoEncoderConfig GetDefaultVideoEncoderConfig_w() const;
   virtual void OnMessage(rtc::Message *message);
 
   rtc::scoped_ptr<MediaEngineInterface> media_engine_;