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

Side by Side Diff: content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc

Issue 2860573008: Add more video capture log messages to WebRTC log (Closed)
Patch Set: Incorporate suggestions from PatchSet 1 Created 3 years, 7 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
« no previous file with comments | « no previous file | content/browser/renderer_host/media/video_capture_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/browser/renderer_host/media/in_process_video_capture_device_la uncher.h" 5 #include "content/browser/renderer_host/media/in_process_video_capture_device_la uncher.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "content/browser/media/capture/desktop_capture_device_uma_types.h" 9 #include "content/browser/media/capture/desktop_capture_device_uma_types.h"
10 #include "content/browser/media/capture/web_contents_video_capture_device.h" 10 #include "content/browser/media/capture/web_contents_video_capture_device.h"
(...skipping 17 matching lines...) Expand all
28 #endif 28 #endif
29 #endif 29 #endif
30 30
31 #if defined(ENABLE_SCREEN_CAPTURE) && defined(OS_ANDROID) 31 #if defined(ENABLE_SCREEN_CAPTURE) && defined(OS_ANDROID)
32 #include "content/browser/media/capture/screen_capture_device_android.h" 32 #include "content/browser/media/capture/screen_capture_device_android.h"
33 #endif 33 #endif
34 34
35 namespace { 35 namespace {
36 36
37 std::unique_ptr<media::VideoCaptureJpegDecoder> CreateGpuJpegDecoder( 37 std::unique_ptr<media::VideoCaptureJpegDecoder> CreateGpuJpegDecoder(
38 const media::VideoCaptureJpegDecoder::DecodeDoneCB& decode_done_cb) { 38 media::VideoCaptureJpegDecoder::DecodeDoneCB decode_done_cb,
39 return base::MakeUnique<content::VideoCaptureGpuJpegDecoder>(decode_done_cb); 39 base::Callback<void(const std::string&)> send_log_message_cb) {
40 return base::MakeUnique<content::VideoCaptureGpuJpegDecoder>(
41 std::move(decode_done_cb), std::move(send_log_message_cb));
40 } 42 }
41 43
42 // The maximum number of video frame buffers in-flight at any one time. This 44 // The maximum number of video frame buffers in-flight at any one time. This
43 // value should be based on the logical capacity of the capture pipeline, and 45 // value should be based on the logical capacity of the capture pipeline, and
44 // not on hardware performance. For example, tab capture requires more buffers 46 // not on hardware performance. For example, tab capture requires more buffers
45 // than webcam capture because the pipeline is longer (it includes read-backs 47 // than webcam capture because the pipeline is longer (it includes read-backs
46 // pending in the GPU pipeline). 48 // pending in the GPU pipeline).
47 const int kMaxNumberOfBuffers = 3; 49 const int kMaxNumberOfBuffers = 3;
48 // TODO(miu): The value for tab capture should be determined programmatically. 50 // TODO(miu): The value for tab capture should be determined programmatically.
49 // http://crbug.com/460318 51 // http://crbug.com/460318
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 new media::VideoCaptureBufferPoolImpl( 143 new media::VideoCaptureBufferPoolImpl(
142 base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(), 144 base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(),
143 buffer_pool_max_buffer_count); 145 buffer_pool_max_buffer_count);
144 146
145 return base::MakeUnique<media::VideoCaptureDeviceClient>( 147 return base::MakeUnique<media::VideoCaptureDeviceClient>(
146 base::MakeUnique<media::VideoFrameReceiverOnTaskRunner>( 148 base::MakeUnique<media::VideoFrameReceiverOnTaskRunner>(
147 receiver, BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)), 149 receiver, BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)),
148 std::move(buffer_pool), 150 std::move(buffer_pool),
149 base::Bind(&CreateGpuJpegDecoder, 151 base::Bind(&CreateGpuJpegDecoder,
150 base::Bind(&media::VideoFrameReceiver::OnFrameReadyInBuffer, 152 base::Bind(&media::VideoFrameReceiver::OnFrameReadyInBuffer,
151 receiver))); 153 receiver),
154 base::Bind(&media::VideoFrameReceiver::OnLog, receiver)));
152 } 155 }
153 156
154 void InProcessVideoCaptureDeviceLauncher::OnDeviceStarted( 157 void InProcessVideoCaptureDeviceLauncher::OnDeviceStarted(
155 Callbacks* callbacks, 158 Callbacks* callbacks,
156 base::OnceClosure done_cb, 159 base::OnceClosure done_cb,
157 std::unique_ptr<media::VideoCaptureDevice> device) { 160 std::unique_ptr<media::VideoCaptureDevice> device) {
158 DCHECK_CURRENTLY_ON(BrowserThread::IO); 161 DCHECK_CURRENTLY_ON(BrowserThread::IO);
159 State state_copy = state_; 162 State state_copy = state_;
160 state_ = State::READY_TO_LAUNCH; 163 state_ = State::READY_TO_LAUNCH;
161 if (!device) { 164 if (!device) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 if (!video_capture_device) { 280 if (!video_capture_device) {
278 result_callback.Run(nullptr); 281 result_callback.Run(nullptr);
279 return; 282 return;
280 } 283 }
281 284
282 video_capture_device->AllocateAndStart(params, std::move(device_client)); 285 video_capture_device->AllocateAndStart(params, std::move(device_client));
283 result_callback.Run(std::move(video_capture_device)); 286 result_callback.Run(std::move(video_capture_device));
284 } 287 }
285 288
286 } // namespace content 289 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/renderer_host/media/video_capture_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698