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

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

Issue 287383002: Implement getMediaDevices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 6 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 | Annotate | Revision Log
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/mock_media_stream_dispatcher.h" 5 #include "content/renderer/media/mock_media_stream_dispatcher.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "content/public/common/media_stream_request.h" 8 #include "content/public/common/media_stream_request.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace content { 11 namespace content {
12 12
13 MockMediaStreamDispatcher::MockMediaStreamDispatcher() 13 MockMediaStreamDispatcher::MockMediaStreamDispatcher()
14 : MediaStreamDispatcher(NULL), 14 : MediaStreamDispatcher(NULL),
15 request_id_(-1), 15 audio_request_id_(-1),
16 video_request_id_(-1),
16 request_stream_counter_(0), 17 request_stream_counter_(0),
17 stop_audio_device_counter_(0), 18 stop_audio_device_counter_(0),
18 stop_video_device_counter_(0), 19 stop_video_device_counter_(0),
19 session_id_(0) { 20 session_id_(0) {
20 } 21 }
21 22
22 MockMediaStreamDispatcher::~MockMediaStreamDispatcher() {} 23 MockMediaStreamDispatcher::~MockMediaStreamDispatcher() {}
23 24
24 void MockMediaStreamDispatcher::GenerateStream( 25 void MockMediaStreamDispatcher::GenerateStream(
25 int request_id, 26 int request_id,
26 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, 27 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler,
27 const StreamOptions& components, 28 const StreamOptions& components,
28 const GURL& url) { 29 const GURL& url) {
29 request_id_ = request_id; 30 // Audio and video share the same request so we use |audio_request_id_| only.
31 audio_request_id_ = request_id;
30 32
31 stream_label_ = "local_stream" + base::IntToString(request_id); 33 stream_label_ = "local_stream" + base::IntToString(request_id);
32 audio_array_.clear(); 34 audio_array_.clear();
33 video_array_.clear(); 35 video_array_.clear();
34 36
35 if (components.audio_requested) { 37 if (components.audio_requested) {
36 StreamDeviceInfo audio; 38 AddAudioDeviceToArray();
37 audio.device.id = "audio_device_id" + base::IntToString(session_id_);
38 audio.device.name = "microphone";
39 audio.device.type = MEDIA_DEVICE_AUDIO_CAPTURE;
40 audio.session_id = session_id_;
41 audio_array_.push_back(audio);
42 } 39 }
43 if (components.video_requested) { 40 if (components.video_requested) {
44 StreamDeviceInfo video; 41 AddVideoDeviceToArray();
45 video.device.id = "video_device_id" + base::IntToString(session_id_);
46 video.device.name = "usb video camera";
47 video.device.type = MEDIA_DEVICE_VIDEO_CAPTURE;
48 video.session_id = session_id_;
49 video_array_.push_back(video);
50 } 42 }
51 ++request_stream_counter_; 43 ++request_stream_counter_;
52 } 44 }
53 45
54 void MockMediaStreamDispatcher::CancelGenerateStream( 46 void MockMediaStreamDispatcher::CancelGenerateStream(
55 int request_id, 47 int request_id,
56 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler) { 48 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler) {
57 EXPECT_EQ(request_id, request_id_); 49 EXPECT_EQ(request_id, audio_request_id_);
50 }
51
52 void MockMediaStreamDispatcher::EnumerateDevices(
53 int request_id,
54 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler,
55 MediaStreamType type,
56 const GURL& security_origin) {
57 if (type == MEDIA_DEVICE_AUDIO_CAPTURE) {
58 audio_request_id_ = request_id;
59 audio_array_.clear();
60 AddAudioDeviceToArray();
61 } else if (type == MEDIA_DEVICE_VIDEO_CAPTURE) {
62 video_request_id_ = request_id;
63 video_array_.clear();
64 AddVideoDeviceToArray();
65 }
58 } 66 }
59 67
60 void MockMediaStreamDispatcher::StopStreamDevice( 68 void MockMediaStreamDispatcher::StopStreamDevice(
61 const StreamDeviceInfo& device_info) { 69 const StreamDeviceInfo& device_info) {
62 if (IsAudioMediaType(device_info.device.type)) { 70 if (IsAudioMediaType(device_info.device.type)) {
63 ++stop_audio_device_counter_; 71 ++stop_audio_device_counter_;
64 return; 72 return;
65 } 73 }
66 if (IsVideoMediaType(device_info.device.type)) { 74 if (IsVideoMediaType(device_info.device.type)) {
67 ++stop_video_device_counter_; 75 ++stop_video_device_counter_;
68 return; 76 return;
69 } 77 }
70 NOTREACHED(); 78 NOTREACHED();
71 } 79 }
72 80
73 bool MockMediaStreamDispatcher::IsStream(const std::string& label) { 81 bool MockMediaStreamDispatcher::IsStream(const std::string& label) {
74 return true; 82 return true;
75 } 83 }
76 84
77 int MockMediaStreamDispatcher::video_session_id(const std::string& label, 85 int MockMediaStreamDispatcher::video_session_id(const std::string& label,
78 int index) { 86 int index) {
79 return -1; 87 return -1;
80 } 88 }
81 89
82 int MockMediaStreamDispatcher::audio_session_id(const std::string& label, 90 int MockMediaStreamDispatcher::audio_session_id(const std::string& label,
83 int index) { 91 int index) {
84 return -1; 92 return -1;
85 } 93 }
86 94
95 void MockMediaStreamDispatcher::AddAudioDeviceToArray() {
96 StreamDeviceInfo audio;
97 audio.device.id = "audio_device_id" + base::IntToString(session_id_);
98 audio.device.name = "microphone";
99 audio.device.type = MEDIA_DEVICE_AUDIO_CAPTURE;
100 audio.session_id = session_id_;
101 audio_array_.push_back(audio);
102 }
103
104 void MockMediaStreamDispatcher::AddVideoDeviceToArray() {
105 StreamDeviceInfo video;
106 video.device.id = "video_device_id" + base::IntToString(session_id_);
107 video.device.name = "usb video camera";
108 video.device.type = MEDIA_DEVICE_VIDEO_CAPTURE;
109 video.session_id = session_id_;
110 video_array_.push_back(video);
111 }
112
87 } // namespace content 113 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/mock_media_stream_dispatcher.h ('k') | content/renderer/media/webrtc_uma_histograms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698