| Index: content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
|
| diff --git a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
|
| index 199cdff7538a42aafd901257dae07a394a9e974a..0c5e1571f91b1111fda60941452d3d248dd3340b 100644
|
| --- a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
|
| +++ b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
|
| @@ -12,20 +12,25 @@
|
|
|
| namespace content {
|
|
|
| -WebRtcVideoCapturerAdapter::WebRtcVideoCapturerAdapter(bool is_screencast)
|
| - : is_screencast_(is_screencast),
|
| +WebRtcVideoCapturerAdapter::WebRtcVideoCapturerAdapter(
|
| + const scoped_refptr<base::MessageLoopProxy>& worker_thread_proxy,
|
| + bool is_screencast)
|
| + : worker_thread_proxy_(worker_thread_proxy),
|
| + is_screencast_(is_screencast),
|
| running_(false),
|
| buffer_(NULL),
|
| buffer_size_(0) {
|
| }
|
|
|
| WebRtcVideoCapturerAdapter::~WebRtcVideoCapturerAdapter() {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| DVLOG(3) << " WebRtcVideoCapturerAdapter::dtor";
|
| base::AlignedFree(buffer_);
|
| }
|
|
|
| cricket::CaptureState WebRtcVideoCapturerAdapter::Start(
|
| const cricket::VideoFormat& capture_format) {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| DCHECK(!running_);
|
| DVLOG(3) << " WebRtcVideoCapturerAdapter::Start w = " << capture_format.width
|
| << " h = " << capture_format.height;
|
| @@ -35,6 +40,7 @@ cricket::CaptureState WebRtcVideoCapturerAdapter::Start(
|
| }
|
|
|
| void WebRtcVideoCapturerAdapter::Stop() {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| DVLOG(3) << " WebRtcVideoCapturerAdapter::Stop ";
|
| DCHECK(running_);
|
| running_ = false;
|
| @@ -43,11 +49,13 @@ void WebRtcVideoCapturerAdapter::Stop() {
|
| }
|
|
|
| bool WebRtcVideoCapturerAdapter::IsRunning() {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| return running_;
|
| }
|
|
|
| bool WebRtcVideoCapturerAdapter::GetPreferredFourccs(
|
| std::vector<uint32>* fourccs) {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| if (!fourccs)
|
| return false;
|
| fourccs->push_back(cricket::FOURCC_I420);
|
| @@ -61,6 +69,7 @@ bool WebRtcVideoCapturerAdapter::IsScreencast() const {
|
| bool WebRtcVideoCapturerAdapter::GetBestCaptureFormat(
|
| const cricket::VideoFormat& desired,
|
| cricket::VideoFormat* best_format) {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| DVLOG(3) << " GetBestCaptureFormat:: "
|
| << " w = " << desired.width
|
| << " h = " << desired.height;
|
| @@ -77,6 +86,7 @@ bool WebRtcVideoCapturerAdapter::GetBestCaptureFormat(
|
|
|
| void WebRtcVideoCapturerAdapter::OnFrameCaptured(
|
| const scoped_refptr<media::VideoFrame>& frame) {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| DCHECK(media::VideoFrame::I420 == frame->format() ||
|
| media::VideoFrame::YV12 == frame->format());
|
| if (first_frame_timestamp_ == media::kNoTimestamp())
|
| @@ -120,6 +130,7 @@ void WebRtcVideoCapturerAdapter::OnFrameCaptured(
|
|
|
| void WebRtcVideoCapturerAdapter::UpdateI420Buffer(
|
| const scoped_refptr<media::VideoFrame>& src) {
|
| + DCHECK(worker_thread_proxy_->BelongsToCurrentThread());
|
| const int src_width = src->coded_size().width();
|
| const int src_height = src->coded_size().height();
|
| const int dst_width = src->visible_rect().width();
|
|
|