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

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

Issue 2169013002: Change class VideoCaptureDevice::Name to struct VideoCaptureDeviceDescriptor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix build errors Created 4 years, 4 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 (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/browser/renderer_host/media/media_stream_dispatcher_host.h" 5 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <queue> 8 #include <queue>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 #endif 288 #endif
289 } 289 }
290 290
291 ~MediaStreamDispatcherHostTest() override { 291 ~MediaStreamDispatcherHostTest() override {
292 #if defined(OS_CHROMEOS) 292 #if defined(OS_CHROMEOS)
293 chromeos::CrasAudioHandler::Shutdown(); 293 chromeos::CrasAudioHandler::Shutdown();
294 #endif 294 #endif
295 } 295 }
296 296
297 void SetUp() override { 297 void SetUp() override {
298 video_capture_device_factory_->GetDeviceNames(&physical_video_devices_); 298 video_capture_device_factory_->GetDeviceDescriptors(
299 &physical_video_devices_);
299 ASSERT_GT(physical_video_devices_.size(), 0u); 300 ASSERT_GT(physical_video_devices_.size(), 0u);
300 301
301 media_stream_manager_->audio_input_device_manager()->GetFakeDeviceNames( 302 media_stream_manager_->audio_input_device_manager()->GetFakeDeviceNames(
302 &physical_audio_devices_); 303 &physical_audio_devices_);
303 ASSERT_GT(physical_audio_devices_.size(), 0u); 304 ASSERT_GT(physical_audio_devices_.size(), 0u);
304 } 305 }
305 306
306 void TearDown() override { host_->OnChannelClosing(); } 307 void TearDown() override { host_->OnChannelClosing(); }
307 308
308 protected: 309 protected:
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 391 }
391 392
392 bool DoesContainRawIds(const StreamDeviceInfoArray& devices) { 393 bool DoesContainRawIds(const StreamDeviceInfoArray& devices) {
393 for (size_t i = 0; i < devices.size(); ++i) { 394 for (size_t i = 0; i < devices.size(); ++i) {
394 media::AudioDeviceNames::const_iterator audio_it = 395 media::AudioDeviceNames::const_iterator audio_it =
395 physical_audio_devices_.begin(); 396 physical_audio_devices_.begin();
396 for (; audio_it != physical_audio_devices_.end(); ++audio_it) { 397 for (; audio_it != physical_audio_devices_.end(); ++audio_it) {
397 if (audio_it->unique_id == devices[i].device.id) 398 if (audio_it->unique_id == devices[i].device.id)
398 return true; 399 return true;
399 } 400 }
400 media::VideoCaptureDevice::Names::const_iterator video_it = 401 media::VideoCaptureDeviceDescriptors::const_iterator video_it =
401 physical_video_devices_.begin(); 402 physical_video_devices_.begin();
402 for (; video_it != physical_video_devices_.end(); ++video_it) { 403 for (; video_it != physical_video_devices_.end(); ++video_it) {
403 if (video_it->id() == devices[i].device.id) 404 if (video_it->device_id == devices[i].device.id)
404 return true; 405 return true;
405 } 406 }
406 } 407 }
407 return false; 408 return false;
408 } 409 }
409 410
410 bool DoesEveryDeviceMapToRawId(const StreamDeviceInfoArray& devices, 411 bool DoesEveryDeviceMapToRawId(const StreamDeviceInfoArray& devices,
411 const url::Origin& origin) { 412 const url::Origin& origin) {
412 for (size_t i = 0; i < devices.size(); ++i) { 413 for (size_t i = 0; i < devices.size(); ++i) {
413 bool found_match = false; 414 bool found_match = false;
414 media::AudioDeviceNames::const_iterator audio_it = 415 media::AudioDeviceNames::const_iterator audio_it =
415 physical_audio_devices_.begin(); 416 physical_audio_devices_.begin();
416 for (; audio_it != physical_audio_devices_.end(); ++audio_it) { 417 for (; audio_it != physical_audio_devices_.end(); ++audio_it) {
417 if (content::DoesMediaDeviceIDMatchHMAC( 418 if (content::DoesMediaDeviceIDMatchHMAC(
418 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), 419 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(),
419 origin, 420 origin,
420 devices[i].device.id, 421 devices[i].device.id,
421 audio_it->unique_id)) { 422 audio_it->unique_id)) {
422 EXPECT_FALSE(found_match); 423 EXPECT_FALSE(found_match);
423 found_match = true; 424 found_match = true;
424 } 425 }
425 } 426 }
426 media::VideoCaptureDevice::Names::const_iterator video_it = 427 media::VideoCaptureDeviceDescriptors::const_iterator video_it =
427 physical_video_devices_.begin(); 428 physical_video_devices_.begin();
428 for (; video_it != physical_video_devices_.end(); ++video_it) { 429 for (; video_it != physical_video_devices_.end(); ++video_it) {
429 if (content::DoesMediaDeviceIDMatchHMAC( 430 if (content::DoesMediaDeviceIDMatchHMAC(
430 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), 431 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(),
431 origin, 432 origin, devices[i].device.id, video_it->device_id)) {
432 devices[i].device.id,
433 video_it->id())) {
434 EXPECT_FALSE(found_match); 433 EXPECT_FALSE(found_match);
435 found_match = true; 434 found_match = true;
436 } 435 }
437 } 436 }
438 if (!found_match) 437 if (!found_match)
439 return false; 438 return false;
440 } 439 }
441 return true; 440 return true;
442 } 441 }
443 442
(...skipping 18 matching lines...) Expand all
462 scoped_refptr<MockMediaStreamDispatcherHost> host_; 461 scoped_refptr<MockMediaStreamDispatcherHost> host_;
463 std::unique_ptr<MediaStreamManager> media_stream_manager_; 462 std::unique_ptr<MediaStreamManager> media_stream_manager_;
464 content::TestBrowserThreadBundle thread_bundle_; 463 content::TestBrowserThreadBundle thread_bundle_;
465 std::unique_ptr<media::AudioManager, media::AudioManagerDeleter> 464 std::unique_ptr<media::AudioManager, media::AudioManagerDeleter>
466 audio_manager_; 465 audio_manager_;
467 MockMediaStreamUIProxy* stream_ui_; 466 MockMediaStreamUIProxy* stream_ui_;
468 ContentBrowserClient* old_browser_client_; 467 ContentBrowserClient* old_browser_client_;
469 std::unique_ptr<ContentClient> content_client_; 468 std::unique_ptr<ContentClient> content_client_;
470 content::TestBrowserContext browser_context_; 469 content::TestBrowserContext browser_context_;
471 media::AudioDeviceNames physical_audio_devices_; 470 media::AudioDeviceNames physical_audio_devices_;
472 media::VideoCaptureDevice::Names physical_video_devices_; 471 media::VideoCaptureDeviceDescriptors physical_video_devices_;
473 url::Origin origin_; 472 url::Origin origin_;
474 media::FakeVideoCaptureDeviceFactory* video_capture_device_factory_; 473 media::FakeVideoCaptureDeviceFactory* video_capture_device_factory_;
475 }; 474 };
476 475
477 TEST_F(MediaStreamDispatcherHostTest, GenerateStreamWithVideoOnly) { 476 TEST_F(MediaStreamDispatcherHostTest, GenerateStreamWithVideoOnly) {
478 StreamControls controls(false, true); 477 StreamControls controls(false, true);
479 478
480 SetupFakeUI(true); 479 SetupFakeUI(true);
481 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 480 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
482 481
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 audio_it->unique_id); 646 audio_it->unique_id);
648 ASSERT_FALSE(source_id.empty()); 647 ASSERT_FALSE(source_id.empty());
649 StreamControls controls(true, true); 648 StreamControls controls(true, true);
650 controls.audio.device_ids.push_back(source_id); 649 controls.audio.device_ids.push_back(source_id);
651 650
652 SetupFakeUI(true); 651 SetupFakeUI(true);
653 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 652 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
654 EXPECT_EQ(host_->audio_devices_[0].device.id, source_id); 653 EXPECT_EQ(host_->audio_devices_[0].device.id, source_id);
655 } 654 }
656 655
657 media::VideoCaptureDevice::Names::const_iterator video_it = 656 media::VideoCaptureDeviceDescriptors::const_iterator video_it =
658 physical_video_devices_.begin(); 657 physical_video_devices_.begin();
659 for (; video_it != physical_video_devices_.end(); ++video_it) { 658 for (; video_it != physical_video_devices_.end(); ++video_it) {
660 std::string source_id = content::GetHMACForMediaDeviceID( 659 std::string source_id = content::GetHMACForMediaDeviceID(
661 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), 660 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), origin_,
662 origin_, 661 video_it->device_id);
663 video_it->id());
664 ASSERT_FALSE(source_id.empty()); 662 ASSERT_FALSE(source_id.empty());
665 StreamControls controls(true, true); 663 StreamControls controls(true, true);
666 controls.video.device_ids.push_back(source_id); 664 controls.video.device_ids.push_back(source_id);
667 665
668 SetupFakeUI(true); 666 SetupFakeUI(true);
669 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 667 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
670 EXPECT_EQ(host_->video_devices_[0].device.id, source_id); 668 EXPECT_EQ(host_->video_devices_[0].device.id, source_id);
671 } 669 }
672 } 670 }
673 671
(...skipping 12 matching lines...) Expand all
686 audio_it->unique_id); 684 audio_it->unique_id);
687 ASSERT_FALSE(source_id.empty()); 685 ASSERT_FALSE(source_id.empty());
688 StreamControls controls(true, true); 686 StreamControls controls(true, true);
689 controls.audio.device_ids.push_back(source_id); 687 controls.audio.device_ids.push_back(source_id);
690 688
691 SetupFakeUI(true); 689 SetupFakeUI(true);
692 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 690 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
693 EXPECT_EQ(host_->audio_devices_[0].device.id, source_id); 691 EXPECT_EQ(host_->audio_devices_[0].device.id, source_id);
694 } 692 }
695 693
696 media::VideoCaptureDevice::Names::const_iterator video_it = 694 media::VideoCaptureDeviceDescriptors::const_iterator video_it =
697 physical_video_devices_.begin(); 695 physical_video_devices_.begin();
698 for (; video_it != physical_video_devices_.end(); ++video_it) { 696 for (; video_it != physical_video_devices_.end(); ++video_it) {
699 std::string source_id = content::GetHMACForMediaDeviceID( 697 std::string source_id = content::GetHMACForMediaDeviceID(
700 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), 698 browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(), origin_,
701 origin_, 699 video_it->device_id);
702 video_it->id());
703 ASSERT_FALSE(source_id.empty()); 700 ASSERT_FALSE(source_id.empty());
704 StreamControls controls(true, true); 701 StreamControls controls(true, true);
705 controls.video.device_ids.push_back(source_id); 702 controls.video.device_ids.push_back(source_id);
706 703
707 SetupFakeUI(true); 704 SetupFakeUI(true);
708 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 705 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
709 EXPECT_EQ(host_->video_devices_[0].device.id, source_id); 706 EXPECT_EQ(host_->video_devices_[0].device.id, source_id);
710 } 707 }
711 } 708 }
712 709
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 StreamControls controls(true, true); 745 StreamControls controls(true, true);
749 controls.video.alternate_device_ids.push_back("invalid source id"); 746 controls.video.alternate_device_ids.push_back("invalid source id");
750 747
751 SetupFakeUI(true); 748 SetupFakeUI(true);
752 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 749 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
753 } 750 }
754 751
755 TEST_F(MediaStreamDispatcherHostTest, GenerateStreamsNoAvailableVideoDevice) { 752 TEST_F(MediaStreamDispatcherHostTest, GenerateStreamsNoAvailableVideoDevice) {
756 physical_video_devices_.clear(); 753 physical_video_devices_.clear();
757 video_capture_device_factory_->set_number_of_devices(0); 754 video_capture_device_factory_->set_number_of_devices(0);
758 video_capture_device_factory_->GetDeviceNames(&physical_video_devices_); 755 video_capture_device_factory_->GetDeviceDescriptors(&physical_video_devices_);
759 StreamControls controls(true, true); 756 StreamControls controls(true, true);
760 757
761 SetupFakeUI(false); 758 SetupFakeUI(false);
762 GenerateStreamAndWaitForFailure(kRenderId, kPageRequestId, controls, 759 GenerateStreamAndWaitForFailure(kRenderId, kPageRequestId, controls,
763 MEDIA_DEVICE_NO_HARDWARE); 760 MEDIA_DEVICE_NO_HARDWARE);
764 } 761 }
765 762
766 // Test that if a OnStopStreamDevice message is received for a device that has 763 // Test that if a OnStopStreamDevice message is received for a device that has
767 // been opened in a MediaStream and by pepper, the device is only stopped for 764 // been opened in a MediaStream and by pepper, the device is only stopped for
768 // the MediaStream. 765 // the MediaStream.
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 951
955 TEST_F(MediaStreamDispatcherHostTest, DeviceChangeNotification) { 952 TEST_F(MediaStreamDispatcherHostTest, DeviceChangeNotification) {
956 SetupFakeUI(false); 953 SetupFakeUI(false);
957 // warm up the cache 954 // warm up the cache
958 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId, 955 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
959 MEDIA_DEVICE_VIDEO_CAPTURE); 956 MEDIA_DEVICE_VIDEO_CAPTURE);
960 SubscribeToDeviceChangeNotificationsAndWaitForNotification(kRenderId); 957 SubscribeToDeviceChangeNotificationsAndWaitForNotification(kRenderId);
961 } 958 }
962 959
963 }; // namespace content 960 }; // namespace content
OLDNEW
« no previous file with comments | « content/browser/media/media_internals_unittest.cc ('k') | content/browser/renderer_host/media/video_capture_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698