| Index: webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
|
| diff --git a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
|
| index a5ca29576a0c0315194b00b938efc98e26d3be04..3fab185848513b53ab6bbe8190ccfbd6a7ae8524 100644
|
| --- a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
|
| +++ b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
|
| @@ -16,7 +16,8 @@
|
| #import "RTCIceCandidate+JSON.h"
|
| #import "RTCSessionDescription+JSON.h"
|
|
|
| -static NSString const *kARDSignalingMessageTypeKey = @"type";
|
| +static NSString * const kARDSignalingMessageTypeKey = @"type";
|
| +static NSString * const kARDTypeValueRemoveCandidates = @"remove-candidates";
|
|
|
| @implementation ARDSignalingMessage
|
|
|
| @@ -47,6 +48,12 @@ static NSString const *kARDSignalingMessageTypeKey = @"type";
|
| RTCIceCandidate *candidate =
|
| [RTCIceCandidate candidateFromJSONDictionary:values];
|
| message = [[ARDICECandidateMessage alloc] initWithCandidate:candidate];
|
| + } else if ([typeString isEqualToString:kARDTypeValueRemoveCandidates]) {
|
| + RTCLogInfo(@"Received remove-candidates message");
|
| + NSArray<RTCIceCandidate *> *candidates =
|
| + [RTCIceCandidate candidatesFromJSONDictionary:values];
|
| + message = [[ARDICECandidateRemovalMessage alloc]
|
| + initWithRemovedCandidates:candidates];
|
| } else if ([typeString isEqualToString:@"offer"] ||
|
| [typeString isEqualToString:@"answer"]) {
|
| RTCSessionDescription *description =
|
| @@ -84,6 +91,27 @@ static NSString const *kARDSignalingMessageTypeKey = @"type";
|
|
|
| @end
|
|
|
| +@implementation ARDICECandidateRemovalMessage
|
| +
|
| +@synthesize candidates = _candidates;
|
| +
|
| +- (instancetype)initWithRemovedCandidates:(
|
| + NSArray<RTCIceCandidate *> *)candidates {
|
| + NSParameterAssert(candidates.count);
|
| + if (self = [super initWithType:kARDSignalingMessageTypeCandidateRemoval]) {
|
| + _candidates = candidates;
|
| + }
|
| + return self;
|
| +}
|
| +
|
| +- (NSData *)JSONData {
|
| + return
|
| + [RTCIceCandidate JSONDataForIceCandidates:_candidates
|
| + withType:kARDTypeValueRemoveCandidates];
|
| +}
|
| +
|
| +@end
|
| +
|
| @implementation ARDSessionDescriptionMessage
|
|
|
| @synthesize sessionDescription = _sessionDescription;
|
|
|