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

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

Issue 1972483002: Pass around the candidate removals events in IOS clients Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Merge with head Created 4 years, 7 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
« no previous file with comments | « no previous file | webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 didReceiveMessage:(ARDSignalingMessage *)message { 323 didReceiveMessage:(ARDSignalingMessage *)message {
324 switch (message.type) { 324 switch (message.type) {
325 case kARDSignalingMessageTypeOffer: 325 case kARDSignalingMessageTypeOffer:
326 case kARDSignalingMessageTypeAnswer: 326 case kARDSignalingMessageTypeAnswer:
327 // Offers and answers must be processed before any other message, so we 327 // Offers and answers must be processed before any other message, so we
328 // place them at the front of the queue. 328 // place them at the front of the queue.
329 _hasReceivedSdp = YES; 329 _hasReceivedSdp = YES;
330 [_messageQueue insertObject:message atIndex:0]; 330 [_messageQueue insertObject:message atIndex:0];
331 break; 331 break;
332 case kARDSignalingMessageTypeCandidate: 332 case kARDSignalingMessageTypeCandidate:
333 case kARDSignalingMessageTypeCandidateRemoval:
333 [_messageQueue addObject:message]; 334 [_messageQueue addObject:message];
334 break; 335 break;
335 case kARDSignalingMessageTypeBye: 336 case kARDSignalingMessageTypeBye:
336 // Disconnects can be processed immediately. 337 // Disconnects can be processed immediately.
337 [self processSignalingMessage:message]; 338 [self processSignalingMessage:message];
338 return; 339 return;
339 } 340 }
340 [self drainMessageQueueIfReady]; 341 [self drainMessageQueueIfReady];
341 } 342 }
342 343
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 - (void)peerConnection:(RTCPeerConnection *)peerConnection 404 - (void)peerConnection:(RTCPeerConnection *)peerConnection
404 didGenerateIceCandidate:(RTCIceCandidate *)candidate { 405 didGenerateIceCandidate:(RTCIceCandidate *)candidate {
405 dispatch_async(dispatch_get_main_queue(), ^{ 406 dispatch_async(dispatch_get_main_queue(), ^{
406 ARDICECandidateMessage *message = 407 ARDICECandidateMessage *message =
407 [[ARDICECandidateMessage alloc] initWithCandidate:candidate]; 408 [[ARDICECandidateMessage alloc] initWithCandidate:candidate];
408 [self sendSignalingMessage:message]; 409 [self sendSignalingMessage:message];
409 }); 410 });
410 } 411 }
411 412
412 - (void)peerConnection:(RTCPeerConnection *)peerConnection 413 - (void)peerConnection:(RTCPeerConnection *)peerConnection
414 didRemoveIceCandidates:(NSArray<RTCIceCandidate *> *)candidates {
415 dispatch_async(dispatch_get_main_queue(), ^{
416 ARDICECandidateRemovalMessage *message =
417 [[ARDICECandidateRemovalMessage alloc]
418 initWithRemovedCandidates:candidates];
419 [self sendSignalingMessage:message];
420 });
421 }
422
423 - (void)peerConnection:(RTCPeerConnection *)peerConnection
413 didOpenDataChannel:(RTCDataChannel *)dataChannel { 424 didOpenDataChannel:(RTCDataChannel *)dataChannel {
414 } 425 }
415 426
416 #pragma mark - RTCSessionDescriptionDelegate 427 #pragma mark - RTCSessionDescriptionDelegate
417 // Callbacks for this delegate occur on non-main thread and need to be 428 // Callbacks for this delegate occur on non-main thread and need to be
418 // dispatched back to main queue as needed. 429 // dispatched back to main queue as needed.
419 430
420 - (void)peerConnection:(RTCPeerConnection *)peerConnection 431 - (void)peerConnection:(RTCPeerConnection *)peerConnection
421 didCreateSessionDescription:(RTCSessionDescription *)sdp 432 didCreateSessionDescription:(RTCSessionDescription *)sdp
422 error:(NSError *)error { 433 error:(NSError *)error {
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 didSetSessionDescriptionWithError:error]; 577 didSetSessionDescriptionWithError:error];
567 }]; 578 }];
568 break; 579 break;
569 } 580 }
570 case kARDSignalingMessageTypeCandidate: { 581 case kARDSignalingMessageTypeCandidate: {
571 ARDICECandidateMessage *candidateMessage = 582 ARDICECandidateMessage *candidateMessage =
572 (ARDICECandidateMessage *)message; 583 (ARDICECandidateMessage *)message;
573 [_peerConnection addIceCandidate:candidateMessage.candidate]; 584 [_peerConnection addIceCandidate:candidateMessage.candidate];
574 break; 585 break;
575 } 586 }
587 case kARDSignalingMessageTypeCandidateRemoval: {
588 ARDICECandidateRemovalMessage *candidateMessage =
589 (ARDICECandidateRemovalMessage *)message;
590 [_peerConnection removeIceCandidates:candidateMessage.candidates];
591 break;
592 }
576 case kARDSignalingMessageTypeBye: 593 case kARDSignalingMessageTypeBye:
577 // Other client disconnected. 594 // Other client disconnected.
578 // TODO(tkchin): support waiting in room for next client. For now just 595 // TODO(tkchin): support waiting in room for next client. For now just
579 // disconnect. 596 // disconnect.
580 [self disconnect]; 597 [self disconnect];
581 break; 598 break;
582 } 599 }
583 } 600 }
584 601
585 // Sends a signaling message to the other client. The caller will send messages 602 // Sends a signaling message to the other client. The caller will send messages
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 code:kARDAppClientErrorInvalidRoom 789 code:kARDAppClientErrorInvalidRoom
773 userInfo:@{ 790 userInfo:@{
774 NSLocalizedDescriptionKey: @"Invalid room.", 791 NSLocalizedDescriptionKey: @"Invalid room.",
775 }]; 792 }];
776 break; 793 break;
777 } 794 }
778 return error; 795 return error;
779 } 796 }
780 797
781 @end 798 @end
OLDNEW
« no previous file with comments | « no previous file | webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698