| 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/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 "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "content/common/media/media_stream_messages.h" | 10 #include "content/common/media/media_stream_messages.h" |
| 11 #include "content/renderer/media/media_stream_dispatcher_eventhandler.h" | 11 #include "content/renderer/media/media_stream_dispatcher_eventhandler.h" |
| 12 #include "content/renderer/render_thread_impl.h" | 12 #include "content/renderer/render_thread_impl.h" |
| 13 #include "media/base/audio_parameters.h" | 13 #include "media/base/audio_parameters.h" |
| 14 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" | 14 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" |
| 15 #include "url/gurl.h" | 15 #include "url/origin.h" |
| 16 | 16 |
| 17 namespace content { | 17 namespace content { |
| 18 | 18 |
| 19 namespace { | 19 namespace { |
| 20 | 20 |
| 21 bool RemoveStreamDeviceFromArray(const StreamDeviceInfo device_info, | 21 bool RemoveStreamDeviceFromArray(const StreamDeviceInfo device_info, |
| 22 StreamDeviceInfoArray* array) { | 22 StreamDeviceInfoArray* array) { |
| 23 for (StreamDeviceInfoArray::iterator device_it = array->begin(); | 23 for (StreamDeviceInfoArray::iterator device_it = array->begin(); |
| 24 device_it != array->end(); ++device_it) { | 24 device_it != array->end(); ++device_it) { |
| 25 if (StreamDeviceInfo::IsEqual(*device_it, device_info)) { | 25 if (StreamDeviceInfo::IsEqual(*device_it, device_info)) { |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 : RenderFrameObserver(render_frame), | 67 : RenderFrameObserver(render_frame), |
| 68 next_ipc_id_(0) { | 68 next_ipc_id_(0) { |
| 69 } | 69 } |
| 70 | 70 |
| 71 MediaStreamDispatcher::~MediaStreamDispatcher() {} | 71 MediaStreamDispatcher::~MediaStreamDispatcher() {} |
| 72 | 72 |
| 73 void MediaStreamDispatcher::GenerateStream( | 73 void MediaStreamDispatcher::GenerateStream( |
| 74 int request_id, | 74 int request_id, |
| 75 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, | 75 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, |
| 76 const StreamControls& controls, | 76 const StreamControls& controls, |
| 77 const GURL& security_origin) { | 77 const url::Origin& security_origin) { |
| 78 DCHECK(thread_checker_.CalledOnValidThread()); | 78 DCHECK(thread_checker_.CalledOnValidThread()); |
| 79 DVLOG(1) << "MediaStreamDispatcher::GenerateStream(" << request_id << ")"; | 79 DVLOG(1) << "MediaStreamDispatcher::GenerateStream(" << request_id << ")"; |
| 80 | 80 |
| 81 requests_.push_back(Request(event_handler, request_id, next_ipc_id_)); | 81 requests_.push_back(Request(event_handler, request_id, next_ipc_id_)); |
| 82 Send(new MediaStreamHostMsg_GenerateStream( | 82 Send(new MediaStreamHostMsg_GenerateStream( |
| 83 routing_id(), next_ipc_id_++, controls, security_origin, | 83 routing_id(), next_ipc_id_++, controls, security_origin, |
| 84 blink::WebUserGestureIndicator::isProcessingUserGesture())); | 84 blink::WebUserGestureIndicator::isProcessingUserGesture())); |
| 85 } | 85 } |
| 86 | 86 |
| 87 void MediaStreamDispatcher::CancelGenerateStream( | 87 void MediaStreamDispatcher::CancelGenerateStream( |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 DCHECK(device_found); | 128 DCHECK(device_found); |
| 129 | 129 |
| 130 Send(new MediaStreamHostMsg_StopStreamDevice(routing_id(), | 130 Send(new MediaStreamHostMsg_StopStreamDevice(routing_id(), |
| 131 device_info.device.id)); | 131 device_info.device.id)); |
| 132 } | 132 } |
| 133 | 133 |
| 134 void MediaStreamDispatcher::EnumerateDevices( | 134 void MediaStreamDispatcher::EnumerateDevices( |
| 135 int request_id, | 135 int request_id, |
| 136 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, | 136 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, |
| 137 MediaStreamType type, | 137 MediaStreamType type, |
| 138 const GURL& security_origin) { | 138 const url::Origin& security_origin) { |
| 139 DCHECK(thread_checker_.CalledOnValidThread()); | 139 DCHECK(thread_checker_.CalledOnValidThread()); |
| 140 DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE || | 140 DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE || |
| 141 type == MEDIA_DEVICE_VIDEO_CAPTURE || | 141 type == MEDIA_DEVICE_VIDEO_CAPTURE || |
| 142 type == MEDIA_DEVICE_AUDIO_OUTPUT); | 142 type == MEDIA_DEVICE_AUDIO_OUTPUT); |
| 143 DVLOG(1) << "MediaStreamDispatcher::EnumerateDevices(" | 143 DVLOG(1) << "MediaStreamDispatcher::EnumerateDevices(" |
| 144 << request_id << ")"; | 144 << request_id << ")"; |
| 145 | 145 |
| 146 for (RequestList::iterator it = requests_.begin(); it != requests_.end(); | 146 for (RequestList::iterator it = requests_.begin(); it != requests_.end(); |
| 147 ++it) { | 147 ++it) { |
| 148 DCHECK(!it->IsThisRequest(request_id, event_handler)); | 148 DCHECK(!it->IsThisRequest(request_id, event_handler)); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 170 break; | 170 break; |
| 171 } | 171 } |
| 172 } | 172 } |
| 173 } | 173 } |
| 174 | 174 |
| 175 void MediaStreamDispatcher::OpenDevice( | 175 void MediaStreamDispatcher::OpenDevice( |
| 176 int request_id, | 176 int request_id, |
| 177 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, | 177 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler, |
| 178 const std::string& device_id, | 178 const std::string& device_id, |
| 179 MediaStreamType type, | 179 MediaStreamType type, |
| 180 const GURL& security_origin) { | 180 const url::Origin& security_origin) { |
| 181 DCHECK(thread_checker_.CalledOnValidThread()); | 181 DCHECK(thread_checker_.CalledOnValidThread()); |
| 182 DVLOG(1) << "MediaStreamDispatcher::OpenDevice(" << request_id << ")"; | 182 DVLOG(1) << "MediaStreamDispatcher::OpenDevice(" << request_id << ")"; |
| 183 | 183 |
| 184 requests_.push_back(Request(event_handler, request_id, next_ipc_id_)); | 184 requests_.push_back(Request(event_handler, request_id, next_ipc_id_)); |
| 185 Send(new MediaStreamHostMsg_OpenDevice(routing_id(), | 185 Send(new MediaStreamHostMsg_OpenDevice(routing_id(), |
| 186 next_ipc_id_++, | 186 next_ipc_id_++, |
| 187 device_id, | 187 device_id, |
| 188 type, | 188 type, |
| 189 security_origin)); | 189 security_origin)); |
| 190 } | 190 } |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 DCHECK(thread_checker_.CalledOnValidThread()); | 399 DCHECK(thread_checker_.CalledOnValidThread()); |
| 400 LabelStreamMap::iterator it = label_stream_map_.find(label); | 400 LabelStreamMap::iterator it = label_stream_map_.find(label); |
| 401 if (it == label_stream_map_.end() || | 401 if (it == label_stream_map_.end() || |
| 402 it->second.video_array.size() <= static_cast<size_t>(index)) { | 402 it->second.video_array.size() <= static_cast<size_t>(index)) { |
| 403 return StreamDeviceInfo::kNoId; | 403 return StreamDeviceInfo::kNoId; |
| 404 } | 404 } |
| 405 return it->second.video_array[index].session_id; | 405 return it->second.video_array[index].session_id; |
| 406 } | 406 } |
| 407 | 407 |
| 408 } // namespace content | 408 } // namespace content |
| OLD | NEW |