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 |