OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/media_stream_video_track.h" | 5 #include "content/renderer/media/media_stream_video_track.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 | 10 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 typedef std::pair<void*, VideoCaptureDeliverFrameCB> VideoIdCallbackPair; | 71 typedef std::pair<void*, VideoCaptureDeliverFrameCB> VideoIdCallbackPair; |
72 std::vector<VideoIdCallbackPair> callbacks_; | 72 std::vector<VideoIdCallbackPair> callbacks_; |
73 | 73 |
74 DISALLOW_COPY_AND_ASSIGN(FrameDeliverer); | 74 DISALLOW_COPY_AND_ASSIGN(FrameDeliverer); |
75 }; | 75 }; |
76 | 76 |
77 MediaStreamVideoTrack::FrameDeliverer::FrameDeliverer( | 77 MediaStreamVideoTrack::FrameDeliverer::FrameDeliverer( |
78 const scoped_refptr<base::MessageLoopProxy>& io_message_loop, bool enabled) | 78 const scoped_refptr<base::MessageLoopProxy>& io_message_loop, bool enabled) |
79 : io_message_loop_(io_message_loop), | 79 : io_message_loop_(io_message_loop), |
80 enabled_(enabled) { | 80 enabled_(enabled) { |
81 DCHECK(io_message_loop_); | 81 DCHECK(io_message_loop_.get()); |
82 } | 82 } |
83 | 83 |
84 MediaStreamVideoTrack::FrameDeliverer::~FrameDeliverer() { | 84 MediaStreamVideoTrack::FrameDeliverer::~FrameDeliverer() { |
85 DCHECK(callbacks_.empty()); | 85 DCHECK(callbacks_.empty()); |
86 } | 86 } |
87 | 87 |
88 void MediaStreamVideoTrack::FrameDeliverer::AddCallback( | 88 void MediaStreamVideoTrack::FrameDeliverer::AddCallback( |
89 void* id, | 89 void* id, |
90 const VideoCaptureDeliverFrameCB& callback) { | 90 const VideoCaptureDeliverFrameCB& callback) { |
91 DCHECK(thread_checker_.CalledOnValidThread()); | 91 DCHECK(thread_checker_.CalledOnValidThread()); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 for (std::vector<VideoIdCallbackPair>::iterator it = callbacks_.begin(); | 153 for (std::vector<VideoIdCallbackPair>::iterator it = callbacks_.begin(); |
154 it != callbacks_.end(); ++it) { | 154 it != callbacks_.end(); ++it) { |
155 it->second.Run(video_frame, format, estimated_capture_time); | 155 it->second.Run(video_frame, format, estimated_capture_time); |
156 } | 156 } |
157 } | 157 } |
158 | 158 |
159 const scoped_refptr<media::VideoFrame>& | 159 const scoped_refptr<media::VideoFrame>& |
160 MediaStreamVideoTrack::FrameDeliverer::GetBlackFrame( | 160 MediaStreamVideoTrack::FrameDeliverer::GetBlackFrame( |
161 const scoped_refptr<media::VideoFrame>& reference_frame) { | 161 const scoped_refptr<media::VideoFrame>& reference_frame) { |
162 DCHECK(io_message_loop_->BelongsToCurrentThread()); | 162 DCHECK(io_message_loop_->BelongsToCurrentThread()); |
163 if (!black_frame_ || | 163 if (!black_frame_.get() || |
164 black_frame_->natural_size() != reference_frame->natural_size()) | 164 black_frame_->natural_size() != reference_frame->natural_size()) |
165 black_frame_ = | 165 black_frame_ = |
166 media::VideoFrame::CreateBlackFrame(reference_frame->natural_size()); | 166 media::VideoFrame::CreateBlackFrame(reference_frame->natural_size()); |
167 | 167 |
168 black_frame_->set_timestamp(reference_frame->timestamp()); | 168 black_frame_->set_timestamp(reference_frame->timestamp()); |
169 return black_frame_; | 169 return black_frame_; |
170 } | 170 } |
171 | 171 |
172 // static | 172 // static |
173 blink::WebMediaStreamTrack MediaStreamVideoTrack::CreateVideoTrack( | 173 blink::WebMediaStreamTrack MediaStreamVideoTrack::CreateVideoTrack( |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 DCHECK(thread_checker_.CalledOnValidThread()); | 266 DCHECK(thread_checker_.CalledOnValidThread()); |
267 muted_state_ = muted_state; | 267 muted_state_ = muted_state; |
268 } | 268 } |
269 | 269 |
270 bool MediaStreamVideoTrack::GetMutedState(void) const { | 270 bool MediaStreamVideoTrack::GetMutedState(void) const { |
271 DCHECK(thread_checker_.CalledOnValidThread()); | 271 DCHECK(thread_checker_.CalledOnValidThread()); |
272 return muted_state_; | 272 return muted_state_; |
273 } | 273 } |
274 | 274 |
275 } // namespace content | 275 } // namespace content |
OLD | NEW |