Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(445)

Side by Side Diff: content/renderer/media/media_stream_video_track.cc

Issue 2867693004: Snapshot of all changes to get jumbo in blink and content.
Patch Set: Exclude certain files from jumbo because of a Windows problem Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/location.h" 11 #include "base/location.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h" 13 #include "base/memory/ptr_util.h"
14 #include "base/single_thread_task_runner.h" 14 #include "base/single_thread_task_runner.h"
15 #include "base/threading/thread_task_runner_handle.h" 15 #include "base/threading/thread_task_runner_handle.h"
16 #include "build/build_config.h" 16 #include "build/build_config.h"
17 #include "content/renderer/media/media_stream_constraints_util_video_device.h" 17 #include "content/renderer/media/media_stream_constraints_util_video_device.h"
18 #include "media/capture/video_capture_types.h" 18 #include "media/capture/video_capture_types.h"
19 19
20 namespace content { 20 namespace content {
21 21
22 namespace { 22 namespace {
23 void ResetCallback(std::unique_ptr<VideoCaptureDeliverFrameCB> callback) { 23 void ResetCallback(std::unique_ptr<VideoCaptureDeliverFrameCB> callback) {
24 // |callback| will be deleted when this exits. 24 // |callback| will be deleted when this exits.
25 } 25 }
26 26
27 // Empty method used for keeping a reference to the original media::VideoFrame. 27 // Empty method used for keeping a reference to the original media::VideoFrame.
28 // The reference to |frame| is kept in the closure that calls this method. 28 // The reference to |frame| is kept in the closure that calls this method.
29 void ReleaseOriginalFrame(const scoped_refptr<media::VideoFrame>& frame) { 29 void ReleaseOriginalVideoFrame(const scoped_refptr<media::VideoFrame>& frame) {
30 } 30 }
31 31
32 } // namespace 32 } // namespace
33 33
34 // MediaStreamVideoTrack::FrameDeliverer is a helper class used for registering 34 // MediaStreamVideoTrack::FrameDeliverer is a helper class used for registering
35 // VideoCaptureDeliverFrameCB on the main render thread to receive video frames 35 // VideoCaptureDeliverFrameCB on the main render thread to receive video frames
36 // on the IO-thread. 36 // on the IO-thread.
37 // Frames are only delivered to the sinks if the track is enabled. If the track 37 // Frames are only delivered to the sinks if the track is enabled. If the track
38 // is disabled, a black frame is instead forwarded to the sinks at the same 38 // is disabled, a black frame is instead forwarded to the sinks at the same
39 // frame rate. 39 // frame rate.
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 180
181 // Wrap |black_frame_| so we get a fresh timestamp we can modify. Frames 181 // Wrap |black_frame_| so we get a fresh timestamp we can modify. Frames
182 // returned from this function may still be in use. 182 // returned from this function may still be in use.
183 scoped_refptr<media::VideoFrame> wrapped_black_frame = 183 scoped_refptr<media::VideoFrame> wrapped_black_frame =
184 media::VideoFrame::WrapVideoFrame(black_frame_, black_frame_->format(), 184 media::VideoFrame::WrapVideoFrame(black_frame_, black_frame_->format(),
185 black_frame_->visible_rect(), 185 black_frame_->visible_rect(),
186 black_frame_->natural_size()); 186 black_frame_->natural_size());
187 if (!wrapped_black_frame) 187 if (!wrapped_black_frame)
188 return nullptr; 188 return nullptr;
189 wrapped_black_frame->AddDestructionObserver( 189 wrapped_black_frame->AddDestructionObserver(
190 base::BindOnce(&ReleaseOriginalFrame, black_frame_)); 190 base::BindOnce(&ReleaseOriginalVideoFrame, black_frame_));
191 191
192 wrapped_black_frame->set_timestamp(reference_frame->timestamp()); 192 wrapped_black_frame->set_timestamp(reference_frame->timestamp());
193 base::TimeTicks reference_time; 193 base::TimeTicks reference_time;
194 if (reference_frame->metadata()->GetTimeTicks( 194 if (reference_frame->metadata()->GetTimeTicks(
195 media::VideoFrameMetadata::REFERENCE_TIME, &reference_time)) { 195 media::VideoFrameMetadata::REFERENCE_TIME, &reference_time)) {
196 wrapped_black_frame->metadata()->SetTimeTicks( 196 wrapped_black_frame->metadata()->SetTimeTicks(
197 media::VideoFrameMetadata::REFERENCE_TIME, reference_time); 197 media::VideoFrameMetadata::REFERENCE_TIME, reference_time);
198 } 198 }
199 199
200 return wrapped_black_frame; 200 return wrapped_black_frame;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 } 407 }
408 408
409 void MediaStreamVideoTrack::OnReadyStateChanged( 409 void MediaStreamVideoTrack::OnReadyStateChanged(
410 blink::WebMediaStreamSource::ReadyState state) { 410 blink::WebMediaStreamSource::ReadyState state) {
411 DCHECK(main_render_thread_checker_.CalledOnValidThread()); 411 DCHECK(main_render_thread_checker_.CalledOnValidThread());
412 for (auto* sink : sinks_) 412 for (auto* sink : sinks_)
413 sink->OnReadyStateChanged(state); 413 sink->OnReadyStateChanged(state);
414 } 414 }
415 415
416 } // namespace content 416 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_audio_processor.cc ('k') | content/renderer/media/video_track_adapter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698