| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/media/rtc_video_capturer.h" | 5 #include "content/renderer/media/rtc_video_capturer.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 | 9 |
| 10 namespace content { | 10 namespace content { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 } | 22 } |
| 23 | 23 |
| 24 cricket::CaptureState RtcVideoCapturer::Start( | 24 cricket::CaptureState RtcVideoCapturer::Start( |
| 25 const cricket::VideoFormat& capture_format) { | 25 const cricket::VideoFormat& capture_format) { |
| 26 DVLOG(3) << " RtcVideoCapturer::Start "; | 26 DVLOG(3) << " RtcVideoCapturer::Start "; |
| 27 if (state_ == VIDEO_CAPTURE_STATE_STARTED) { | 27 if (state_ == VIDEO_CAPTURE_STATE_STARTED) { |
| 28 DVLOG(1) << "Got a StartCapture when already started!!! "; | 28 DVLOG(1) << "Got a StartCapture when already started!!! "; |
| 29 return cricket::CS_FAILED; | 29 return cricket::CS_FAILED; |
| 30 } | 30 } |
| 31 | 31 |
| 32 media::VideoCaptureCapability cap; | 32 media::VideoCaptureParams request; |
| 33 cap.width = capture_format.width; | 33 request.width = capture_format.width; |
| 34 cap.height = capture_format.height; | 34 request.height = capture_format.height; |
| 35 cap.frame_rate = capture_format.framerate(); | 35 request.frame_rate = capture_format.framerate(); |
| 36 cap.color = media::PIXEL_FORMAT_I420; | |
| 37 | 36 |
| 38 SetCaptureFormat(&capture_format); | 37 SetCaptureFormat(&capture_format); |
| 39 | 38 |
| 40 state_ = VIDEO_CAPTURE_STATE_STARTED; | 39 state_ = VIDEO_CAPTURE_STATE_STARTED; |
| 41 first_frame_timestamp_ = media::kNoTimestamp(); | 40 first_frame_timestamp_ = media::kNoTimestamp(); |
| 42 delegate_->StartCapture( | 41 delegate_->StartCapture( |
| 43 cap, | 42 request, |
| 44 base::Bind(&RtcVideoCapturer::OnFrameCaptured, base::Unretained(this)), | 43 base::Bind(&RtcVideoCapturer::OnFrameCaptured, base::Unretained(this)), |
| 45 base::Bind(&RtcVideoCapturer::OnStateChange, base::Unretained(this))); | 44 base::Bind(&RtcVideoCapturer::OnStateChange, base::Unretained(this))); |
| 46 // Update the desired aspect ratio so that later the video frame can be | 45 // Update the desired aspect ratio so that later the video frame can be |
| 47 // cropped to meet the requirement if the camera returns a different | 46 // cropped to meet the requirement if the camera returns a different |
| 48 // resolution than the |cap|. | 47 // resolution than the |request|. |
| 49 UpdateAspectRatio(cap.width, cap.height); | 48 UpdateAspectRatio(request.width, request.height); |
| 50 return cricket::CS_STARTING; | 49 return cricket::CS_STARTING; |
| 51 } | 50 } |
| 52 | 51 |
| 53 void RtcVideoCapturer::Stop() { | 52 void RtcVideoCapturer::Stop() { |
| 54 DVLOG(3) << " RtcVideoCapturer::Stop "; | 53 DVLOG(3) << " RtcVideoCapturer::Stop "; |
| 55 if (state_ == VIDEO_CAPTURE_STATE_STOPPED) { | 54 if (state_ == VIDEO_CAPTURE_STATE_STOPPED) { |
| 56 DVLOG(1) << "Got a StopCapture while not started."; | 55 DVLOG(1) << "Got a StopCapture while not started."; |
| 57 return; | 56 return; |
| 58 } | 57 } |
| 59 | 58 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 converted_state = cricket::CS_FAILED; | 148 converted_state = cricket::CS_FAILED; |
| 150 break; | 149 break; |
| 151 default: | 150 default: |
| 152 NOTREACHED(); | 151 NOTREACHED(); |
| 153 break; | 152 break; |
| 154 } | 153 } |
| 155 SignalStateChange(this, converted_state); | 154 SignalStateChange(this, converted_state); |
| 156 } | 155 } |
| 157 | 156 |
| 158 } // namespace content | 157 } // namespace content |
| OLD | NEW |