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

Unified Diff: webrtc/examples/objc/AppRTCDemo/ARDAppClient.m

Issue 1690313002: Update iOS AppRTCDemo to use the updated Objective-C API. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Update against master Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
index 47252bef1dbc4a9483f6687ac894976910160249..32d237a36af4bae8c5768ec2a47e8d4d5432fd4d 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
@@ -12,16 +12,16 @@
#if defined(WEBRTC_IOS)
#import "webrtc/base/objc/RTCTracing.h"
-#import "RTCAVFoundationVideoSource.h"
+#import "webrtc/api/objc/RTCAVFoundationVideoSource.h"
#endif
-#import "RTCFileLogger.h"
-#import "RTCICEServer.h"
-#import "RTCLogging.h"
-#import "RTCMediaConstraints.h"
-#import "RTCMediaStream.h"
-#import "RTCPair.h"
-#import "RTCPeerConnectionInterface.h"
-#import "RTCVideoCapturer.h"
+#import "webrtc/api/objc/RTCAudioTrack.h"
+#import "webrtc/api/objc/RTCConfiguration.h"
+#import "webrtc/api/objc/RTCIceServer.h"
+#import "webrtc/api/objc/RTCMediaConstraints.h"
+#import "webrtc/api/objc/RTCMediaStream.h"
+#import "webrtc/api/objc/RTCPeerConnectionFactory.h"
+#import "webrtc/base/objc/RTCFileLogger.h"
+#import "webrtc/base/objc/RTCLogging.h"
#import "ARDAppEngineClient.h"
#import "ARDCEODTURNClient.h"
@@ -31,7 +31,7 @@
#import "ARDSignalingMessage.h"
#import "ARDUtilities.h"
#import "ARDWebSocketChannel.h"
-#import "RTCICECandidate+JSON.h"
+#import "RTCIceCandidate+JSON.h"
#import "RTCSessionDescription+JSON.h"
static NSString * const kARDDefaultSTUNServerUrl =
@@ -188,9 +188,14 @@ static BOOL const kARDAppClientEnableTracing = NO;
repeats:YES
timerHandler:^{
ARDAppClient *strongSelf = weakSelf;
- [strongSelf.peerConnection getStatsWithDelegate:strongSelf
- mediaStreamTrack:nil
- statsOutputLevel:RTCStatsOutputLevelDebug];
+ [strongSelf.peerConnection statsForTrack:nil
+ statsOutputLevel:RTCStatsOutputLevelDebug
+ completionHandler:^(NSArray *stats) {
+ dispatch_async(dispatch_get_main_queue(), ^{
+ ARDAppClient *strongSelf = weakSelf;
+ [strongSelf.delegate appClient:strongSelf didGetStats:stats];
+ });
+ }];
}];
} else {
[_statsTimer invalidate];
@@ -352,12 +357,12 @@ static BOOL const kARDAppClientEnableTracing = NO;
// dispatched back to main queue as needed.
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- signalingStateChanged:(RTCSignalingState)stateChanged {
- RTCLog(@"Signaling state changed: %d", stateChanged);
+ didChangeSignalingState:(RTCSignalingState)stateChanged {
+ RTCLog(@"Signaling state changed: %ld", (long)stateChanged);
}
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- addedStream:(RTCMediaStream *)stream {
+ didAddStream:(RTCMediaStream *)stream {
dispatch_async(dispatch_get_main_queue(), ^{
RTCLog(@"Received %lu video tracks and %lu audio tracks",
(unsigned long)stream.videoTracks.count,
@@ -370,30 +375,29 @@ static BOOL const kARDAppClientEnableTracing = NO;
}
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- removedStream:(RTCMediaStream *)stream {
+ didRemoveStream:(RTCMediaStream *)stream {
RTCLog(@"Stream was removed.");
}
-- (void)peerConnectionOnRenegotiationNeeded:
- (RTCPeerConnection *)peerConnection {
+- (void)peerConnectionShouldNegotiate:(RTCPeerConnection *)peerConnection {
RTCLog(@"WARNING: Renegotiation needed but unimplemented.");
}
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- iceConnectionChanged:(RTCICEConnectionState)newState {
- RTCLog(@"ICE state changed: %d", newState);
+ didChangeIceConnectionState:(RTCIceConnectionState)newState {
+ RTCLog(@"ICE state changed: %ld", (long)newState);
dispatch_async(dispatch_get_main_queue(), ^{
[_delegate appClient:self didChangeConnectionState:newState];
});
}
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- iceGatheringChanged:(RTCICEGatheringState)newState {
- RTCLog(@"ICE gathering state changed: %d", newState);
+ didChangeIceGatheringState:(RTCIceGatheringState)newState {
+ RTCLog(@"ICE gathering state changed: %ld", (long)newState);
}
- (void)peerConnection:(RTCPeerConnection *)peerConnection
- gotICECandidate:(RTCICECandidate *)candidate {
+ didGenerateIceCandidate:(RTCIceCandidate *)candidate {
dispatch_async(dispatch_get_main_queue(), ^{
ARDICECandidateMessage *message =
[[ARDICECandidateMessage alloc] initWithCandidate:candidate];
@@ -405,15 +409,6 @@ static BOOL const kARDAppClientEnableTracing = NO;
didOpenDataChannel:(RTCDataChannel *)dataChannel {
}
-#pragma mark - RTCStatsDelegate
-
-- (void)peerConnection:(RTCPeerConnection *)peerConnection
- didGetStats:(NSArray *)stats {
- dispatch_async(dispatch_get_main_queue(), ^{
- [_delegate appClient:self didGetStats:stats];
- });
-}
-
#pragma mark - RTCSessionDescriptionDelegate
// Callbacks for this delegate occur on non-main thread and need to be
// dispatched back to main queue as needed.
@@ -439,8 +434,13 @@ static BOOL const kARDAppClientEnableTracing = NO;
RTCSessionDescription *sdpPreferringH264 =
[ARDSDPUtils descriptionForDescription:sdp
preferredVideoCodec:@"H264"];
- [_peerConnection setLocalDescriptionWithDelegate:self
- sessionDescription:sdpPreferringH264];
+ __weak ARDAppClient *weakSelf = self;
+ [_peerConnection setLocalDescription:sdpPreferringH264
+ completionHandler:^(NSError *error) {
+ ARDAppClient *strongSelf = weakSelf;
+ [strongSelf peerConnection:strongSelf.peerConnection
+ didSetSessionDescriptionWithError:error];
+ }];
ARDSessionDescriptionMessage *message =
[[ARDSessionDescriptionMessage alloc]
initWithDescription:sdpPreferringH264];
@@ -468,9 +468,15 @@ static BOOL const kARDAppClientEnableTracing = NO;
// an answer and set the local description.
if (!_isInitiator && !_peerConnection.localDescription) {
RTCMediaConstraints *constraints = [self defaultAnswerConstraints];
- [_peerConnection createAnswerWithDelegate:self
- constraints:constraints];
-
+ __weak ARDAppClient *weakSelf = self;
+ [_peerConnection answerForConstraints:constraints
+ completionHandler:^(RTCSessionDescription *sdp,
+ NSError *error) {
+ ARDAppClient *strongSelf = weakSelf;
+ [strongSelf peerConnection:strongSelf.peerConnection
+ didCreateSessionDescription:sdp
+ error:error];
+ }];
}
});
}
@@ -496,16 +502,24 @@ static BOOL const kARDAppClientEnableTracing = NO;
RTCMediaConstraints *constraints = [self defaultPeerConnectionConstraints];
RTCConfiguration *config = [[RTCConfiguration alloc] init];
config.iceServers = _iceServers;
- _peerConnection = [_factory peerConnectionWithConfiguration:config
- constraints:constraints
- delegate:self];
+ _peerConnection = [[RTCPeerConnection alloc] initWithFactory:_factory
+ configuration:config
+ constraints:constraints
+ delegate:self];
// Create AV media stream and add it to the peer connection.
RTCMediaStream *localStream = [self createLocalMediaStream];
[_peerConnection addStream:localStream];
if (_isInitiator) {
// Send offer.
- [_peerConnection createOfferWithDelegate:self
- constraints:[self defaultOfferConstraints]];
+ __weak ARDAppClient *weakSelf = self;
+ [_peerConnection offerForConstraints:[self defaultOfferConstraints]
+ completionHandler:^(RTCSessionDescription *sdp,
+ NSError *error) {
+ ARDAppClient *strongSelf = weakSelf;
+ [strongSelf peerConnection:strongSelf.peerConnection
+ didCreateSessionDescription:sdp
+ error:error];
+ }];
} else {
// Check if we've received an offer.
[self drainMessageQueueIfReady];
@@ -541,14 +555,19 @@ static BOOL const kARDAppClientEnableTracing = NO;
RTCSessionDescription *sdpPreferringH264 =
[ARDSDPUtils descriptionForDescription:description
preferredVideoCodec:@"H264"];
- [_peerConnection setRemoteDescriptionWithDelegate:self
- sessionDescription:sdpPreferringH264];
+ __weak ARDAppClient *weakSelf = self;
+ [_peerConnection setRemoteDescription:sdpPreferringH264
+ completionHandler:^(NSError *error) {
+ ARDAppClient *strongSelf = weakSelf;
+ [strongSelf peerConnection:strongSelf.peerConnection
+ didSetSessionDescriptionWithError:error];
+ }];
break;
}
case kARDSignalingMessageTypeCandidate: {
ARDICECandidateMessage *candidateMessage =
(ARDICECandidateMessage *)message;
- [_peerConnection addICECandidate:candidateMessage.candidate];
+ [_peerConnection addIceCandidate:candidateMessage.candidate];
break;
}
case kARDSignalingMessageTypeBye:
@@ -589,13 +608,17 @@ static BOOL const kARDAppClientEnableTracing = NO;
}
- (RTCMediaStream *)createLocalMediaStream {
- RTCMediaStream* localStream = [_factory mediaStreamWithLabel:@"ARDAMS"];
- RTCVideoTrack* localVideoTrack = [self createLocalVideoTrack];
+ RTCMediaStream *localStream =
+ [[RTCMediaStream alloc] initWithFactory:_factory streamId:@"ARDAMS"];
+ RTCVideoTrack *localVideoTrack = [self createLocalVideoTrack];
if (localVideoTrack) {
[localStream addVideoTrack:localVideoTrack];
[_delegate appClient:self didReceiveLocalVideoTrack:localVideoTrack];
}
- [localStream addAudioTrack:[_factory audioTrackWithID:@"ARDAMSa0"]];
+ RTCAudioTrack *localAudioTrack =
+ [[RTCAudioTrack alloc] initWithFactory:_factory
+ trackId:@"ARDAMSa0"];
+ [localStream addAudioTrack:localAudioTrack];
return localStream;
}
@@ -661,10 +684,10 @@ static BOOL const kARDAppClientEnableTracing = NO;
}
- (RTCMediaConstraints *)defaultOfferConstraints {
- NSArray *mandatoryConstraints = @[
- [[RTCPair alloc] initWithKey:@"OfferToReceiveAudio" value:@"true"],
- [[RTCPair alloc] initWithKey:@"OfferToReceiveVideo" value:@"true"]
- ];
+ NSDictionary *mandatoryConstraints = @{
+ @"OfferToReceiveAudio" : @"true",
+ @"OfferToReceiveVideo" : @"true"
+ };
RTCMediaConstraints* constraints =
[[RTCMediaConstraints alloc]
initWithMandatoryConstraints:mandatoryConstraints
@@ -677,9 +700,7 @@ static BOOL const kARDAppClientEnableTracing = NO;
return _defaultPeerConnectionConstraints;
}
NSString *value = _isLoopback ? @"false" : @"true";
- NSArray *optionalConstraints = @[
- [[RTCPair alloc] initWithKey:@"DtlsSrtpKeyAgreement" value:value]
- ];
+ NSDictionary *optionalConstraints = @{ @"DtlsSrtpKeyAgreement" : value };
RTCMediaConstraints* constraints =
[[RTCMediaConstraints alloc]
initWithMandatoryConstraints:nil
@@ -687,11 +708,10 @@ static BOOL const kARDAppClientEnableTracing = NO;
return constraints;
}
-- (RTCICEServer *)defaultSTUNServer {
- NSURL *defaultSTUNServerURL = [NSURL URLWithString:kARDDefaultSTUNServerUrl];
- return [[RTCICEServer alloc] initWithURI:defaultSTUNServerURL
- username:@""
- password:@""];
+- (RTCIceServer *)defaultSTUNServer {
+ return [[RTCIceServer alloc] initWithURLStrings:@[kARDDefaultSTUNServerUrl]
+ username:@""
+ credential:@""];
}
#pragma mark - Errors
« no previous file with comments | « webrtc/examples/objc/AppRTCDemo/ARDAppClient.h ('k') | webrtc/examples/objc/AppRTCDemo/ARDAppClient+Internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698