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

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

Issue 2487133003: Remove dead code related to media device enumerations and monitoring. (Closed)
Patch Set: rebase Created 4 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_dispatcher.h" 5 #include "content/renderer/media/media_stream_dispatcher.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 10 matching lines...) Expand all
21 #include "url/origin.h" 21 #include "url/origin.h"
22 22
23 namespace content { 23 namespace content {
24 namespace { 24 namespace {
25 25
26 const int kRouteId = 0; 26 const int kRouteId = 0;
27 const int kAudioSessionId = 3; 27 const int kAudioSessionId = 3;
28 const int kVideoSessionId = 5; 28 const int kVideoSessionId = 5;
29 const int kRequestId1 = 10; 29 const int kRequestId1 = 10;
30 const int kRequestId2 = 20; 30 const int kRequestId2 = 20;
31 const int kRequestId3 = 30;
32 const int kRequestId4 = 40;
33 31
34 const MediaStreamType kAudioType = MEDIA_DEVICE_AUDIO_CAPTURE; 32 const MediaStreamType kAudioType = MEDIA_DEVICE_AUDIO_CAPTURE;
35 const MediaStreamType kVideoType = MEDIA_DEVICE_VIDEO_CAPTURE; 33 const MediaStreamType kVideoType = MEDIA_DEVICE_VIDEO_CAPTURE;
36 34
37 class MockMediaStreamDispatcherEventHandler 35 class MockMediaStreamDispatcherEventHandler
38 : public MediaStreamDispatcherEventHandler, 36 : public MediaStreamDispatcherEventHandler,
39 public base::SupportsWeakPtr<MockMediaStreamDispatcherEventHandler> { 37 public base::SupportsWeakPtr<MockMediaStreamDispatcherEventHandler> {
40 public: 38 public:
41 MockMediaStreamDispatcherEventHandler() 39 MockMediaStreamDispatcherEventHandler() : request_id_(-1) {}
42 : request_id_(-1), did_receive_devices_changed_(false) {}
43 40
44 void OnStreamGenerated( 41 void OnStreamGenerated(
45 int request_id, 42 int request_id,
46 const std::string& label, 43 const std::string& label,
47 const StreamDeviceInfoArray& audio_device_array, 44 const StreamDeviceInfoArray& audio_device_array,
48 const StreamDeviceInfoArray& video_device_array) override { 45 const StreamDeviceInfoArray& video_device_array) override {
49 request_id_ = request_id; 46 request_id_ = request_id;
50 label_ = label; 47 label_ = label;
51 if (audio_device_array.size()) { 48 if (audio_device_array.size()) {
52 DCHECK(audio_device_array.size() == 1); 49 DCHECK(audio_device_array.size() == 1);
(...skipping 15 matching lines...) Expand all
68 const StreamDeviceInfo& device_info) override { 65 const StreamDeviceInfo& device_info) override {
69 device_stopped_label_ = label; 66 device_stopped_label_ = label;
70 if (IsVideoMediaType(device_info.device.type)) { 67 if (IsVideoMediaType(device_info.device.type)) {
71 EXPECT_TRUE(StreamDeviceInfo::IsEqual(video_device_, device_info)); 68 EXPECT_TRUE(StreamDeviceInfo::IsEqual(video_device_, device_info));
72 } 69 }
73 if (IsAudioInputMediaType(device_info.device.type)) { 70 if (IsAudioInputMediaType(device_info.device.type)) {
74 EXPECT_TRUE(StreamDeviceInfo::IsEqual(audio_device_, device_info)); 71 EXPECT_TRUE(StreamDeviceInfo::IsEqual(audio_device_, device_info));
75 } 72 }
76 } 73 }
77 74
78 void OnDevicesEnumerated(int request_id,
79 const StreamDeviceInfoArray& device_array) override {
80 request_id_ = request_id;
81 }
82
83 void OnDeviceOpened(int request_id, 75 void OnDeviceOpened(int request_id,
84 const std::string& label, 76 const std::string& label,
85 const StreamDeviceInfo& video_device) override { 77 const StreamDeviceInfo& video_device) override {
86 request_id_ = request_id; 78 request_id_ = request_id;
87 label_ = label; 79 label_ = label;
88 } 80 }
89 81
90 void OnDeviceOpenFailed(int request_id) override { request_id_ = request_id; } 82 void OnDeviceOpenFailed(int request_id) override { request_id_ = request_id; }
91 83
92 void OnDevicesChanged() override { did_receive_devices_changed_ = true; }
93
94 void ResetStoredParameters() { 84 void ResetStoredParameters() {
95 request_id_ = -1; 85 request_id_ = -1;
96 label_ = ""; 86 label_ = "";
97 device_stopped_label_ = ""; 87 device_stopped_label_ = "";
98 audio_device_ = StreamDeviceInfo(); 88 audio_device_ = StreamDeviceInfo();
99 video_device_ = StreamDeviceInfo(); 89 video_device_ = StreamDeviceInfo();
100 } 90 }
101 91
102 int request_id_; 92 int request_id_;
103 std::string label_; 93 std::string label_;
104 std::string device_stopped_label_; 94 std::string device_stopped_label_;
105 StreamDeviceInfo audio_device_; 95 StreamDeviceInfo audio_device_;
106 StreamDeviceInfo video_device_; 96 StreamDeviceInfo video_device_;
107 bool did_receive_devices_changed_;
108 }; 97 };
109 98
110 class MediaStreamDispatcherUnderTest : public MediaStreamDispatcher { 99 class MediaStreamDispatcherUnderTest : public MediaStreamDispatcher {
111 public: 100 public:
112 MediaStreamDispatcherUnderTest() : MediaStreamDispatcher(NULL) {} 101 MediaStreamDispatcherUnderTest() : MediaStreamDispatcher(NULL) {}
113 102
114 using MediaStreamDispatcher::GetNextIpcIdForTest; 103 using MediaStreamDispatcher::GetNextIpcIdForTest;
115 using RenderFrameObserver::OnMessageReceived; 104 using RenderFrameObserver::OnMessageReceived;
116 }; 105 };
117 106
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 207
219 TEST_F(MediaStreamDispatcherTest, BasicVideoDevice) { 208 TEST_F(MediaStreamDispatcherTest, BasicVideoDevice) {
220 std::unique_ptr<MediaStreamDispatcher> dispatcher( 209 std::unique_ptr<MediaStreamDispatcher> dispatcher(
221 new MediaStreamDispatcher(NULL)); 210 new MediaStreamDispatcher(NULL));
222 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler1( 211 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler1(
223 new MockMediaStreamDispatcherEventHandler); 212 new MockMediaStreamDispatcherEventHandler);
224 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler2( 213 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler2(
225 new MockMediaStreamDispatcherEventHandler); 214 new MockMediaStreamDispatcherEventHandler);
226 url::Origin security_origin; 215 url::Origin security_origin;
227 216
228 int ipc_request_id1 = dispatcher->next_ipc_id_;
229 dispatcher->EnumerateDevices(
230 kRequestId1, handler1.get()->AsWeakPtr(),
231 kVideoType,
232 security_origin);
233 int ipc_request_id2 = dispatcher->next_ipc_id_;
234 EXPECT_NE(ipc_request_id1, ipc_request_id2);
235 dispatcher->EnumerateDevices(
236 kRequestId2, handler2.get()->AsWeakPtr(),
237 kVideoType,
238 security_origin);
239 EXPECT_EQ(dispatcher->requests_.size(), size_t(2));
240
241 StreamDeviceInfoArray video_device_array(1); 217 StreamDeviceInfoArray video_device_array(1);
242 StreamDeviceInfo video_device_info; 218 StreamDeviceInfo video_device_info;
243 video_device_info.device.name = "Camera"; 219 video_device_info.device.name = "Camera";
244 video_device_info.device.id = "device_path"; 220 video_device_info.device.id = "device_path";
245 video_device_info.device.type = kVideoType; 221 video_device_info.device.type = kVideoType;
246 video_device_info.session_id = kVideoSessionId; 222 video_device_info.session_id = kVideoSessionId;
247 video_device_array[0] = video_device_info; 223 video_device_array[0] = video_device_info;
248 224
249 // Complete the first enumeration request. 225 EXPECT_EQ(dispatcher->requests_.size(), size_t(0));
250 dispatcher->OnMessageReceived(MediaStreamMsg_DevicesEnumerated(
251 kRouteId, ipc_request_id1, video_device_array));
252 EXPECT_EQ(handler1->request_id_, kRequestId1);
253
254 dispatcher->OnMessageReceived(MediaStreamMsg_DevicesEnumerated(
255 kRouteId, ipc_request_id2, video_device_array));
256 EXPECT_EQ(handler2->request_id_, kRequestId2);
257
258 EXPECT_EQ(dispatcher->requests_.size(), size_t(2));
259 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0)); 226 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0));
260 227
261 int ipc_request_id3 = dispatcher->next_ipc_id_; 228 int ipc_request_id1 = dispatcher->next_ipc_id_;
262 dispatcher->OpenDevice(kRequestId3, handler1.get()->AsWeakPtr(), 229 dispatcher->OpenDevice(kRequestId1, handler1.get()->AsWeakPtr(),
263 video_device_info.device.id, 230 video_device_info.device.id, kVideoType,
264 kVideoType,
265 security_origin); 231 security_origin);
266 int ipc_request_id4 = dispatcher->next_ipc_id_; 232 int ipc_request_id2 = dispatcher->next_ipc_id_;
267 EXPECT_NE(ipc_request_id3, ipc_request_id4); 233 EXPECT_NE(ipc_request_id1, ipc_request_id2);
268 dispatcher->OpenDevice(kRequestId4, handler1.get()->AsWeakPtr(), 234 dispatcher->OpenDevice(kRequestId2, handler1.get()->AsWeakPtr(),
269 video_device_info.device.id, 235 video_device_info.device.id, kVideoType,
270 kVideoType,
271 security_origin); 236 security_origin);
272 EXPECT_EQ(dispatcher->requests_.size(), size_t(4)); 237 EXPECT_EQ(dispatcher->requests_.size(), size_t(2));
273 238
274 // Complete the OpenDevice of request 1. 239 // Complete the OpenDevice of request 1.
275 std::string stream_label1 = std::string("stream1"); 240 std::string stream_label1 = std::string("stream1");
276 dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened( 241 dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened(
277 kRouteId, ipc_request_id3, stream_label1, video_device_info)); 242 kRouteId, ipc_request_id1, stream_label1, video_device_info));
278 EXPECT_EQ(handler1->request_id_, kRequestId3); 243 EXPECT_EQ(handler1->request_id_, kRequestId1);
279 244
280 // Complete the OpenDevice of request 2. 245 // Complete the OpenDevice of request 2.
281 std::string stream_label2 = std::string("stream2"); 246 std::string stream_label2 = std::string("stream2");
282 dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened( 247 dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened(
283 kRouteId, ipc_request_id4, stream_label2, video_device_info)); 248 kRouteId, ipc_request_id2, stream_label2, video_device_info));
284 EXPECT_EQ(handler1->request_id_, kRequestId4); 249 EXPECT_EQ(handler1->request_id_, kRequestId2);
285 250
286 EXPECT_EQ(dispatcher->requests_.size(), size_t(2)); 251 EXPECT_EQ(dispatcher->requests_.size(), size_t(0));
287 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(2)); 252 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(2));
288 253
289 // Check the video_session_id. 254 // Check the video_session_id.
290 EXPECT_EQ(dispatcher->video_session_id(stream_label1, 0), kVideoSessionId); 255 EXPECT_EQ(dispatcher->video_session_id(stream_label1, 0), kVideoSessionId);
291 EXPECT_EQ(dispatcher->video_session_id(stream_label2, 0), kVideoSessionId); 256 EXPECT_EQ(dispatcher->video_session_id(stream_label2, 0), kVideoSessionId);
292 257
293 // Close the device from request 2. 258 // Close the device from request 2.
294 dispatcher->CloseDevice(stream_label2); 259 dispatcher->CloseDevice(stream_label2);
295 EXPECT_EQ(dispatcher->video_session_id(stream_label2, 0), 260 EXPECT_EQ(dispatcher->video_session_id(stream_label2, 0),
296 StreamDeviceInfo::kNoId); 261 StreamDeviceInfo::kNoId);
297 262
298 // Close the device from request 1. 263 // Close the device from request 1.
299 dispatcher->CloseDevice(stream_label1); 264 dispatcher->CloseDevice(stream_label1);
300 EXPECT_EQ(dispatcher->video_session_id(stream_label1, 0), 265 EXPECT_EQ(dispatcher->video_session_id(stream_label1, 0),
301 StreamDeviceInfo::kNoId); 266 StreamDeviceInfo::kNoId);
302 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0)); 267 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0));
303 268
304 // Verify that the request have been completed. 269 // Verify that the request have been completed.
305 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0)); 270 EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0));
306 EXPECT_EQ(dispatcher->requests_.size(), size_t(2)); 271 EXPECT_EQ(dispatcher->requests_.size(), size_t(0));
307 } 272 }
308 273
309 TEST_F(MediaStreamDispatcherTest, TestFailure) { 274 TEST_F(MediaStreamDispatcherTest, TestFailure) {
310 std::unique_ptr<MediaStreamDispatcher> dispatcher( 275 std::unique_ptr<MediaStreamDispatcher> dispatcher(
311 new MediaStreamDispatcher(NULL)); 276 new MediaStreamDispatcher(NULL));
312 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler( 277 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler(
313 new MockMediaStreamDispatcherEventHandler); 278 new MockMediaStreamDispatcherEventHandler);
314 StreamControls components(true, true); 279 StreamControls components(true, true);
315 url::Origin security_origin; 280 url::Origin security_origin;
316 281
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 371
407 dispatcher_->OnMessageReceived( 372 dispatcher_->OnMessageReceived(
408 MediaStreamMsg_DeviceStopped(kRouteId, label, handler_->video_device_)); 373 MediaStreamMsg_DeviceStopped(kRouteId, label, handler_->video_device_));
409 // Verify that MediaStreamDispatcherEventHandler::OnDeviceStopped has been 374 // Verify that MediaStreamDispatcherEventHandler::OnDeviceStopped has been
410 // called. 375 // called.
411 EXPECT_EQ(label, handler_->device_stopped_label_); 376 EXPECT_EQ(label, handler_->device_stopped_label_);
412 EXPECT_EQ(dispatcher_->video_session_id(label, 0), 377 EXPECT_EQ(dispatcher_->video_session_id(label, 0),
413 StreamDeviceInfo::kNoId); 378 StreamDeviceInfo::kNoId);
414 } 379 }
415 380
416 // Test that the MediaStreamDispatcherEventHandler is notified when the message
417 // MediaStreamMsg_DevicesChanged is received.
418 TEST_F(MediaStreamDispatcherTest, DevicesChanged) {
419 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler1(
420 new MockMediaStreamDispatcherEventHandler);
421 std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler2(
422 new MockMediaStreamDispatcherEventHandler);
423 dispatcher_->SubscribeToDeviceChangeNotifications(handler1->AsWeakPtr(),
424 security_origin_);
425 dispatcher_->SubscribeToDeviceChangeNotifications(handler2->AsWeakPtr(),
426 security_origin_);
427 dispatcher_->OnMessageReceived(MediaStreamMsg_DevicesChanged(kRouteId));
428 dispatcher_->CancelDeviceChangeNotifications(handler1->AsWeakPtr());
429 dispatcher_->CancelDeviceChangeNotifications(handler2->AsWeakPtr());
430
431 EXPECT_TRUE(handler1->did_receive_devices_changed_);
432 EXPECT_TRUE(handler2->did_receive_devices_changed_);
433 }
434
435 } // namespace content 381 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_dispatcher_eventhandler.h ('k') | content/renderer/media/mock_media_stream_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698