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/browser/renderer_host/media/web_contents_capture_util.h" | 8 #include "content/browser/renderer_host/media/web_contents_capture_util.h" |
9 #include "content/common/media/media_stream_messages.h" | 9 #include "content/common/media/media_stream_messages.h" |
10 #include "content/common/media/media_stream_options.h" | 10 #include "content/common/media/media_stream_options.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 << render_view_id << ", " | 126 << render_view_id << ", " |
127 << page_request_id << ", [" | 127 << page_request_id << ", [" |
128 << " audio:" << components.audio_type | 128 << " audio:" << components.audio_type |
129 << " video:" << components.video_type | 129 << " video:" << components.video_type |
130 << " ], " | 130 << " ], " |
131 << security_origin.spec() << ")"; | 131 << security_origin.spec() << ")"; |
132 | 132 |
133 const std::string& label = media_stream_manager_->GenerateStream( | 133 const std::string& label = media_stream_manager_->GenerateStream( |
134 this, render_process_id_, render_view_id, page_request_id, | 134 this, render_process_id_, render_view_id, page_request_id, |
135 components, security_origin); | 135 components, security_origin); |
136 CHECK(!label.empty()); | 136 if (label.empty()) { |
137 StoreRequest(render_view_id, page_request_id, label); | 137 Send(new MediaStreamMsg_StreamGenerationFailed(render_view_id, |
| 138 page_request_id)); |
| 139 } else { |
| 140 StoreRequest(render_view_id, page_request_id, label); |
| 141 } |
138 } | 142 } |
139 | 143 |
140 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id, | 144 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id, |
141 int page_request_id) { | 145 int page_request_id) { |
142 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream(" | 146 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream(" |
143 << render_view_id << ", " | 147 << render_view_id << ", " |
144 << page_request_id << ")"; | 148 << page_request_id << ")"; |
145 | 149 |
146 for (StreamMap::iterator it = streams_.begin(); it != streams_.end(); ++it) { | 150 for (StreamMap::iterator it = streams_.begin(); it != streams_.end(); ++it) { |
147 if (it->second.render_view_id == render_view_id && | 151 if (it->second.render_view_id == render_view_id && |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 MediaStreamDispatcherHost::StreamRequest | 237 MediaStreamDispatcherHost::StreamRequest |
234 MediaStreamDispatcherHost::PopRequest(const std::string& label) { | 238 MediaStreamDispatcherHost::PopRequest(const std::string& label) { |
235 StreamMap::iterator it = streams_.find(label); | 239 StreamMap::iterator it = streams_.find(label); |
236 CHECK(it != streams_.end()); | 240 CHECK(it != streams_.end()); |
237 StreamRequest request = it->second; | 241 StreamRequest request = it->second; |
238 streams_.erase(it); | 242 streams_.erase(it); |
239 return request; | 243 return request; |
240 } | 244 } |
241 | 245 |
242 } // namespace content | 246 } // namespace content |
OLD | NEW |