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

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

Issue 63253002: Rename WebKit namespace to blink (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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/rtc_peer_connection_handler.h" 5 #include "content/renderer/media/rtc_peer_connection_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 23 matching lines...) Expand all
34 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" 34 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h"
35 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" 35 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h"
36 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" 36 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h"
37 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" 37 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h"
38 #include "third_party/WebKit/public/platform/WebURL.h" 38 #include "third_party/WebKit/public/platform/WebURL.h"
39 #include "third_party/WebKit/public/web/WebFrame.h" 39 #include "third_party/WebKit/public/web/WebFrame.h"
40 40
41 namespace content { 41 namespace content {
42 42
43 // Converter functions from libjingle types to WebKit types. 43 // Converter functions from libjingle types to WebKit types.
44 WebKit::WebRTCPeerConnectionHandlerClient::ICEGatheringState 44 blink::WebRTCPeerConnectionHandlerClient::ICEGatheringState
45 GetWebKitIceGatheringState( 45 GetWebKitIceGatheringState(
46 webrtc::PeerConnectionInterface::IceGatheringState state) { 46 webrtc::PeerConnectionInterface::IceGatheringState state) {
47 using WebKit::WebRTCPeerConnectionHandlerClient; 47 using blink::WebRTCPeerConnectionHandlerClient;
48 switch (state) { 48 switch (state) {
49 case webrtc::PeerConnectionInterface::kIceGatheringNew: 49 case webrtc::PeerConnectionInterface::kIceGatheringNew:
50 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew; 50 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew;
51 case webrtc::PeerConnectionInterface::kIceGatheringGathering: 51 case webrtc::PeerConnectionInterface::kIceGatheringGathering:
52 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering; 52 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering;
53 case webrtc::PeerConnectionInterface::kIceGatheringComplete: 53 case webrtc::PeerConnectionInterface::kIceGatheringComplete:
54 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete; 54 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete;
55 default: 55 default:
56 NOTREACHED(); 56 NOTREACHED();
57 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew; 57 return WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew;
58 } 58 }
59 } 59 }
60 60
61 static WebKit::WebRTCPeerConnectionHandlerClient::ICEConnectionState 61 static blink::WebRTCPeerConnectionHandlerClient::ICEConnectionState
62 GetWebKitIceConnectionState( 62 GetWebKitIceConnectionState(
63 webrtc::PeerConnectionInterface::IceConnectionState ice_state) { 63 webrtc::PeerConnectionInterface::IceConnectionState ice_state) {
64 using WebKit::WebRTCPeerConnectionHandlerClient; 64 using blink::WebRTCPeerConnectionHandlerClient;
65 switch (ice_state) { 65 switch (ice_state) {
66 case webrtc::PeerConnectionInterface::kIceConnectionNew: 66 case webrtc::PeerConnectionInterface::kIceConnectionNew:
67 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting; 67 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting;
68 case webrtc::PeerConnectionInterface::kIceConnectionChecking: 68 case webrtc::PeerConnectionInterface::kIceConnectionChecking:
69 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking; 69 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking;
70 case webrtc::PeerConnectionInterface::kIceConnectionConnected: 70 case webrtc::PeerConnectionInterface::kIceConnectionConnected:
71 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected; 71 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected;
72 case webrtc::PeerConnectionInterface::kIceConnectionCompleted: 72 case webrtc::PeerConnectionInterface::kIceConnectionCompleted:
73 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted; 73 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted;
74 case webrtc::PeerConnectionInterface::kIceConnectionFailed: 74 case webrtc::PeerConnectionInterface::kIceConnectionFailed:
75 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed; 75 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed;
76 case webrtc::PeerConnectionInterface::kIceConnectionDisconnected: 76 case webrtc::PeerConnectionInterface::kIceConnectionDisconnected:
77 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected; 77 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected;
78 case webrtc::PeerConnectionInterface::kIceConnectionClosed: 78 case webrtc::PeerConnectionInterface::kIceConnectionClosed:
79 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed; 79 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed;
80 default: 80 default:
81 NOTREACHED(); 81 NOTREACHED();
82 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed; 82 return WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed;
83 } 83 }
84 } 84 }
85 85
86 static WebKit::WebRTCPeerConnectionHandlerClient::SignalingState 86 static blink::WebRTCPeerConnectionHandlerClient::SignalingState
87 GetWebKitSignalingState(webrtc::PeerConnectionInterface::SignalingState state) { 87 GetWebKitSignalingState(webrtc::PeerConnectionInterface::SignalingState state) {
88 using WebKit::WebRTCPeerConnectionHandlerClient; 88 using blink::WebRTCPeerConnectionHandlerClient;
89 switch (state) { 89 switch (state) {
90 case webrtc::PeerConnectionInterface::kStable: 90 case webrtc::PeerConnectionInterface::kStable:
91 return WebRTCPeerConnectionHandlerClient::SignalingStateStable; 91 return WebRTCPeerConnectionHandlerClient::SignalingStateStable;
92 case webrtc::PeerConnectionInterface::kHaveLocalOffer: 92 case webrtc::PeerConnectionInterface::kHaveLocalOffer:
93 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer; 93 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer;
94 case webrtc::PeerConnectionInterface::kHaveLocalPrAnswer: 94 case webrtc::PeerConnectionInterface::kHaveLocalPrAnswer:
95 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer; 95 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer;
96 case webrtc::PeerConnectionInterface::kHaveRemoteOffer: 96 case webrtc::PeerConnectionInterface::kHaveRemoteOffer:
97 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer; 97 return WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer;
98 case webrtc::PeerConnectionInterface::kHaveRemotePrAnswer: 98 case webrtc::PeerConnectionInterface::kHaveRemotePrAnswer:
99 return 99 return
100 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer; 100 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer;
101 case webrtc::PeerConnectionInterface::kClosed: 101 case webrtc::PeerConnectionInterface::kClosed:
102 return WebRTCPeerConnectionHandlerClient::SignalingStateClosed; 102 return WebRTCPeerConnectionHandlerClient::SignalingStateClosed;
103 default: 103 default:
104 NOTREACHED(); 104 NOTREACHED();
105 return WebRTCPeerConnectionHandlerClient::SignalingStateClosed; 105 return WebRTCPeerConnectionHandlerClient::SignalingStateClosed;
106 } 106 }
107 } 107 }
108 108
109 static WebKit::WebRTCSessionDescription 109 static blink::WebRTCSessionDescription
110 CreateWebKitSessionDescription( 110 CreateWebKitSessionDescription(
111 const webrtc::SessionDescriptionInterface* native_desc) { 111 const webrtc::SessionDescriptionInterface* native_desc) {
112 WebKit::WebRTCSessionDescription description; 112 blink::WebRTCSessionDescription description;
113 if (!native_desc) { 113 if (!native_desc) {
114 LOG(ERROR) << "Native session description is null."; 114 LOG(ERROR) << "Native session description is null.";
115 return description; 115 return description;
116 } 116 }
117 117
118 std::string sdp; 118 std::string sdp;
119 if (!native_desc->ToString(&sdp)) { 119 if (!native_desc->ToString(&sdp)) {
120 LOG(ERROR) << "Failed to get SDP string of native session description."; 120 LOG(ERROR) << "Failed to get SDP string of native session description.";
121 return description; 121 return description;
122 } 122 }
123 123
124 description.initialize(UTF8ToUTF16(native_desc->type()), UTF8ToUTF16(sdp)); 124 description.initialize(UTF8ToUTF16(native_desc->type()), UTF8ToUTF16(sdp));
125 return description; 125 return description;
126 } 126 }
127 127
128 // Converter functions from WebKit types to libjingle types. 128 // Converter functions from WebKit types to libjingle types.
129 129
130 static void GetNativeIceServers( 130 static void GetNativeIceServers(
131 const WebKit::WebRTCConfiguration& server_configuration, 131 const blink::WebRTCConfiguration& server_configuration,
132 webrtc::PeerConnectionInterface::IceServers* servers) { 132 webrtc::PeerConnectionInterface::IceServers* servers) {
133 if (server_configuration.isNull() || !servers) 133 if (server_configuration.isNull() || !servers)
134 return; 134 return;
135 for (size_t i = 0; i < server_configuration.numberOfServers(); ++i) { 135 for (size_t i = 0; i < server_configuration.numberOfServers(); ++i) {
136 webrtc::PeerConnectionInterface::IceServer server; 136 webrtc::PeerConnectionInterface::IceServer server;
137 const WebKit::WebRTCICEServer& webkit_server = 137 const blink::WebRTCICEServer& webkit_server =
138 server_configuration.server(i); 138 server_configuration.server(i);
139 server.username = UTF16ToUTF8(webkit_server.username()); 139 server.username = UTF16ToUTF8(webkit_server.username());
140 server.password = UTF16ToUTF8(webkit_server.credential()); 140 server.password = UTF16ToUTF8(webkit_server.credential());
141 server.uri = webkit_server.uri().spec(); 141 server.uri = webkit_server.uri().spec();
142 servers->push_back(server); 142 servers->push_back(server);
143 } 143 }
144 } 144 }
145 145
146 class SessionDescriptionRequestTracker { 146 class SessionDescriptionRequestTracker {
147 public: 147 public:
(...skipping 17 matching lines...) Expand all
165 handler_->peer_connection_tracker()->TrackSessionDescriptionCallback( 165 handler_->peer_connection_tracker()->TrackSessionDescriptionCallback(
166 handler_, action_, "OnFailure", error); 166 handler_, action_, "OnFailure", error);
167 } 167 }
168 168
169 private: 169 private:
170 RTCPeerConnectionHandler* handler_; 170 RTCPeerConnectionHandler* handler_;
171 PeerConnectionTracker::Action action_; 171 PeerConnectionTracker::Action action_;
172 }; 172 };
173 173
174 // Class mapping responses from calls to libjingle CreateOffer/Answer and 174 // Class mapping responses from calls to libjingle CreateOffer/Answer and
175 // the WebKit::WebRTCSessionDescriptionRequest. 175 // the blink::WebRTCSessionDescriptionRequest.
176 class CreateSessionDescriptionRequest 176 class CreateSessionDescriptionRequest
177 : public webrtc::CreateSessionDescriptionObserver { 177 : public webrtc::CreateSessionDescriptionObserver {
178 public: 178 public:
179 explicit CreateSessionDescriptionRequest( 179 explicit CreateSessionDescriptionRequest(
180 const WebKit::WebRTCSessionDescriptionRequest& request, 180 const blink::WebRTCSessionDescriptionRequest& request,
181 RTCPeerConnectionHandler* handler, 181 RTCPeerConnectionHandler* handler,
182 PeerConnectionTracker::Action action) 182 PeerConnectionTracker::Action action)
183 : webkit_request_(request), tracker_(handler, action) {} 183 : webkit_request_(request), tracker_(handler, action) {}
184 184
185 virtual void OnSuccess(webrtc::SessionDescriptionInterface* desc) OVERRIDE { 185 virtual void OnSuccess(webrtc::SessionDescriptionInterface* desc) OVERRIDE {
186 tracker_.TrackOnSuccess(desc); 186 tracker_.TrackOnSuccess(desc);
187 webkit_request_.requestSucceeded(CreateWebKitSessionDescription(desc)); 187 webkit_request_.requestSucceeded(CreateWebKitSessionDescription(desc));
188 } 188 }
189 virtual void OnFailure(const std::string& error) OVERRIDE { 189 virtual void OnFailure(const std::string& error) OVERRIDE {
190 tracker_.TrackOnFailure(error); 190 tracker_.TrackOnFailure(error);
191 webkit_request_.requestFailed(UTF8ToUTF16(error)); 191 webkit_request_.requestFailed(UTF8ToUTF16(error));
192 } 192 }
193 193
194 protected: 194 protected:
195 virtual ~CreateSessionDescriptionRequest() {} 195 virtual ~CreateSessionDescriptionRequest() {}
196 196
197 private: 197 private:
198 WebKit::WebRTCSessionDescriptionRequest webkit_request_; 198 blink::WebRTCSessionDescriptionRequest webkit_request_;
199 SessionDescriptionRequestTracker tracker_; 199 SessionDescriptionRequestTracker tracker_;
200 }; 200 };
201 201
202 // Class mapping responses from calls to libjingle 202 // Class mapping responses from calls to libjingle
203 // SetLocalDescription/SetRemoteDescription and a WebKit::WebRTCVoidRequest. 203 // SetLocalDescription/SetRemoteDescription and a blink::WebRTCVoidRequest.
204 class SetSessionDescriptionRequest 204 class SetSessionDescriptionRequest
205 : public webrtc::SetSessionDescriptionObserver { 205 : public webrtc::SetSessionDescriptionObserver {
206 public: 206 public:
207 explicit SetSessionDescriptionRequest( 207 explicit SetSessionDescriptionRequest(
208 const WebKit::WebRTCVoidRequest& request, 208 const blink::WebRTCVoidRequest& request,
209 RTCPeerConnectionHandler* handler, 209 RTCPeerConnectionHandler* handler,
210 PeerConnectionTracker::Action action) 210 PeerConnectionTracker::Action action)
211 : webkit_request_(request), tracker_(handler, action) {} 211 : webkit_request_(request), tracker_(handler, action) {}
212 212
213 virtual void OnSuccess() OVERRIDE { 213 virtual void OnSuccess() OVERRIDE {
214 tracker_.TrackOnSuccess(NULL); 214 tracker_.TrackOnSuccess(NULL);
215 webkit_request_.requestSucceeded(); 215 webkit_request_.requestSucceeded();
216 } 216 }
217 virtual void OnFailure(const std::string& error) OVERRIDE { 217 virtual void OnFailure(const std::string& error) OVERRIDE {
218 tracker_.TrackOnFailure(error); 218 tracker_.TrackOnFailure(error);
219 webkit_request_.requestFailed(UTF8ToUTF16(error)); 219 webkit_request_.requestFailed(UTF8ToUTF16(error));
220 } 220 }
221 221
222 protected: 222 protected:
223 virtual ~SetSessionDescriptionRequest() {} 223 virtual ~SetSessionDescriptionRequest() {}
224 224
225 private: 225 private:
226 WebKit::WebRTCVoidRequest webkit_request_; 226 blink::WebRTCVoidRequest webkit_request_;
227 SessionDescriptionRequestTracker tracker_; 227 SessionDescriptionRequestTracker tracker_;
228 }; 228 };
229 229
230 // Class mapping responses from calls to libjingle 230 // Class mapping responses from calls to libjingle
231 // GetStats into a WebKit::WebRTCStatsCallback. 231 // GetStats into a blink::WebRTCStatsCallback.
232 class StatsResponse : public webrtc::StatsObserver { 232 class StatsResponse : public webrtc::StatsObserver {
233 public: 233 public:
234 explicit StatsResponse(const scoped_refptr<LocalRTCStatsRequest>& request) 234 explicit StatsResponse(const scoped_refptr<LocalRTCStatsRequest>& request)
235 : request_(request.get()), response_(request_->createResponse().get()) {} 235 : request_(request.get()), response_(request_->createResponse().get()) {}
236 236
237 virtual void OnComplete( 237 virtual void OnComplete(
238 const std::vector<webrtc::StatsReport>& reports) OVERRIDE { 238 const std::vector<webrtc::StatsReport>& reports) OVERRIDE {
239 for (std::vector<webrtc::StatsReport>::const_iterator it = reports.begin(); 239 for (std::vector<webrtc::StatsReport>::const_iterator it = reports.begin();
240 it != reports.end(); ++it) { 240 it != reports.end(); ++it) {
241 if (it->values.size() > 0) { 241 if (it->values.size() > 0) {
242 AddReport(*it); 242 AddReport(*it);
243 } 243 }
244 } 244 }
245 request_->requestSucceeded(response_); 245 request_->requestSucceeded(response_);
246 } 246 }
247 247
248 private: 248 private:
249 void AddReport(const webrtc::StatsReport& report) { 249 void AddReport(const webrtc::StatsReport& report) {
250 int idx = response_->addReport(WebKit::WebString::fromUTF8(report.id), 250 int idx = response_->addReport(blink::WebString::fromUTF8(report.id),
251 WebKit::WebString::fromUTF8(report.type), 251 blink::WebString::fromUTF8(report.type),
252 report.timestamp); 252 report.timestamp);
253 for (webrtc::StatsReport::Values::const_iterator value_it = 253 for (webrtc::StatsReport::Values::const_iterator value_it =
254 report.values.begin(); 254 report.values.begin();
255 value_it != report.values.end(); ++value_it) { 255 value_it != report.values.end(); ++value_it) {
256 AddStatistic(idx, value_it->name, value_it->value); 256 AddStatistic(idx, value_it->name, value_it->value);
257 } 257 }
258 } 258 }
259 259
260 void AddStatistic(int idx, const std::string& name, 260 void AddStatistic(int idx, const std::string& name,
261 const std::string& value) { 261 const std::string& value) {
262 response_->addStatistic(idx, 262 response_->addStatistic(idx,
263 WebKit::WebString::fromUTF8(name), 263 blink::WebString::fromUTF8(name),
264 WebKit::WebString::fromUTF8(value)); 264 blink::WebString::fromUTF8(value));
265 } 265 }
266 266
267 talk_base::scoped_refptr<LocalRTCStatsRequest> request_; 267 talk_base::scoped_refptr<LocalRTCStatsRequest> request_;
268 talk_base::scoped_refptr<LocalRTCStatsResponse> response_; 268 talk_base::scoped_refptr<LocalRTCStatsResponse> response_;
269 }; 269 };
270 270
271 // Implementation of LocalRTCStatsRequest. 271 // Implementation of LocalRTCStatsRequest.
272 LocalRTCStatsRequest::LocalRTCStatsRequest(WebKit::WebRTCStatsRequest impl) 272 LocalRTCStatsRequest::LocalRTCStatsRequest(blink::WebRTCStatsRequest impl)
273 : impl_(impl), 273 : impl_(impl),
274 response_(NULL) { 274 response_(NULL) {
275 } 275 }
276 276
277 LocalRTCStatsRequest::LocalRTCStatsRequest() {} 277 LocalRTCStatsRequest::LocalRTCStatsRequest() {}
278 LocalRTCStatsRequest::~LocalRTCStatsRequest() {} 278 LocalRTCStatsRequest::~LocalRTCStatsRequest() {}
279 279
280 bool LocalRTCStatsRequest::hasSelector() const { 280 bool LocalRTCStatsRequest::hasSelector() const {
281 return impl_.hasSelector(); 281 return impl_.hasSelector();
282 } 282 }
283 283
284 WebKit::WebMediaStreamTrack LocalRTCStatsRequest::component() const { 284 blink::WebMediaStreamTrack LocalRTCStatsRequest::component() const {
285 return impl_.component(); 285 return impl_.component();
286 } 286 }
287 287
288 scoped_refptr<LocalRTCStatsResponse> LocalRTCStatsRequest::createResponse() { 288 scoped_refptr<LocalRTCStatsResponse> LocalRTCStatsRequest::createResponse() {
289 DCHECK(!response_); 289 DCHECK(!response_);
290 response_ = new talk_base::RefCountedObject<LocalRTCStatsResponse>( 290 response_ = new talk_base::RefCountedObject<LocalRTCStatsResponse>(
291 impl_.createResponse()); 291 impl_.createResponse());
292 return response_.get(); 292 return response_.get();
293 } 293 }
294 294
295 void LocalRTCStatsRequest::requestSucceeded( 295 void LocalRTCStatsRequest::requestSucceeded(
296 const LocalRTCStatsResponse* response) { 296 const LocalRTCStatsResponse* response) {
297 impl_.requestSucceeded(response->webKitStatsResponse()); 297 impl_.requestSucceeded(response->webKitStatsResponse());
298 } 298 }
299 299
300 // Implementation of LocalRTCStatsResponse. 300 // Implementation of LocalRTCStatsResponse.
301 WebKit::WebRTCStatsResponse LocalRTCStatsResponse::webKitStatsResponse() const { 301 blink::WebRTCStatsResponse LocalRTCStatsResponse::webKitStatsResponse() const {
302 return impl_; 302 return impl_;
303 } 303 }
304 304
305 size_t LocalRTCStatsResponse::addReport(WebKit::WebString type, 305 size_t LocalRTCStatsResponse::addReport(blink::WebString type,
306 WebKit::WebString id, 306 blink::WebString id,
307 double timestamp) { 307 double timestamp) {
308 return impl_.addReport(type, id, timestamp); 308 return impl_.addReport(type, id, timestamp);
309 } 309 }
310 310
311 void LocalRTCStatsResponse::addStatistic(size_t report, 311 void LocalRTCStatsResponse::addStatistic(size_t report,
312 WebKit::WebString name, 312 blink::WebString name,
313 WebKit::WebString value) { 313 blink::WebString value) {
314 impl_.addStatistic(report, name, value); 314 impl_.addStatistic(report, name, value);
315 } 315 }
316 316
317 RTCPeerConnectionHandler::RTCPeerConnectionHandler( 317 RTCPeerConnectionHandler::RTCPeerConnectionHandler(
318 WebKit::WebRTCPeerConnectionHandlerClient* client, 318 blink::WebRTCPeerConnectionHandlerClient* client,
319 MediaStreamDependencyFactory* dependency_factory) 319 MediaStreamDependencyFactory* dependency_factory)
320 : PeerConnectionHandlerBase(dependency_factory), 320 : PeerConnectionHandlerBase(dependency_factory),
321 client_(client), 321 client_(client),
322 frame_(NULL), 322 frame_(NULL),
323 peer_connection_tracker_(NULL) { 323 peer_connection_tracker_(NULL) {
324 } 324 }
325 325
326 RTCPeerConnectionHandler::~RTCPeerConnectionHandler() { 326 RTCPeerConnectionHandler::~RTCPeerConnectionHandler() {
327 if (peer_connection_tracker_) 327 if (peer_connection_tracker_)
328 peer_connection_tracker_->UnregisterPeerConnection(this); 328 peer_connection_tracker_->UnregisterPeerConnection(this);
329 STLDeleteValues(&remote_streams_); 329 STLDeleteValues(&remote_streams_);
330 } 330 }
331 331
332 void RTCPeerConnectionHandler::associateWithFrame(WebKit::WebFrame* frame) { 332 void RTCPeerConnectionHandler::associateWithFrame(blink::WebFrame* frame) {
333 DCHECK(frame); 333 DCHECK(frame);
334 frame_ = frame; 334 frame_ = frame;
335 } 335 }
336 336
337 bool RTCPeerConnectionHandler::initialize( 337 bool RTCPeerConnectionHandler::initialize(
338 const WebKit::WebRTCConfiguration& server_configuration, 338 const blink::WebRTCConfiguration& server_configuration,
339 const WebKit::WebMediaConstraints& options) { 339 const blink::WebMediaConstraints& options) {
340 DCHECK(frame_); 340 DCHECK(frame_);
341 341
342 peer_connection_tracker_ = 342 peer_connection_tracker_ =
343 RenderThreadImpl::current()->peer_connection_tracker(); 343 RenderThreadImpl::current()->peer_connection_tracker();
344 344
345 webrtc::PeerConnectionInterface::IceServers servers; 345 webrtc::PeerConnectionInterface::IceServers servers;
346 GetNativeIceServers(server_configuration, &servers); 346 GetNativeIceServers(server_configuration, &servers);
347 347
348 RTCMediaConstraints constraints(options); 348 RTCMediaConstraints constraints(options);
349 349
350 native_peer_connection_ = 350 native_peer_connection_ =
351 dependency_factory_->CreatePeerConnection( 351 dependency_factory_->CreatePeerConnection(
352 servers, &constraints, frame_, this); 352 servers, &constraints, frame_, this);
353 if (!native_peer_connection_.get()) { 353 if (!native_peer_connection_.get()) {
354 LOG(ERROR) << "Failed to initialize native PeerConnection."; 354 LOG(ERROR) << "Failed to initialize native PeerConnection.";
355 return false; 355 return false;
356 } 356 }
357 if (peer_connection_tracker_) 357 if (peer_connection_tracker_)
358 peer_connection_tracker_->RegisterPeerConnection( 358 peer_connection_tracker_->RegisterPeerConnection(
359 this, servers, constraints, frame_); 359 this, servers, constraints, frame_);
360 360
361 return true; 361 return true;
362 } 362 }
363 363
364 bool RTCPeerConnectionHandler::InitializeForTest( 364 bool RTCPeerConnectionHandler::InitializeForTest(
365 const WebKit::WebRTCConfiguration& server_configuration, 365 const blink::WebRTCConfiguration& server_configuration,
366 const WebKit::WebMediaConstraints& options, 366 const blink::WebMediaConstraints& options,
367 PeerConnectionTracker* peer_connection_tracker) { 367 PeerConnectionTracker* peer_connection_tracker) {
368 webrtc::PeerConnectionInterface::IceServers servers; 368 webrtc::PeerConnectionInterface::IceServers servers;
369 GetNativeIceServers(server_configuration, &servers); 369 GetNativeIceServers(server_configuration, &servers);
370 370
371 RTCMediaConstraints constraints(options); 371 RTCMediaConstraints constraints(options);
372 native_peer_connection_ = 372 native_peer_connection_ =
373 dependency_factory_->CreatePeerConnection( 373 dependency_factory_->CreatePeerConnection(
374 servers, &constraints, NULL, this); 374 servers, &constraints, NULL, this);
375 if (!native_peer_connection_.get()) { 375 if (!native_peer_connection_.get()) {
376 LOG(ERROR) << "Failed to initialize native PeerConnection."; 376 LOG(ERROR) << "Failed to initialize native PeerConnection.";
377 return false; 377 return false;
378 } 378 }
379 peer_connection_tracker_ = peer_connection_tracker; 379 peer_connection_tracker_ = peer_connection_tracker;
380 return true; 380 return true;
381 } 381 }
382 382
383 void RTCPeerConnectionHandler::createOffer( 383 void RTCPeerConnectionHandler::createOffer(
384 const WebKit::WebRTCSessionDescriptionRequest& request, 384 const blink::WebRTCSessionDescriptionRequest& request,
385 const WebKit::WebMediaConstraints& options) { 385 const blink::WebMediaConstraints& options) {
386 scoped_refptr<CreateSessionDescriptionRequest> description_request( 386 scoped_refptr<CreateSessionDescriptionRequest> description_request(
387 new talk_base::RefCountedObject<CreateSessionDescriptionRequest>( 387 new talk_base::RefCountedObject<CreateSessionDescriptionRequest>(
388 request, this, PeerConnectionTracker::ACTION_CREATE_OFFER)); 388 request, this, PeerConnectionTracker::ACTION_CREATE_OFFER));
389 RTCMediaConstraints constraints(options); 389 RTCMediaConstraints constraints(options);
390 native_peer_connection_->CreateOffer(description_request.get(), &constraints); 390 native_peer_connection_->CreateOffer(description_request.get(), &constraints);
391 391
392 if (peer_connection_tracker_) 392 if (peer_connection_tracker_)
393 peer_connection_tracker_->TrackCreateOffer(this, constraints); 393 peer_connection_tracker_->TrackCreateOffer(this, constraints);
394 } 394 }
395 395
396 void RTCPeerConnectionHandler::createAnswer( 396 void RTCPeerConnectionHandler::createAnswer(
397 const WebKit::WebRTCSessionDescriptionRequest& request, 397 const blink::WebRTCSessionDescriptionRequest& request,
398 const WebKit::WebMediaConstraints& options) { 398 const blink::WebMediaConstraints& options) {
399 scoped_refptr<CreateSessionDescriptionRequest> description_request( 399 scoped_refptr<CreateSessionDescriptionRequest> description_request(
400 new talk_base::RefCountedObject<CreateSessionDescriptionRequest>( 400 new talk_base::RefCountedObject<CreateSessionDescriptionRequest>(
401 request, this, PeerConnectionTracker::ACTION_CREATE_ANSWER)); 401 request, this, PeerConnectionTracker::ACTION_CREATE_ANSWER));
402 RTCMediaConstraints constraints(options); 402 RTCMediaConstraints constraints(options);
403 native_peer_connection_->CreateAnswer(description_request.get(), 403 native_peer_connection_->CreateAnswer(description_request.get(),
404 &constraints); 404 &constraints);
405 405
406 if (peer_connection_tracker_) 406 if (peer_connection_tracker_)
407 peer_connection_tracker_->TrackCreateAnswer(this, constraints); 407 peer_connection_tracker_->TrackCreateAnswer(this, constraints);
408 } 408 }
409 409
410 void RTCPeerConnectionHandler::setLocalDescription( 410 void RTCPeerConnectionHandler::setLocalDescription(
411 const WebKit::WebRTCVoidRequest& request, 411 const blink::WebRTCVoidRequest& request,
412 const WebKit::WebRTCSessionDescription& description) { 412 const blink::WebRTCSessionDescription& description) {
413 webrtc::SdpParseError error; 413 webrtc::SdpParseError error;
414 webrtc::SessionDescriptionInterface* native_desc = 414 webrtc::SessionDescriptionInterface* native_desc =
415 CreateNativeSessionDescription(description, &error); 415 CreateNativeSessionDescription(description, &error);
416 if (!native_desc) { 416 if (!native_desc) {
417 std::string reason_str = "Failed to parse SessionDescription. "; 417 std::string reason_str = "Failed to parse SessionDescription. ";
418 reason_str.append(error.line); 418 reason_str.append(error.line);
419 reason_str.append(" "); 419 reason_str.append(" ");
420 reason_str.append(error.description); 420 reason_str.append(error.description);
421 LOG(ERROR) << reason_str; 421 LOG(ERROR) << reason_str;
422 request.requestFailed(WebKit::WebString::fromUTF8(reason_str)); 422 request.requestFailed(blink::WebString::fromUTF8(reason_str));
423 return; 423 return;
424 } 424 }
425 if (peer_connection_tracker_) 425 if (peer_connection_tracker_)
426 peer_connection_tracker_->TrackSetSessionDescription( 426 peer_connection_tracker_->TrackSetSessionDescription(
427 this, description, PeerConnectionTracker::SOURCE_LOCAL); 427 this, description, PeerConnectionTracker::SOURCE_LOCAL);
428 428
429 scoped_refptr<SetSessionDescriptionRequest> set_request( 429 scoped_refptr<SetSessionDescriptionRequest> set_request(
430 new talk_base::RefCountedObject<SetSessionDescriptionRequest>( 430 new talk_base::RefCountedObject<SetSessionDescriptionRequest>(
431 request, this, PeerConnectionTracker::ACTION_SET_LOCAL_DESCRIPTION)); 431 request, this, PeerConnectionTracker::ACTION_SET_LOCAL_DESCRIPTION));
432 native_peer_connection_->SetLocalDescription(set_request.get(), native_desc); 432 native_peer_connection_->SetLocalDescription(set_request.get(), native_desc);
433 } 433 }
434 434
435 void RTCPeerConnectionHandler::setRemoteDescription( 435 void RTCPeerConnectionHandler::setRemoteDescription(
436 const WebKit::WebRTCVoidRequest& request, 436 const blink::WebRTCVoidRequest& request,
437 const WebKit::WebRTCSessionDescription& description) { 437 const blink::WebRTCSessionDescription& description) {
438 webrtc::SdpParseError error; 438 webrtc::SdpParseError error;
439 webrtc::SessionDescriptionInterface* native_desc = 439 webrtc::SessionDescriptionInterface* native_desc =
440 CreateNativeSessionDescription(description, &error); 440 CreateNativeSessionDescription(description, &error);
441 if (!native_desc) { 441 if (!native_desc) {
442 std::string reason_str = "Failed to parse SessionDescription. "; 442 std::string reason_str = "Failed to parse SessionDescription. ";
443 reason_str.append(error.line); 443 reason_str.append(error.line);
444 reason_str.append(" "); 444 reason_str.append(" ");
445 reason_str.append(error.description); 445 reason_str.append(error.description);
446 LOG(ERROR) << reason_str; 446 LOG(ERROR) << reason_str;
447 request.requestFailed(WebKit::WebString::fromUTF8(reason_str)); 447 request.requestFailed(blink::WebString::fromUTF8(reason_str));
448 return; 448 return;
449 } 449 }
450 if (peer_connection_tracker_) 450 if (peer_connection_tracker_)
451 peer_connection_tracker_->TrackSetSessionDescription( 451 peer_connection_tracker_->TrackSetSessionDescription(
452 this, description, PeerConnectionTracker::SOURCE_REMOTE); 452 this, description, PeerConnectionTracker::SOURCE_REMOTE);
453 453
454 scoped_refptr<SetSessionDescriptionRequest> set_request( 454 scoped_refptr<SetSessionDescriptionRequest> set_request(
455 new talk_base::RefCountedObject<SetSessionDescriptionRequest>( 455 new talk_base::RefCountedObject<SetSessionDescriptionRequest>(
456 request, this, PeerConnectionTracker::ACTION_SET_REMOTE_DESCRIPTION)); 456 request, this, PeerConnectionTracker::ACTION_SET_REMOTE_DESCRIPTION));
457 native_peer_connection_->SetRemoteDescription(set_request.get(), native_desc); 457 native_peer_connection_->SetRemoteDescription(set_request.get(), native_desc);
458 } 458 }
459 459
460 WebKit::WebRTCSessionDescription 460 blink::WebRTCSessionDescription
461 RTCPeerConnectionHandler::localDescription() { 461 RTCPeerConnectionHandler::localDescription() {
462 const webrtc::SessionDescriptionInterface* native_desc = 462 const webrtc::SessionDescriptionInterface* native_desc =
463 native_peer_connection_->local_description(); 463 native_peer_connection_->local_description();
464 WebKit::WebRTCSessionDescription description = 464 blink::WebRTCSessionDescription description =
465 CreateWebKitSessionDescription(native_desc); 465 CreateWebKitSessionDescription(native_desc);
466 return description; 466 return description;
467 } 467 }
468 468
469 WebKit::WebRTCSessionDescription 469 blink::WebRTCSessionDescription
470 RTCPeerConnectionHandler::remoteDescription() { 470 RTCPeerConnectionHandler::remoteDescription() {
471 const webrtc::SessionDescriptionInterface* native_desc = 471 const webrtc::SessionDescriptionInterface* native_desc =
472 native_peer_connection_->remote_description(); 472 native_peer_connection_->remote_description();
473 WebKit::WebRTCSessionDescription description = 473 blink::WebRTCSessionDescription description =
474 CreateWebKitSessionDescription(native_desc); 474 CreateWebKitSessionDescription(native_desc);
475 return description; 475 return description;
476 } 476 }
477 477
478 bool RTCPeerConnectionHandler::updateICE( 478 bool RTCPeerConnectionHandler::updateICE(
479 const WebKit::WebRTCConfiguration& server_configuration, 479 const blink::WebRTCConfiguration& server_configuration,
480 const WebKit::WebMediaConstraints& options) { 480 const blink::WebMediaConstraints& options) {
481 webrtc::PeerConnectionInterface::IceServers servers; 481 webrtc::PeerConnectionInterface::IceServers servers;
482 GetNativeIceServers(server_configuration, &servers); 482 GetNativeIceServers(server_configuration, &servers);
483 RTCMediaConstraints constraints(options); 483 RTCMediaConstraints constraints(options);
484 484
485 if (peer_connection_tracker_) 485 if (peer_connection_tracker_)
486 peer_connection_tracker_->TrackUpdateIce(this, servers, constraints); 486 peer_connection_tracker_->TrackUpdateIce(this, servers, constraints);
487 487
488 return native_peer_connection_->UpdateIce(servers, 488 return native_peer_connection_->UpdateIce(servers,
489 &constraints); 489 &constraints);
490 } 490 }
491 491
492 bool RTCPeerConnectionHandler::addICECandidate( 492 bool RTCPeerConnectionHandler::addICECandidate(
493 const WebKit::WebRTCICECandidate& candidate) { 493 const blink::WebRTCICECandidate& candidate) {
494 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( 494 scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
495 dependency_factory_->CreateIceCandidate( 495 dependency_factory_->CreateIceCandidate(
496 UTF16ToUTF8(candidate.sdpMid()), 496 UTF16ToUTF8(candidate.sdpMid()),
497 candidate.sdpMLineIndex(), 497 candidate.sdpMLineIndex(),
498 UTF16ToUTF8(candidate.candidate()))); 498 UTF16ToUTF8(candidate.candidate())));
499 if (!native_candidate) { 499 if (!native_candidate) {
500 LOG(ERROR) << "Could not create native ICE candidate."; 500 LOG(ERROR) << "Could not create native ICE candidate.";
501 return false; 501 return false;
502 } 502 }
503 503
504 bool return_value = 504 bool return_value =
505 native_peer_connection_->AddIceCandidate(native_candidate.get()); 505 native_peer_connection_->AddIceCandidate(native_candidate.get());
506 LOG_IF(ERROR, !return_value) << "Error processing ICE candidate."; 506 LOG_IF(ERROR, !return_value) << "Error processing ICE candidate.";
507 507
508 if (peer_connection_tracker_) 508 if (peer_connection_tracker_)
509 peer_connection_tracker_->TrackAddIceCandidate( 509 peer_connection_tracker_->TrackAddIceCandidate(
510 this, candidate, PeerConnectionTracker::SOURCE_REMOTE); 510 this, candidate, PeerConnectionTracker::SOURCE_REMOTE);
511 511
512 return return_value; 512 return return_value;
513 } 513 }
514 514
515 bool RTCPeerConnectionHandler::addStream( 515 bool RTCPeerConnectionHandler::addStream(
516 const WebKit::WebMediaStream& stream, 516 const blink::WebMediaStream& stream,
517 const WebKit::WebMediaConstraints& options) { 517 const blink::WebMediaConstraints& options) {
518 RTCMediaConstraints constraints(options); 518 RTCMediaConstraints constraints(options);
519 519
520 if (peer_connection_tracker_) 520 if (peer_connection_tracker_)
521 peer_connection_tracker_->TrackAddStream( 521 peer_connection_tracker_->TrackAddStream(
522 this, stream, PeerConnectionTracker::SOURCE_LOCAL); 522 this, stream, PeerConnectionTracker::SOURCE_LOCAL);
523 523
524 // A media stream is connected to a peer connection, enable the 524 // A media stream is connected to a peer connection, enable the
525 // peer connection mode for the capturer. 525 // peer connection mode for the capturer.
526 WebRtcAudioDeviceImpl* audio_device = 526 WebRtcAudioDeviceImpl* audio_device =
527 dependency_factory_->GetWebRtcAudioDevice(); 527 dependency_factory_->GetWebRtcAudioDevice();
528 if (audio_device) { 528 if (audio_device) {
529 WebRtcAudioCapturer* capturer = audio_device->GetDefaultCapturer(); 529 WebRtcAudioCapturer* capturer = audio_device->GetDefaultCapturer();
530 if (capturer) 530 if (capturer)
531 capturer->EnablePeerConnectionMode(); 531 capturer->EnablePeerConnectionMode();
532 } 532 }
533 533
534 return AddStream(stream, &constraints); 534 return AddStream(stream, &constraints);
535 } 535 }
536 536
537 void RTCPeerConnectionHandler::removeStream( 537 void RTCPeerConnectionHandler::removeStream(
538 const WebKit::WebMediaStream& stream) { 538 const blink::WebMediaStream& stream) {
539 RemoveStream(stream); 539 RemoveStream(stream);
540 if (peer_connection_tracker_) 540 if (peer_connection_tracker_)
541 peer_connection_tracker_->TrackRemoveStream( 541 peer_connection_tracker_->TrackRemoveStream(
542 this, stream, PeerConnectionTracker::SOURCE_LOCAL); 542 this, stream, PeerConnectionTracker::SOURCE_LOCAL);
543 } 543 }
544 544
545 void RTCPeerConnectionHandler::getStats( 545 void RTCPeerConnectionHandler::getStats(
546 const WebKit::WebRTCStatsRequest& request) { 546 const blink::WebRTCStatsRequest& request) {
547 scoped_refptr<LocalRTCStatsRequest> inner_request( 547 scoped_refptr<LocalRTCStatsRequest> inner_request(
548 new talk_base::RefCountedObject<LocalRTCStatsRequest>(request)); 548 new talk_base::RefCountedObject<LocalRTCStatsRequest>(request));
549 getStats(inner_request.get()); 549 getStats(inner_request.get());
550 } 550 }
551 551
552 void RTCPeerConnectionHandler::getStats(LocalRTCStatsRequest* request) { 552 void RTCPeerConnectionHandler::getStats(LocalRTCStatsRequest* request) {
553 talk_base::scoped_refptr<webrtc::StatsObserver> observer( 553 talk_base::scoped_refptr<webrtc::StatsObserver> observer(
554 new talk_base::RefCountedObject<StatsResponse>(request)); 554 new talk_base::RefCountedObject<StatsResponse>(request));
555 webrtc::MediaStreamTrackInterface* track = NULL; 555 webrtc::MediaStreamTrackInterface* track = NULL;
556 if (request->hasSelector()) { 556 if (request->hasSelector()) {
(...skipping 15 matching lines...) Expand all
572 webrtc::MediaStreamTrackInterface* track) { 572 webrtc::MediaStreamTrackInterface* track) {
573 if (!native_peer_connection_->GetStats(observer, track)) { 573 if (!native_peer_connection_->GetStats(observer, track)) {
574 DVLOG(1) << "GetStats failed."; 574 DVLOG(1) << "GetStats failed.";
575 // TODO(hta): Consider how to get an error back. 575 // TODO(hta): Consider how to get an error back.
576 std::vector<webrtc::StatsReport> no_reports; 576 std::vector<webrtc::StatsReport> no_reports;
577 observer->OnComplete(no_reports); 577 observer->OnComplete(no_reports);
578 return; 578 return;
579 } 579 }
580 } 580 }
581 581
582 WebKit::WebRTCDataChannelHandler* RTCPeerConnectionHandler::createDataChannel( 582 blink::WebRTCDataChannelHandler* RTCPeerConnectionHandler::createDataChannel(
583 const WebKit::WebString& label, const WebKit::WebRTCDataChannelInit& init) { 583 const blink::WebString& label, const blink::WebRTCDataChannelInit& init) {
584 DVLOG(1) << "createDataChannel label " << UTF16ToUTF8(label); 584 DVLOG(1) << "createDataChannel label " << UTF16ToUTF8(label);
585 585
586 webrtc::DataChannelInit config; 586 webrtc::DataChannelInit config;
587 // TODO(jiayl): remove the deprecated reliable field once Libjingle is updated 587 // TODO(jiayl): remove the deprecated reliable field once Libjingle is updated
588 // to handle that. 588 // to handle that.
589 config.reliable = false; 589 config.reliable = false;
590 config.id = init.id; 590 config.id = init.id;
591 config.ordered = init.ordered; 591 config.ordered = init.ordered;
592 config.negotiated = init.negotiated; 592 config.negotiated = init.negotiated;
593 config.maxRetransmits = init.maxRetransmits; 593 config.maxRetransmits = init.maxRetransmits;
594 config.maxRetransmitTime = init.maxRetransmitTime; 594 config.maxRetransmitTime = init.maxRetransmitTime;
595 config.protocol = UTF16ToUTF8(init.protocol); 595 config.protocol = UTF16ToUTF8(init.protocol);
596 596
597 talk_base::scoped_refptr<webrtc::DataChannelInterface> webrtc_channel( 597 talk_base::scoped_refptr<webrtc::DataChannelInterface> webrtc_channel(
598 native_peer_connection_->CreateDataChannel(UTF16ToUTF8(label), &config)); 598 native_peer_connection_->CreateDataChannel(UTF16ToUTF8(label), &config));
599 if (!webrtc_channel) { 599 if (!webrtc_channel) {
600 DLOG(ERROR) << "Could not create native data channel."; 600 DLOG(ERROR) << "Could not create native data channel.";
601 return NULL; 601 return NULL;
602 } 602 }
603 if (peer_connection_tracker_) 603 if (peer_connection_tracker_)
604 peer_connection_tracker_->TrackCreateDataChannel( 604 peer_connection_tracker_->TrackCreateDataChannel(
605 this, webrtc_channel.get(), PeerConnectionTracker::SOURCE_LOCAL); 605 this, webrtc_channel.get(), PeerConnectionTracker::SOURCE_LOCAL);
606 606
607 return new RtcDataChannelHandler(webrtc_channel); 607 return new RtcDataChannelHandler(webrtc_channel);
608 } 608 }
609 609
610 WebKit::WebRTCDTMFSenderHandler* RTCPeerConnectionHandler::createDTMFSender( 610 blink::WebRTCDTMFSenderHandler* RTCPeerConnectionHandler::createDTMFSender(
611 const WebKit::WebMediaStreamTrack& track) { 611 const blink::WebMediaStreamTrack& track) {
612 DVLOG(1) << "createDTMFSender."; 612 DVLOG(1) << "createDTMFSender.";
613 613
614 if (track.source().type() != WebKit::WebMediaStreamSource::TypeAudio) { 614 if (track.source().type() != blink::WebMediaStreamSource::TypeAudio) {
615 DLOG(ERROR) << "Could not create DTMF sender from a non-audio track."; 615 DLOG(ERROR) << "Could not create DTMF sender from a non-audio track.";
616 return NULL; 616 return NULL;
617 } 617 }
618 618
619 webrtc::AudioTrackInterface* audio_track = 619 webrtc::AudioTrackInterface* audio_track =
620 static_cast<webrtc::AudioTrackInterface*>( 620 static_cast<webrtc::AudioTrackInterface*>(
621 MediaStreamDependencyFactory::GetNativeMediaStreamTrack(track)); 621 MediaStreamDependencyFactory::GetNativeMediaStreamTrack(track));
622 622
623 talk_base::scoped_refptr<webrtc::DtmfSenderInterface> sender( 623 talk_base::scoped_refptr<webrtc::DtmfSenderInterface> sender(
624 native_peer_connection_->CreateDtmfSender(audio_track)); 624 native_peer_connection_->CreateDtmfSender(audio_track));
(...skipping 15 matching lines...) Expand all
640 native_peer_connection_->Close(); 640 native_peer_connection_->Close();
641 } 641 }
642 642
643 void RTCPeerConnectionHandler::OnError() { 643 void RTCPeerConnectionHandler::OnError() {
644 // TODO(perkj): Implement. 644 // TODO(perkj): Implement.
645 NOTIMPLEMENTED(); 645 NOTIMPLEMENTED();
646 } 646 }
647 647
648 void RTCPeerConnectionHandler::OnSignalingChange( 648 void RTCPeerConnectionHandler::OnSignalingChange(
649 webrtc::PeerConnectionInterface::SignalingState new_state) { 649 webrtc::PeerConnectionInterface::SignalingState new_state) {
650 WebKit::WebRTCPeerConnectionHandlerClient::SignalingState state = 650 blink::WebRTCPeerConnectionHandlerClient::SignalingState state =
651 GetWebKitSignalingState(new_state); 651 GetWebKitSignalingState(new_state);
652 if (peer_connection_tracker_) 652 if (peer_connection_tracker_)
653 peer_connection_tracker_->TrackSignalingStateChange(this, state); 653 peer_connection_tracker_->TrackSignalingStateChange(this, state);
654 client_->didChangeSignalingState(state); 654 client_->didChangeSignalingState(state);
655 } 655 }
656 656
657 // Called any time the IceConnectionState changes 657 // Called any time the IceConnectionState changes
658 void RTCPeerConnectionHandler::OnIceConnectionChange( 658 void RTCPeerConnectionHandler::OnIceConnectionChange(
659 webrtc::PeerConnectionInterface::IceConnectionState new_state) { 659 webrtc::PeerConnectionInterface::IceConnectionState new_state) {
660 WebKit::WebRTCPeerConnectionHandlerClient::ICEConnectionState state = 660 blink::WebRTCPeerConnectionHandlerClient::ICEConnectionState state =
661 GetWebKitIceConnectionState(new_state); 661 GetWebKitIceConnectionState(new_state);
662 if (peer_connection_tracker_) 662 if (peer_connection_tracker_)
663 peer_connection_tracker_->TrackIceConnectionStateChange(this, state); 663 peer_connection_tracker_->TrackIceConnectionStateChange(this, state);
664 client_->didChangeICEConnectionState(state); 664 client_->didChangeICEConnectionState(state);
665 } 665 }
666 666
667 // Called any time the IceGatheringState changes 667 // Called any time the IceGatheringState changes
668 void RTCPeerConnectionHandler::OnIceGatheringChange( 668 void RTCPeerConnectionHandler::OnIceGatheringChange(
669 webrtc::PeerConnectionInterface::IceGatheringState new_state) { 669 webrtc::PeerConnectionInterface::IceGatheringState new_state) {
670 if (new_state == webrtc::PeerConnectionInterface::kIceGatheringComplete) { 670 if (new_state == webrtc::PeerConnectionInterface::kIceGatheringComplete) {
671 // If ICE gathering is completed, generate a NULL ICE candidate, 671 // If ICE gathering is completed, generate a NULL ICE candidate,
672 // to signal end of candidates. 672 // to signal end of candidates.
673 WebKit::WebRTCICECandidate null_candidate; 673 blink::WebRTCICECandidate null_candidate;
674 client_->didGenerateICECandidate(null_candidate); 674 client_->didGenerateICECandidate(null_candidate);
675 } 675 }
676 676
677 WebKit::WebRTCPeerConnectionHandlerClient::ICEGatheringState state = 677 blink::WebRTCPeerConnectionHandlerClient::ICEGatheringState state =
678 GetWebKitIceGatheringState(new_state); 678 GetWebKitIceGatheringState(new_state);
679 if (peer_connection_tracker_) 679 if (peer_connection_tracker_)
680 peer_connection_tracker_->TrackIceGatheringStateChange(this, state); 680 peer_connection_tracker_->TrackIceGatheringStateChange(this, state);
681 client_->didChangeICEGatheringState(state); 681 client_->didChangeICEGatheringState(state);
682 } 682 }
683 683
684 void RTCPeerConnectionHandler::OnAddStream( 684 void RTCPeerConnectionHandler::OnAddStream(
685 webrtc::MediaStreamInterface* stream_interface) { 685 webrtc::MediaStreamInterface* stream_interface) {
686 DCHECK(stream_interface); 686 DCHECK(stream_interface);
687 DCHECK(remote_streams_.find(stream_interface) == remote_streams_.end()); 687 DCHECK(remote_streams_.find(stream_interface) == remote_streams_.end());
(...skipping 15 matching lines...) Expand all
703 void RTCPeerConnectionHandler::OnRemoveStream( 703 void RTCPeerConnectionHandler::OnRemoveStream(
704 webrtc::MediaStreamInterface* stream_interface) { 704 webrtc::MediaStreamInterface* stream_interface) {
705 DCHECK(stream_interface); 705 DCHECK(stream_interface);
706 RemoteStreamMap::iterator it = remote_streams_.find(stream_interface); 706 RemoteStreamMap::iterator it = remote_streams_.find(stream_interface);
707 if (it == remote_streams_.end()) { 707 if (it == remote_streams_.end()) {
708 NOTREACHED() << "Stream not found"; 708 NOTREACHED() << "Stream not found";
709 return; 709 return;
710 } 710 }
711 711
712 scoped_ptr<RemoteMediaStreamImpl> remote_stream(it->second); 712 scoped_ptr<RemoteMediaStreamImpl> remote_stream(it->second);
713 const WebKit::WebMediaStream& webkit_stream = remote_stream->webkit_stream(); 713 const blink::WebMediaStream& webkit_stream = remote_stream->webkit_stream();
714 DCHECK(!webkit_stream.isNull()); 714 DCHECK(!webkit_stream.isNull());
715 remote_streams_.erase(it); 715 remote_streams_.erase(it);
716 716
717 if (peer_connection_tracker_) 717 if (peer_connection_tracker_)
718 peer_connection_tracker_->TrackRemoveStream( 718 peer_connection_tracker_->TrackRemoveStream(
719 this, webkit_stream, PeerConnectionTracker::SOURCE_REMOTE); 719 this, webkit_stream, PeerConnectionTracker::SOURCE_REMOTE);
720 720
721 client_->didRemoveRemoteStream(webkit_stream); 721 client_->didRemoveRemoteStream(webkit_stream);
722 } 722 }
723 723
724 void RTCPeerConnectionHandler::OnIceCandidate( 724 void RTCPeerConnectionHandler::OnIceCandidate(
725 const webrtc::IceCandidateInterface* candidate) { 725 const webrtc::IceCandidateInterface* candidate) {
726 DCHECK(candidate); 726 DCHECK(candidate);
727 std::string sdp; 727 std::string sdp;
728 if (!candidate->ToString(&sdp)) { 728 if (!candidate->ToString(&sdp)) {
729 NOTREACHED() << "OnIceCandidate: Could not get SDP string."; 729 NOTREACHED() << "OnIceCandidate: Could not get SDP string.";
730 return; 730 return;
731 } 731 }
732 WebKit::WebRTCICECandidate web_candidate; 732 blink::WebRTCICECandidate web_candidate;
733 web_candidate.initialize(UTF8ToUTF16(sdp), 733 web_candidate.initialize(UTF8ToUTF16(sdp),
734 UTF8ToUTF16(candidate->sdp_mid()), 734 UTF8ToUTF16(candidate->sdp_mid()),
735 candidate->sdp_mline_index()); 735 candidate->sdp_mline_index());
736 if (peer_connection_tracker_) 736 if (peer_connection_tracker_)
737 peer_connection_tracker_->TrackAddIceCandidate( 737 peer_connection_tracker_->TrackAddIceCandidate(
738 this, web_candidate, PeerConnectionTracker::SOURCE_LOCAL); 738 this, web_candidate, PeerConnectionTracker::SOURCE_LOCAL);
739 739
740 client_->didGenerateICECandidate(web_candidate); 740 client_->didGenerateICECandidate(web_candidate);
741 } 741 }
742 742
(...skipping 13 matching lines...) Expand all
756 peer_connection_tracker_->TrackOnRenegotiationNeeded(this); 756 peer_connection_tracker_->TrackOnRenegotiationNeeded(this);
757 client_->negotiationNeeded(); 757 client_->negotiationNeeded();
758 } 758 }
759 759
760 PeerConnectionTracker* RTCPeerConnectionHandler::peer_connection_tracker() { 760 PeerConnectionTracker* RTCPeerConnectionHandler::peer_connection_tracker() {
761 return peer_connection_tracker_; 761 return peer_connection_tracker_;
762 } 762 }
763 763
764 webrtc::SessionDescriptionInterface* 764 webrtc::SessionDescriptionInterface*
765 RTCPeerConnectionHandler::CreateNativeSessionDescription( 765 RTCPeerConnectionHandler::CreateNativeSessionDescription(
766 const WebKit::WebRTCSessionDescription& description, 766 const blink::WebRTCSessionDescription& description,
767 webrtc::SdpParseError* error) { 767 webrtc::SdpParseError* error) {
768 std::string sdp = UTF16ToUTF8(description.sdp()); 768 std::string sdp = UTF16ToUTF8(description.sdp());
769 std::string type = UTF16ToUTF8(description.type()); 769 std::string type = UTF16ToUTF8(description.type());
770 webrtc::SessionDescriptionInterface* native_desc = 770 webrtc::SessionDescriptionInterface* native_desc =
771 dependency_factory_->CreateSessionDescription(type, sdp, error); 771 dependency_factory_->CreateSessionDescription(type, sdp, error);
772 772
773 LOG_IF(ERROR, !native_desc) << "Failed to create native session description." 773 LOG_IF(ERROR, !native_desc) << "Failed to create native session description."
774 << " Type: " << type << " SDP: " << sdp; 774 << " Type: " << type << " SDP: " << sdp;
775 775
776 return native_desc; 776 return native_desc;
777 } 777 }
778 778
779 } // namespace content 779 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_peer_connection_handler.h ('k') | content/renderer/media/rtc_peer_connection_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698