OLD | NEW |
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 "content/browser/browser_main_loop.h" | 7 #include "content/browser/browser_main_loop.h" |
8 #include "content/common/media/media_stream_messages.h" | 8 #include "content/common/media/media_stream_messages.h" |
9 #include "content/common/media/media_stream_options.h" | 9 #include "content/common/media/media_stream_options.h" |
10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 99 |
100 StreamMap::iterator it = streams_.find(label); | 100 StreamMap::iterator it = streams_.find(label); |
101 DCHECK(it != streams_.end()); | 101 DCHECK(it != streams_.end()); |
102 StreamRequest request = it->second; | 102 StreamRequest request = it->second; |
103 streams_.erase(it); | 103 streams_.erase(it); |
104 | 104 |
105 Send(new MediaStreamMsg_DevicesEnumerated( | 105 Send(new MediaStreamMsg_DevicesEnumerated( |
106 request.render_view_id, request.page_request_id, devices)); | 106 request.render_view_id, request.page_request_id, devices)); |
107 } | 107 } |
108 | 108 |
109 void MediaStreamDispatcherHost::DevicesEnumerationFailed( | |
110 const std::string& label) { | |
111 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
112 DVLOG(1) << "MediaStreamDispatcherHost::DevicesEnumerationFailed(" | |
113 << ", {label = " << label << "})"; | |
114 | |
115 StreamMap::iterator it = streams_.find(label); | |
116 DCHECK(it != streams_.end()); | |
117 StreamRequest request = it->second; | |
118 streams_.erase(it); | |
119 | |
120 Send(new MediaStreamMsg_DevicesEnumerationFailed( | |
121 request.render_view_id, request.page_request_id)); | |
122 } | |
123 | |
124 void MediaStreamDispatcherHost::DeviceOpened( | 109 void MediaStreamDispatcherHost::DeviceOpened( |
125 const std::string& label, | 110 const std::string& label, |
126 const StreamDeviceInfo& video_device) { | 111 const StreamDeviceInfo& video_device) { |
127 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 112 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
128 DVLOG(1) << "MediaStreamDispatcherHost::DeviceOpened(" | 113 DVLOG(1) << "MediaStreamDispatcherHost::DeviceOpened(" |
129 << ", {label = " << label << "})"; | 114 << ", {label = " << label << "})"; |
130 | 115 |
131 StreamMap::iterator it = streams_.find(label); | 116 StreamMap::iterator it = streams_.find(label); |
132 DCHECK(it != streams_.end()); | 117 DCHECK(it != streams_.end()); |
133 StreamRequest request = it->second; | 118 StreamRequest request = it->second; |
134 | 119 |
135 Send(new MediaStreamMsg_DeviceOpened( | 120 Send(new MediaStreamMsg_DeviceOpened( |
136 request.render_view_id, request.page_request_id, label, video_device)); | 121 request.render_view_id, request.page_request_id, label, video_device)); |
137 } | 122 } |
138 | 123 |
139 void MediaStreamDispatcherHost::DeviceOpenFailed( | |
140 const std::string& label) { | |
141 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
142 DVLOG(1) << "MediaStreamDispatcherHost::DeviceOpenFailed(" | |
143 << ", {label = " << label << "})"; | |
144 | |
145 StreamMap::iterator it = streams_.find(label); | |
146 DCHECK(it != streams_.end()); | |
147 StreamRequest request = it->second; | |
148 streams_.erase(it); | |
149 | |
150 Send(new MediaStreamMsg_DeviceOpenFailed(request.render_view_id, | |
151 request.page_request_id)); | |
152 } | |
153 | |
154 bool MediaStreamDispatcherHost::OnMessageReceived( | 124 bool MediaStreamDispatcherHost::OnMessageReceived( |
155 const IPC::Message& message, bool* message_was_ok) { | 125 const IPC::Message& message, bool* message_was_ok) { |
156 bool handled = true; | 126 bool handled = true; |
157 IPC_BEGIN_MESSAGE_MAP_EX(MediaStreamDispatcherHost, message, *message_was_ok) | 127 IPC_BEGIN_MESSAGE_MAP_EX(MediaStreamDispatcherHost, message, *message_was_ok) |
158 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GenerateStream, OnGenerateStream) | 128 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GenerateStream, OnGenerateStream) |
159 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_CancelGenerateStream, | 129 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_CancelGenerateStream, |
160 OnCancelGenerateStream) | 130 OnCancelGenerateStream) |
161 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_StopGeneratedStream, | 131 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_StopGeneratedStream, |
162 OnStopGeneratedStream) | 132 OnStopGeneratedStream) |
163 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_EnumerateDevices, | 133 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_EnumerateDevices, |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 device_id, type, security_origin, &label); | 237 device_id, type, security_origin, &label); |
268 DCHECK(!label.empty()); | 238 DCHECK(!label.empty()); |
269 streams_[label] = StreamRequest(render_view_id, page_request_id); | 239 streams_[label] = StreamRequest(render_view_id, page_request_id); |
270 } | 240 } |
271 | 241 |
272 MediaStreamManager* MediaStreamDispatcherHost::GetManager() { | 242 MediaStreamManager* MediaStreamDispatcherHost::GetManager() { |
273 return BrowserMainLoop::GetMediaStreamManager(); | 243 return BrowserMainLoop::GetMediaStreamManager(); |
274 } | 244 } |
275 | 245 |
276 } // namespace media_stream | 246 } // namespace media_stream |
OLD | NEW |