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

Side by Side Diff: talk/examples/objc/AppRTCDemo/ARDAppClient.m

Issue 1241283004: iOS: Move AppRTC logging methods to public headers. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 5 months 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
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 14 matching lines...) Expand all
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28 #import "ARDAppClient+Internal.h" 28 #import "ARDAppClient+Internal.h"
29 29
30 #if defined(WEBRTC_IOS) 30 #if defined(WEBRTC_IOS)
31 #import "RTCAVFoundationVideoSource.h" 31 #import "RTCAVFoundationVideoSource.h"
32 #endif 32 #endif
33 #import "RTCFileLogger.h" 33 #import "RTCFileLogger.h"
34 #import "RTCICEServer.h" 34 #import "RTCICEServer.h"
35 #import "RTCLogging.h"
35 #import "RTCMediaConstraints.h" 36 #import "RTCMediaConstraints.h"
36 #import "RTCMediaStream.h" 37 #import "RTCMediaStream.h"
37 #import "RTCPair.h" 38 #import "RTCPair.h"
38 #import "RTCPeerConnectionInterface.h" 39 #import "RTCPeerConnectionInterface.h"
39 #import "RTCVideoCapturer.h" 40 #import "RTCVideoCapturer.h"
40 #import "RTCAVFoundationVideoSource.h"
41 41
42 #import "ARDAppEngineClient.h" 42 #import "ARDAppEngineClient.h"
43 #import "ARDCEODTURNClient.h" 43 #import "ARDCEODTURNClient.h"
44 #import "ARDJoinResponse.h" 44 #import "ARDJoinResponse.h"
45 #import "ARDLogging.h"
46 #import "ARDMessageResponse.h" 45 #import "ARDMessageResponse.h"
47 #import "ARDSDPUtils.h" 46 #import "ARDSDPUtils.h"
48 #import "ARDSignalingMessage.h" 47 #import "ARDSignalingMessage.h"
49 #import "ARDUtilities.h" 48 #import "ARDUtilities.h"
50 #import "ARDWebSocketChannel.h" 49 #import "ARDWebSocketChannel.h"
51 #import "RTCICECandidate+JSON.h" 50 #import "RTCICECandidate+JSON.h"
52 #import "RTCSessionDescription+JSON.h" 51 #import "RTCSessionDescription+JSON.h"
53 52
54 53
55 static NSString * const kARDDefaultSTUNServerUrl = 54 static NSString * const kARDDefaultSTUNServerUrl =
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 options:(NSDictionary *)options { 154 options:(NSDictionary *)options {
156 NSParameterAssert(roomId.length); 155 NSParameterAssert(roomId.length);
157 NSParameterAssert(_state == kARDAppClientStateDisconnected); 156 NSParameterAssert(_state == kARDAppClientStateDisconnected);
158 self.state = kARDAppClientStateConnecting; 157 self.state = kARDAppClientStateConnecting;
159 158
160 // Request TURN. 159 // Request TURN.
161 __weak ARDAppClient *weakSelf = self; 160 __weak ARDAppClient *weakSelf = self;
162 [_turnClient requestServersWithCompletionHandler:^(NSArray *turnServers, 161 [_turnClient requestServersWithCompletionHandler:^(NSArray *turnServers,
163 NSError *error) { 162 NSError *error) {
164 if (error) { 163 if (error) {
165 ARDLog("Error retrieving TURN servers: %@", error.localizedDescription); 164 RTCLogError("Error retrieving TURN servers: %@",
165 error.localizedDescription);
166 } 166 }
167 ARDAppClient *strongSelf = weakSelf; 167 ARDAppClient *strongSelf = weakSelf;
168 [strongSelf.iceServers addObjectsFromArray:turnServers]; 168 [strongSelf.iceServers addObjectsFromArray:turnServers];
169 strongSelf.isTurnComplete = YES; 169 strongSelf.isTurnComplete = YES;
170 [strongSelf startSignalingIfReady]; 170 [strongSelf startSignalingIfReady];
171 }]; 171 }];
172 172
173 // Join room on room server. 173 // Join room on room server.
174 [_roomServerClient joinRoomWithRoomId:roomId 174 [_roomServerClient joinRoomWithRoomId:roomId
175 completionHandler:^(ARDJoinResponse *response, NSError *error) { 175 completionHandler:^(ARDJoinResponse *response, NSError *error) {
176 ARDAppClient *strongSelf = weakSelf; 176 ARDAppClient *strongSelf = weakSelf;
177 if (error) { 177 if (error) {
178 [strongSelf.delegate appClient:strongSelf didError:error]; 178 [strongSelf.delegate appClient:strongSelf didError:error];
179 return; 179 return;
180 } 180 }
181 NSError *joinError = 181 NSError *joinError =
182 [[strongSelf class] errorForJoinResultType:response.result]; 182 [[strongSelf class] errorForJoinResultType:response.result];
183 if (joinError) { 183 if (joinError) {
184 ARDLog(@"Failed to join room:%@ on room server.", roomId); 184 RTCLogError(@"Failed to join room:%@ on room server.", roomId);
185 [strongSelf disconnect]; 185 [strongSelf disconnect];
186 [strongSelf.delegate appClient:strongSelf didError:joinError]; 186 [strongSelf.delegate appClient:strongSelf didError:joinError];
187 return; 187 return;
188 } 188 }
189 ARDLog(@"Joined room:%@ on room server.", roomId); 189 RTCLog(@"Joined room:%@ on room server.", roomId);
190 strongSelf.roomId = response.roomId; 190 strongSelf.roomId = response.roomId;
191 strongSelf.clientId = response.clientId; 191 strongSelf.clientId = response.clientId;
192 strongSelf.isInitiator = response.isInitiator; 192 strongSelf.isInitiator = response.isInitiator;
193 for (ARDSignalingMessage *message in response.messages) { 193 for (ARDSignalingMessage *message in response.messages) {
194 if (message.type == kARDSignalingMessageTypeOffer || 194 if (message.type == kARDSignalingMessageTypeOffer ||
195 message.type == kARDSignalingMessageTypeAnswer) { 195 message.type == kARDSignalingMessageTypeAnswer) {
196 strongSelf.hasReceivedSdp = YES; 196 strongSelf.hasReceivedSdp = YES;
197 [strongSelf.messageQueue insertObject:message atIndex:0]; 197 [strongSelf.messageQueue insertObject:message atIndex:0];
198 } else { 198 } else {
199 [strongSelf.messageQueue addObject:message]; 199 [strongSelf.messageQueue addObject:message];
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 break; 271 break;
272 } 272 }
273 } 273 }
274 274
275 #pragma mark - RTCPeerConnectionDelegate 275 #pragma mark - RTCPeerConnectionDelegate
276 // Callbacks for this delegate occur on non-main thread and need to be 276 // Callbacks for this delegate occur on non-main thread and need to be
277 // dispatched back to main queue as needed. 277 // dispatched back to main queue as needed.
278 278
279 - (void)peerConnection:(RTCPeerConnection *)peerConnection 279 - (void)peerConnection:(RTCPeerConnection *)peerConnection
280 signalingStateChanged:(RTCSignalingState)stateChanged { 280 signalingStateChanged:(RTCSignalingState)stateChanged {
281 ARDLog(@"Signaling state changed: %d", stateChanged); 281 RTCLog(@"Signaling state changed: %d", stateChanged);
282 } 282 }
283 283
284 - (void)peerConnection:(RTCPeerConnection *)peerConnection 284 - (void)peerConnection:(RTCPeerConnection *)peerConnection
285 addedStream:(RTCMediaStream *)stream { 285 addedStream:(RTCMediaStream *)stream {
286 dispatch_async(dispatch_get_main_queue(), ^{ 286 dispatch_async(dispatch_get_main_queue(), ^{
287 ARDLog(@"Received %lu video tracks and %lu audio tracks", 287 RTCLog(@"Received %lu video tracks and %lu audio tracks",
288 (unsigned long)stream.videoTracks.count, 288 (unsigned long)stream.videoTracks.count,
289 (unsigned long)stream.audioTracks.count); 289 (unsigned long)stream.audioTracks.count);
290 if (stream.videoTracks.count) { 290 if (stream.videoTracks.count) {
291 RTCVideoTrack *videoTrack = stream.videoTracks[0]; 291 RTCVideoTrack *videoTrack = stream.videoTracks[0];
292 [_delegate appClient:self didReceiveRemoteVideoTrack:videoTrack]; 292 [_delegate appClient:self didReceiveRemoteVideoTrack:videoTrack];
293 } 293 }
294 }); 294 });
295 } 295 }
296 296
297 - (void)peerConnection:(RTCPeerConnection *)peerConnection 297 - (void)peerConnection:(RTCPeerConnection *)peerConnection
298 removedStream:(RTCMediaStream *)stream { 298 removedStream:(RTCMediaStream *)stream {
299 ARDLog(@"Stream was removed."); 299 RTCLog(@"Stream was removed.");
300 } 300 }
301 301
302 - (void)peerConnectionOnRenegotiationNeeded: 302 - (void)peerConnectionOnRenegotiationNeeded:
303 (RTCPeerConnection *)peerConnection { 303 (RTCPeerConnection *)peerConnection {
304 ARDLog(@"WARNING: Renegotiation needed but unimplemented."); 304 RTCLog(@"WARNING: Renegotiation needed but unimplemented.");
305 } 305 }
306 306
307 - (void)peerConnection:(RTCPeerConnection *)peerConnection 307 - (void)peerConnection:(RTCPeerConnection *)peerConnection
308 iceConnectionChanged:(RTCICEConnectionState)newState { 308 iceConnectionChanged:(RTCICEConnectionState)newState {
309 ARDLog(@"ICE state changed: %d", newState); 309 RTCLog(@"ICE state changed: %d", newState);
310 dispatch_async(dispatch_get_main_queue(), ^{ 310 dispatch_async(dispatch_get_main_queue(), ^{
311 [_delegate appClient:self didChangeConnectionState:newState]; 311 [_delegate appClient:self didChangeConnectionState:newState];
312 }); 312 });
313 } 313 }
314 314
315 - (void)peerConnection:(RTCPeerConnection *)peerConnection 315 - (void)peerConnection:(RTCPeerConnection *)peerConnection
316 iceGatheringChanged:(RTCICEGatheringState)newState { 316 iceGatheringChanged:(RTCICEGatheringState)newState {
317 ARDLog(@"ICE gathering state changed: %d", newState); 317 RTCLog(@"ICE gathering state changed: %d", newState);
318 } 318 }
319 319
320 - (void)peerConnection:(RTCPeerConnection *)peerConnection 320 - (void)peerConnection:(RTCPeerConnection *)peerConnection
321 gotICECandidate:(RTCICECandidate *)candidate { 321 gotICECandidate:(RTCICECandidate *)candidate {
322 dispatch_async(dispatch_get_main_queue(), ^{ 322 dispatch_async(dispatch_get_main_queue(), ^{
323 ARDICECandidateMessage *message = 323 ARDICECandidateMessage *message =
324 [[ARDICECandidateMessage alloc] initWithCandidate:candidate]; 324 [[ARDICECandidateMessage alloc] initWithCandidate:candidate];
325 [self sendSignalingMessage:message]; 325 [self sendSignalingMessage:message];
326 }); 326 });
327 } 327 }
328 328
329 - (void)peerConnection:(RTCPeerConnection*)peerConnection 329 - (void)peerConnection:(RTCPeerConnection*)peerConnection
330 didOpenDataChannel:(RTCDataChannel*)dataChannel { 330 didOpenDataChannel:(RTCDataChannel*)dataChannel {
331 } 331 }
332 332
333 #pragma mark - RTCSessionDescriptionDelegate 333 #pragma mark - RTCSessionDescriptionDelegate
334 // Callbacks for this delegate occur on non-main thread and need to be 334 // Callbacks for this delegate occur on non-main thread and need to be
335 // dispatched back to main queue as needed. 335 // dispatched back to main queue as needed.
336 336
337 - (void)peerConnection:(RTCPeerConnection *)peerConnection 337 - (void)peerConnection:(RTCPeerConnection *)peerConnection
338 didCreateSessionDescription:(RTCSessionDescription *)sdp 338 didCreateSessionDescription:(RTCSessionDescription *)sdp
339 error:(NSError *)error { 339 error:(NSError *)error {
340 dispatch_async(dispatch_get_main_queue(), ^{ 340 dispatch_async(dispatch_get_main_queue(), ^{
341 if (error) { 341 if (error) {
342 ARDLog(@"Failed to create session description. Error: %@", error); 342 RTCLogError(@"Failed to create session description. Error: %@", error);
343 [self disconnect]; 343 [self disconnect];
344 NSDictionary *userInfo = @{ 344 NSDictionary *userInfo = @{
345 NSLocalizedDescriptionKey: @"Failed to create session description.", 345 NSLocalizedDescriptionKey: @"Failed to create session description.",
346 }; 346 };
347 NSError *sdpError = 347 NSError *sdpError =
348 [[NSError alloc] initWithDomain:kARDAppClientErrorDomain 348 [[NSError alloc] initWithDomain:kARDAppClientErrorDomain
349 code:kARDAppClientErrorCreateSDP 349 code:kARDAppClientErrorCreateSDP
350 userInfo:userInfo]; 350 userInfo:userInfo];
351 [_delegate appClient:self didError:sdpError]; 351 [_delegate appClient:self didError:sdpError];
352 return; 352 return;
353 } 353 }
354 // Prefer H264 if available. 354 // Prefer H264 if available.
355 RTCSessionDescription *sdpPreferringH264 = 355 RTCSessionDescription *sdpPreferringH264 =
356 [ARDSDPUtils descriptionForDescription:sdp 356 [ARDSDPUtils descriptionForDescription:sdp
357 preferredVideoCodec:@"H264"]; 357 preferredVideoCodec:@"H264"];
358 [_peerConnection setLocalDescriptionWithDelegate:self 358 [_peerConnection setLocalDescriptionWithDelegate:self
359 sessionDescription:sdpPreferringH264]; 359 sessionDescription:sdpPreferringH264];
360 ARDSessionDescriptionMessage *message = 360 ARDSessionDescriptionMessage *message =
361 [[ARDSessionDescriptionMessage alloc] 361 [[ARDSessionDescriptionMessage alloc]
362 initWithDescription:sdpPreferringH264]; 362 initWithDescription:sdpPreferringH264];
363 [self sendSignalingMessage:message]; 363 [self sendSignalingMessage:message];
364 }); 364 });
365 } 365 }
366 366
367 - (void)peerConnection:(RTCPeerConnection *)peerConnection 367 - (void)peerConnection:(RTCPeerConnection *)peerConnection
368 didSetSessionDescriptionWithError:(NSError *)error { 368 didSetSessionDescriptionWithError:(NSError *)error {
369 dispatch_async(dispatch_get_main_queue(), ^{ 369 dispatch_async(dispatch_get_main_queue(), ^{
370 if (error) { 370 if (error) {
371 ARDLog(@"Failed to set session description. Error: %@", error); 371 RTCLogError(@"Failed to set session description. Error: %@", error);
372 [self disconnect]; 372 [self disconnect];
373 NSDictionary *userInfo = @{ 373 NSDictionary *userInfo = @{
374 NSLocalizedDescriptionKey: @"Failed to set session description.", 374 NSLocalizedDescriptionKey: @"Failed to set session description.",
375 }; 375 };
376 NSError *sdpError = 376 NSError *sdpError =
377 [[NSError alloc] initWithDomain:kARDAppClientErrorDomain 377 [[NSError alloc] initWithDomain:kARDAppClientErrorDomain
378 code:kARDAppClientErrorSetSDP 378 code:kARDAppClientErrorSetSDP
379 userInfo:userInfo]; 379 userInfo:userInfo];
380 [_delegate appClient:self didError:sdpError]; 380 [_delegate appClient:self didError:sdpError];
381 return; 381 return;
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 code:kARDAppClientErrorInvalidRoom 649 code:kARDAppClientErrorInvalidRoom
650 userInfo:@{ 650 userInfo:@{
651 NSLocalizedDescriptionKey: @"Invalid room.", 651 NSLocalizedDescriptionKey: @"Invalid room.",
652 }]; 652 }];
653 break; 653 break;
654 } 654 }
655 return error; 655 return error;
656 } 656 }
657 657
658 @end 658 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698