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

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

Issue 2753073006: [Mojo Video Capture] Add support to BuildableVideoCaptureDevice for aborting the device start. (Closed)
Patch Set: Incorporated mcasas@'s suggestions from PatchSet 2 Created 3 years, 8 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 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/run_loop.h" 6 #include "base/run_loop.h"
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "content/browser/browser_main_loop.h" 8 #include "content/browser/browser_main_loop.h"
9 #include "content/browser/renderer_host/media/media_stream_manager.h" 9 #include "content/browser/renderer_host/media/media_stream_manager.h"
10 #include "content/browser/renderer_host/media/video_capture_controller.h" 10 #include "content/browser/renderer_host/media/video_capture_controller.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // VideoCaptureControllerEventHandler. To satisfy this, we have to post our 95 // VideoCaptureControllerEventHandler. To satisfy this, we have to post our
96 // invocation to the end of the IO message queue. 96 // invocation to the end of the IO message queue.
97 if (post_to_end_of_message_queue) { 97 if (post_to_end_of_message_queue) {
98 base::ThreadTaskRunnerHandle::Get()->PostTask( 98 base::ThreadTaskRunnerHandle::Get()->PostTask(
99 FROM_HERE, 99 FROM_HERE,
100 base::Bind(&VideoCaptureBrowserTest::TearDownCaptureDeviceOnIOThread, 100 base::Bind(&VideoCaptureBrowserTest::TearDownCaptureDeviceOnIOThread,
101 base::Unretained(this), continuation, false)); 101 base::Unretained(this), continuation, false));
102 return; 102 return;
103 } 103 }
104 104
105 video_capture_manager_->StopCaptureForClient( 105 video_capture_manager_->DisconnectClient(controller_.get(), stub_client_id_,
106 controller_.get(), stub_client_id_, &mock_controller_event_handler_, 106 &mock_controller_event_handler_,
107 false); 107 false);
108 108
109 EXPECT_CALL(mock_stream_provider_listener_, Closed(_, _)) 109 EXPECT_CALL(mock_stream_provider_listener_, Closed(_, _))
110 .WillOnce(InvokeWithoutArgs([continuation]() { continuation.Run(); })); 110 .WillOnce(InvokeWithoutArgs([continuation]() { continuation.Run(); }));
111 111
112 video_capture_manager_->Close(session_id_); 112 video_capture_manager_->Close(session_id_);
113 } 113 }
114 114
115 protected: 115 protected:
116 void SetUpCommandLine(base::CommandLine* command_line) override { 116 void SetUpCommandLine(base::CommandLine* command_line) override {
117 command_line->AppendSwitchASCII( 117 command_line->AppendSwitchASCII(
(...skipping 24 matching lines...) Expand all
142 ASSERT_TRUE(GetParam().device_index_to_use < descriptors.size()); 142 ASSERT_TRUE(GetParam().device_index_to_use < descriptors.size());
143 const auto& descriptor = descriptors[GetParam().device_index_to_use]; 143 const auto& descriptor = descriptors[GetParam().device_index_to_use];
144 MediaStreamDevice media_stream_device( 144 MediaStreamDevice media_stream_device(
145 MEDIA_DEVICE_VIDEO_CAPTURE, descriptor.device_id, 145 MEDIA_DEVICE_VIDEO_CAPTURE, descriptor.device_id,
146 descriptor.display_name, descriptor.facing); 146 descriptor.display_name, descriptor.facing);
147 session_id_ = video_capture_manager_->Open(media_stream_device); 147 session_id_ = video_capture_manager_->Open(media_stream_device);
148 media::VideoCaptureParams capture_params; 148 media::VideoCaptureParams capture_params;
149 capture_params.requested_format = media::VideoCaptureFormat( 149 capture_params.requested_format = media::VideoCaptureFormat(
150 GetParam().resolution_to_use, GetParam().frame_rate_to_use, 150 GetParam().resolution_to_use, GetParam().frame_rate_to_use,
151 GetParam().pixel_format_to_use); 151 GetParam().pixel_format_to_use);
152 video_capture_manager_->StartCaptureForClient( 152 video_capture_manager_->ConnectClient(
153 session_id_, capture_params, stub_client_id_, 153 session_id_, capture_params, stub_client_id_,
154 &mock_controller_event_handler_, 154 &mock_controller_event_handler_,
155 base::Bind(&VideoCaptureBrowserTest::OnConnectClientToControllerAnswer, 155 base::Bind(&VideoCaptureBrowserTest::OnConnectClientToControllerAnswer,
156 base::Unretained(this), std::move(continuation))); 156 base::Unretained(this), std::move(continuation)));
157 } 157 }
158 158
159 void OnConnectClientToControllerAnswer( 159 void OnConnectClientToControllerAnswer(
160 base::Closure continuation, 160 base::Closure continuation,
161 const base::WeakPtr<VideoCaptureController>& controller) { 161 const base::WeakPtr<VideoCaptureController>& controller) {
162 ASSERT_TRUE(controller.get()); 162 ASSERT_TRUE(controller.get());
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 gfx::Size(1280, 720), 25.0f, false}, 280 gfx::Size(1280, 720), 25.0f, false},
281 TestParams{"fps=15,device-count=2", 1, media::PIXEL_FORMAT_Y16, 281 TestParams{"fps=15,device-count=2", 1, media::PIXEL_FORMAT_Y16,
282 gfx::Size(640, 480), 15.0f, false}, 282 gfx::Size(640, 480), 15.0f, false},
283 // The 3rd device outputs MJPEG, which is converted to I420. 283 // The 3rd device outputs MJPEG, which is converted to I420.
284 TestParams{"fps=15,device-count=3", 2, media::PIXEL_FORMAT_I420, 284 TestParams{"fps=15,device-count=3", 2, media::PIXEL_FORMAT_I420,
285 gfx::Size(640, 480), 25.0f, false}, 285 gfx::Size(640, 480), 25.0f, false},
286 TestParams{"fps=6,device-count=3", 2, media::PIXEL_FORMAT_I420, 286 TestParams{"fps=6,device-count=3", 2, media::PIXEL_FORMAT_I420,
287 gfx::Size(640, 480), 6.0f, true})); 287 gfx::Size(640, 480), 6.0f, true}));
288 288
289 } // namespace content 289 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698