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

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

Issue 1888633002: Added the API to create an RTCRtpSender to the Objective C wrapper. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Code review feedback Created 4 years, 8 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 7d060c9e9f4509c6307d247c85e52f5ecbd363eb..6ab3932f67fe76d58158145ed8aa96140ab084ba 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
@@ -22,6 +22,7 @@
#import "WebRTC/RTCMediaConstraints.h"
#import "WebRTC/RTCMediaStream.h"
#import "WebRTC/RTCPeerConnectionFactory.h"
+#import "WebRTC/RTCRtpSender.h"
#import "ARDAppEngineClient.h"
#import "ARDCEODTURNClient.h"
@@ -48,6 +49,11 @@ static NSInteger const kARDAppClientErrorCreateSDP = -3;
static NSInteger const kARDAppClientErrorSetSDP = -4;
static NSInteger const kARDAppClientErrorInvalidClient = -5;
static NSInteger const kARDAppClientErrorInvalidRoom = -6;
+static NSString * const kARDMediaTypeAudio = @"audio";
+static NSString * const kARDMediaTypeVideo = @"video";
+static NSString * const kARDMediaStreamId = @"ARDAMS";
+static NSString * const kARDAudioTrackId = @"ARDAMSa0";
+static NSString * const kARDVideoTrackId = @"ARDAMSv0";
// TODO(tkchin): Remove guard once rtc_sdk_common_objc compiles on Mac.
#if defined(WEBRTC_IOS)
@@ -505,9 +511,9 @@ static BOOL const kARDAppClientEnableTracing = NO;
_peerConnection = [_factory peerConnectionWithConfiguration:config
constraints:constraints
delegate:self];
- // Create AV media stream and add it to the peer connection.
- RTCMediaStream *localStream = [self createLocalMediaStream];
- [_peerConnection addStream:localStream];
+ // Create AV senders.
+ [self createAudioSender];
+ [self createVideoSender];
if (_isInitiator) {
// Send offer.
__weak ARDAppClient *weakSelf = self;
@@ -606,17 +612,23 @@ static BOOL const kARDAppClientEnableTracing = NO;
}
}
-- (RTCMediaStream *)createLocalMediaStream {
- RTCMediaStream *localStream = [_factory mediaStreamWithStreamId:@"ARDAMS"];
- RTCVideoTrack *localVideoTrack = [self createLocalVideoTrack];
- if (localVideoTrack) {
- [localStream addVideoTrack:localVideoTrack];
- [_delegate appClient:self didReceiveLocalVideoTrack:localVideoTrack];
+- (RTCRtpSender *)createVideoSender {
+ RTCRtpSender *sender = [_peerConnection senderWithKind:kARDMediaTypeVideo
+ streamId:kARDMediaStreamId];
+ RTCVideoTrack *track = [self createLocalVideoTrack];
+ if (track) {
+ sender.track = track;
+ [_delegate appClient:self didReceiveLocalVideoTrack:track];
}
- RTCAudioTrack *localAudioTrack =
- [_factory audioTrackWithTrackId:@"ARDAMSa0"];
- [localStream addAudioTrack:localAudioTrack];
- return localStream;
+ return sender;
+}
+
+- (RTCRtpSender *)createAudioSender {
+ RTCRtpSender *sender = [_peerConnection senderWithKind:kARDMediaTypeAudio
+ streamId:kARDMediaStreamId];
+ RTCAudioTrack *track = [_factory audioTrackWithTrackId:kARDAudioTrackId];
+ sender.track = track;
+ return sender;
}
- (RTCVideoTrack *)createLocalVideoTrack {
@@ -634,7 +646,7 @@ static BOOL const kARDAppClientEnableTracing = NO;
[_factory avFoundationVideoSourceWithConstraints:mediaConstraints];
localVideoTrack =
[_factory videoTrackWithSource:source
- trackId:@"ARDAMSv0"];
+ trackId:kARDVideoTrackId];
}
#endif
return localVideoTrack;

Powered by Google App Engine
This is Rietveld 408576698