| 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/user_media_client_impl.h" | 5 #include "content/renderer/media/user_media_client_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 666 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, | 666 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, |
| 667 UserMediaRequestInfo* request) { | 667 UserMediaRequestInfo* request) { |
| 668 DCHECK_EQ(devices.size(), webkit_tracks->size()); | 668 DCHECK_EQ(devices.size(), webkit_tracks->size()); |
| 669 | 669 |
| 670 for (size_t i = 0; i < devices.size(); ++i) { | 670 for (size_t i = 0; i < devices.size(); ++i) { |
| 671 blink::WebMediaStreamSource webkit_source; | 671 blink::WebMediaStreamSource webkit_source; |
| 672 InitializeSourceObject(devices[i], | 672 InitializeSourceObject(devices[i], |
| 673 blink::WebMediaStreamSource::TypeVideo, | 673 blink::WebMediaStreamSource::TypeVideo, |
| 674 constraints, | 674 constraints, |
| 675 &webkit_source); | 675 &webkit_source); |
| 676 (*webkit_tracks)[i] = | 676 (*webkit_tracks)[i].initialize(webkit_source); |
| 677 request->CreateAndStartVideoTrack(webkit_source, constraints); | 677 request->StartVideoTrack((*webkit_tracks)[i], constraints); |
| 678 } | 678 } |
| 679 } | 679 } |
| 680 | 680 |
| 681 void UserMediaClientImpl::CreateAudioTracks( | 681 void UserMediaClientImpl::CreateAudioTracks( |
| 682 const StreamDeviceInfoArray& devices, | 682 const StreamDeviceInfoArray& devices, |
| 683 const blink::WebMediaConstraints& constraints, | 683 const blink::WebMediaConstraints& constraints, |
| 684 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, | 684 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, |
| 685 UserMediaRequestInfo* request) { | 685 UserMediaRequestInfo* request) { |
| 686 DCHECK_EQ(devices.size(), webkit_tracks->size()); | 686 DCHECK_EQ(devices.size(), webkit_tracks->size()); |
| 687 | 687 |
| (...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 DCHECK(native_source); | 1103 DCHECK(native_source); |
| 1104 | 1104 |
| 1105 sources_.push_back(track.source()); | 1105 sources_.push_back(track.source()); |
| 1106 sources_waiting_for_callback_.push_back(native_source); | 1106 sources_waiting_for_callback_.push_back(native_source); |
| 1107 if (native_source->ConnectToTrack(track)) | 1107 if (native_source->ConnectToTrack(track)) |
| 1108 OnTrackStarted(native_source, MEDIA_DEVICE_OK, ""); | 1108 OnTrackStarted(native_source, MEDIA_DEVICE_OK, ""); |
| 1109 else | 1109 else |
| 1110 OnTrackStarted(native_source, MEDIA_DEVICE_TRACK_START_FAILURE, ""); | 1110 OnTrackStarted(native_source, MEDIA_DEVICE_TRACK_START_FAILURE, ""); |
| 1111 } | 1111 } |
| 1112 | 1112 |
| 1113 blink::WebMediaStreamTrack | 1113 void UserMediaClientImpl::UserMediaRequestInfo::StartVideoTrack( |
| 1114 UserMediaClientImpl::UserMediaRequestInfo::CreateAndStartVideoTrack( | 1114 const blink::WebMediaStreamTrack& track, |
| 1115 const blink::WebMediaStreamSource& source, | |
| 1116 const blink::WebMediaConstraints& constraints) { | 1115 const blink::WebMediaConstraints& constraints) { |
| 1117 DCHECK(source.getType() == blink::WebMediaStreamSource::TypeVideo); | 1116 DCHECK(track.source().getType() == blink::WebMediaStreamSource::TypeVideo); |
| 1118 MediaStreamVideoSource* native_source = | 1117 MediaStreamVideoSource* native_source = |
| 1119 MediaStreamVideoSource::GetVideoSource(source); | 1118 MediaStreamVideoSource::GetVideoSource(track.source()); |
| 1119 |
| 1120 DCHECK(native_source); | 1120 DCHECK(native_source); |
| 1121 sources_.push_back(source); | 1121 sources_.push_back(track.source()); |
| 1122 sources_waiting_for_callback_.push_back(native_source); | 1122 sources_waiting_for_callback_.push_back(native_source); |
| 1123 return MediaStreamVideoTrack::CreateVideoTrack( | 1123 if (native_source->ConnectToTrack(track)) { |
| 1124 native_source, constraints, base::Bind( | 1124 native_source->ApplyConstraints(track, constraints, base::Bind( |
| 1125 &UserMediaClientImpl::UserMediaRequestInfo::OnTrackStarted, | 1125 &UserMediaClientImpl::UserMediaRequestInfo::OnTrackStarted, |
| 1126 AsWeakPtr()), | 1126 AsWeakPtr())); |
| 1127 true); | 1127 } else { |
| 1128 OnTrackStarted(native_source, MEDIA_DEVICE_TRACK_START_FAILURE, ""); |
| 1129 } |
| 1128 } | 1130 } |
| 1129 | 1131 |
| 1130 void UserMediaClientImpl::UserMediaRequestInfo::CallbackOnTracksStarted( | 1132 void UserMediaClientImpl::UserMediaRequestInfo::CallbackOnTracksStarted( |
| 1131 const ResourcesReady& callback) { | 1133 const ResourcesReady& callback) { |
| 1132 DCHECK(ready_callback_.is_null()); | 1134 DCHECK(ready_callback_.is_null()); |
| 1133 ready_callback_ = callback; | 1135 ready_callback_ = callback; |
| 1134 CheckAllTracksStarted(); | 1136 CheckAllTracksStarted(); |
| 1135 } | 1137 } |
| 1136 | 1138 |
| 1137 void UserMediaClientImpl::UserMediaRequestInfo::OnTrackStarted( | 1139 void UserMediaClientImpl::UserMediaRequestInfo::OnTrackStarted( |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1186 | 1188 |
| 1187 bool UserMediaClientImpl::UserMediaRequestInfo::HasPendingSources() const { | 1189 bool UserMediaClientImpl::UserMediaRequestInfo::HasPendingSources() const { |
| 1188 return !sources_waiting_for_callback_.empty(); | 1190 return !sources_waiting_for_callback_.empty(); |
| 1189 } | 1191 } |
| 1190 | 1192 |
| 1191 void UserMediaClientImpl::OnDestruct() { | 1193 void UserMediaClientImpl::OnDestruct() { |
| 1192 delete this; | 1194 delete this; |
| 1193 } | 1195 } |
| 1194 | 1196 |
| 1195 } // namespace content | 1197 } // namespace content |
| OLD | NEW |