| Index: webrtc/media/base/capturemanager.cc
 | 
| diff --git a/webrtc/media/base/capturemanager.cc b/webrtc/media/base/capturemanager.cc
 | 
| index 689b6d762024155c45bff736134b4608de50b620..3628fb306d8663a0f18f5b30224a9bc4751777df 100644
 | 
| --- a/webrtc/media/base/capturemanager.cc
 | 
| +++ b/webrtc/media/base/capturemanager.cc
 | 
| @@ -23,7 +23,7 @@ class VideoCapturerState {
 | 
|   public:
 | 
|    static const VideoFormatPod kDefaultCaptureFormat;
 | 
|  
 | 
| -  static VideoCapturerState* Create(VideoCapturer* video_capturer);
 | 
| +  explicit VideoCapturerState(VideoCapturer* capturer);
 | 
|    ~VideoCapturerState() {}
 | 
|  
 | 
|    void AddCaptureResolution(const VideoFormat& desired_format);
 | 
| @@ -32,13 +32,9 @@ class VideoCapturerState {
 | 
|  
 | 
|    int IncCaptureStartRef();
 | 
|    int DecCaptureStartRef();
 | 
| -  CaptureRenderAdapter* adapter() {
 | 
| -    RTC_DCHECK(thread_checker_.CalledOnValidThread());
 | 
| -    return adapter_.get();
 | 
| -  }
 | 
|    VideoCapturer* GetVideoCapturer() {
 | 
|      RTC_DCHECK(thread_checker_.CalledOnValidThread());
 | 
| -    return adapter()->video_capturer();
 | 
| +    return video_capturer_;
 | 
|    }
 | 
|  
 | 
|    int start_count() const {
 | 
| @@ -53,11 +49,9 @@ class VideoCapturerState {
 | 
|    };
 | 
|    typedef std::vector<CaptureResolutionInfo> CaptureFormats;
 | 
|  
 | 
| -  explicit VideoCapturerState(CaptureRenderAdapter* adapter);
 | 
| -
 | 
|    rtc::ThreadChecker thread_checker_;
 | 
| -  rtc::scoped_ptr<CaptureRenderAdapter> adapter_;
 | 
|  
 | 
| +  VideoCapturer* video_capturer_;
 | 
|    int start_count_;
 | 
|    CaptureFormats capture_formats_;
 | 
|  };
 | 
| @@ -66,17 +60,8 @@ const VideoFormatPod VideoCapturerState::kDefaultCaptureFormat = {
 | 
|    640, 360, FPS_TO_INTERVAL(30), FOURCC_ANY
 | 
|  };
 | 
|  
 | 
| -VideoCapturerState::VideoCapturerState(CaptureRenderAdapter* adapter)
 | 
| -    : adapter_(adapter), start_count_(1) {}
 | 
| -
 | 
| -// static
 | 
| -VideoCapturerState* VideoCapturerState::Create(VideoCapturer* video_capturer) {
 | 
| -  CaptureRenderAdapter* adapter = CaptureRenderAdapter::Create(video_capturer);
 | 
| -  if (!adapter) {
 | 
| -    return NULL;
 | 
| -  }
 | 
| -  return new VideoCapturerState(adapter);
 | 
| -}
 | 
| +VideoCapturerState::VideoCapturerState(VideoCapturer* capturer)
 | 
| +    : video_capturer_(capturer), start_count_(1) {}
 | 
|  
 | 
|  void VideoCapturerState::AddCaptureResolution(
 | 
|      const VideoFormat& desired_format) {
 | 
| @@ -276,11 +261,10 @@ void CaptureManager::AddVideoSink(VideoCapturer* video_capturer,
 | 
|    if (!video_capturer || !sink) {
 | 
|      return;
 | 
|    }
 | 
| -  CaptureRenderAdapter* adapter = GetAdapter(video_capturer);
 | 
| -  if (!adapter) {
 | 
| -    return;
 | 
| -  }
 | 
| -  adapter->AddSink(sink);
 | 
| +  rtc::VideoSinkWants wants;
 | 
| +  // Renderers must be able to apply rotation.
 | 
| +  wants.rotation_applied = false;
 | 
| +  video_capturer->AddOrUpdateSink(sink, wants);
 | 
|  }
 | 
|  
 | 
|  void CaptureManager::RemoveVideoSink(
 | 
| @@ -290,11 +274,7 @@ void CaptureManager::RemoveVideoSink(
 | 
|    if (!video_capturer || !sink) {
 | 
|      return;
 | 
|    }
 | 
| -  CaptureRenderAdapter* adapter = GetAdapter(video_capturer);
 | 
| -  if (!adapter) {
 | 
| -    return;
 | 
| -  }
 | 
| -  adapter->RemoveSink(sink);
 | 
| +  video_capturer->RemoveSink(sink);
 | 
|  }
 | 
|  
 | 
|  bool CaptureManager::IsCapturerRegistered(VideoCapturer* video_capturer) const {
 | 
| @@ -304,11 +284,7 @@ bool CaptureManager::IsCapturerRegistered(VideoCapturer* video_capturer) const {
 | 
|  
 | 
|  bool CaptureManager::RegisterVideoCapturer(VideoCapturer* video_capturer) {
 | 
|    RTC_DCHECK(thread_checker_.CalledOnValidThread());
 | 
| -  VideoCapturerState* capture_state =
 | 
| -      VideoCapturerState::Create(video_capturer);
 | 
| -  if (!capture_state) {
 | 
| -    return false;
 | 
| -  }
 | 
| +  VideoCapturerState* capture_state = new VideoCapturerState(video_capturer);
 | 
|    capture_states_[video_capturer] = capture_state;
 | 
|    SignalCapturerStateChange.repeat(video_capturer->SignalStateChange);
 | 
|    return true;
 | 
| @@ -376,14 +352,4 @@ VideoCapturerState* CaptureManager::GetCaptureState(
 | 
|    return iter->second;
 | 
|  }
 | 
|  
 | 
| -CaptureRenderAdapter* CaptureManager::GetAdapter(
 | 
| -    VideoCapturer* video_capturer) const {
 | 
| -  RTC_DCHECK(thread_checker_.CalledOnValidThread());
 | 
| -  VideoCapturerState* capture_state = GetCaptureState(video_capturer);
 | 
| -  if (!capture_state) {
 | 
| -    return NULL;
 | 
| -  }
 | 
| -  return capture_state->adapter();
 | 
| -}
 | 
| -
 | 
|  }  // namespace cricket
 | 
| 
 |