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

Unified Diff: webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m

Issue 2778163005: Use new RTCCameraVideoCapturer in AppRTCMobile. (Closed)
Patch Set: Remove localCapturer property from ARDVideoCallViewController. Created 3 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/AppRTCMobile/ios/ARDVideoCallViewController.m
diff --git a/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m b/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
index cd42514a9f930690df6a97deb5e807427250b9ea..732e4b6511ef281db7ab763f55aa1ae7995486f5 100644
--- a/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
+++ b/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
@@ -13,6 +13,7 @@
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
#import "ARDAppClient.h"
+#import "ARDCaptureController.h"
#import "ARDSettingsModel.h"
#import "ARDVideoCallView.h"
#import "WebRTC/RTCAVFoundationVideoSource.h"
@@ -22,7 +23,6 @@
@interface ARDVideoCallViewController () <ARDAppClientDelegate,
ARDVideoCallViewDelegate>
-@property(nonatomic, strong) RTCVideoTrack *localVideoTrack;
@property(nonatomic, strong) RTCVideoTrack *remoteVideoTrack;
@property(nonatomic, readonly) ARDVideoCallView *videoCallView;
@end
@@ -30,12 +30,11 @@
@implementation ARDVideoCallViewController {
ARDAppClient *_client;
RTCVideoTrack *_remoteVideoTrack;
- RTCVideoTrack *_localVideoTrack;
+ ARDCaptureController *_captureController;
AVAudioSessionPortOverride _portOverride;
}
@synthesize videoCallView = _videoCallView;
-@synthesize localVideoTrack = _localVideoTrack;
@synthesize remoteVideoTrack = _remoteVideoTrack;
@synthesize delegate = _delegate;
@@ -48,6 +47,7 @@
if (self = [super init]) {
ARDSettingsModel *settingsModel = [[ARDSettingsModel alloc] init];
_delegate = delegate;
+
_client = [[ARDAppClient alloc] initWithDelegate:self];
[_client connectToRoomWithId:room
settings:settingsModel
@@ -97,8 +97,16 @@
}
- (void)appClient:(ARDAppClient *)client
+ didCreateLocalCapturer:(RTCCameraVideoCapturer *)localCapturer {
+ _videoCallView.localVideoView.captureSession = localCapturer.captureSession;
+ ARDSettingsModel *settingsModel = [[ARDSettingsModel alloc] init];
+ _captureController =
+ [[ARDCaptureController alloc] initWithCapturer:localCapturer settings:settingsModel];
+ [_captureController startCapture];
+}
+
+- (void)appClient:(ARDAppClient *)client
didReceiveLocalVideoTrack:(RTCVideoTrack *)localVideoTrack {
- self.localVideoTrack = localVideoTrack;
}
- (void)appClient:(ARDAppClient *)client
@@ -130,7 +138,7 @@
- (void)videoCallViewDidSwitchCamera:(ARDVideoCallView *)view {
// TODO(tkchin): Rate limit this so you can't tap continously on it.
// Probably through an animation.
- [self switchCamera];
+ [_captureController switchCamera];
}
- (void)videoCallViewDidChangeRoute:(ARDVideoCallView *)view {
@@ -160,20 +168,6 @@
#pragma mark - Private
-- (void)setLocalVideoTrack:(RTCVideoTrack *)localVideoTrack {
- if (_localVideoTrack == localVideoTrack) {
- return;
- }
- _localVideoTrack = nil;
- _localVideoTrack = localVideoTrack;
- RTCAVFoundationVideoSource *source = nil;
- if ([localVideoTrack.source
- isKindOfClass:[RTCAVFoundationVideoSource class]]) {
- source = (RTCAVFoundationVideoSource*)localVideoTrack.source;
- }
- _videoCallView.localVideoView.captureSession = source.captureSession;
-}
-
- (void)setRemoteVideoTrack:(RTCVideoTrack *)remoteVideoTrack {
if (_remoteVideoTrack == remoteVideoTrack) {
return;
@@ -187,19 +181,13 @@
- (void)hangup {
self.remoteVideoTrack = nil;
- self.localVideoTrack = nil;
+ _videoCallView.localVideoView.captureSession = nil;
+ [_captureController stopCapture];
+ _captureController = nil;
[_client disconnect];
[_delegate viewControllerDidFinish:self];
}
-- (void)switchCamera {
- RTCVideoSource* source = self.localVideoTrack.source;
- if ([source isKindOfClass:[RTCAVFoundationVideoSource class]]) {
- RTCAVFoundationVideoSource* avSource = (RTCAVFoundationVideoSource*)source;
- avSource.useBackCamera = !avSource.useBackCamera;
- }
-}
-
- (NSString *)statusTextForState:(RTCIceConnectionState)state {
switch (state) {
case RTCIceConnectionStateNew:
« no previous file with comments | « webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallView.m ('k') | webrtc/examples/objc/AppRTCMobile/mac/APPRTCViewController.m » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698