Add file capturer to AppRTCMobile on simulator.

To achieve this, the CL does the following
- Adds sample mp4 video
- Refactors the existing RTCFileVideoCapturer to achieve continious
capture and adds tests.

Bug: webrtc:8406
Change-Id: Ibc0891176c58ec9053b42e340d2113036e7199ec
Reviewed-on: https://webrtc-review.googlesource.com/12180
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20598}
This commit is contained in:
Daniela
2017-11-07 13:57:11 +01:00
committed by Commit Bot
parent b2fc9b1b10
commit 5adcd19875
14 changed files with 423 additions and 69 deletions

View File

@ -11,9 +11,11 @@
#import "ARDVideoCallViewController.h"
#import "WebRTC/RTCAudioSession.h"
#import "WebRTC/RTCCameraVideoCapturer.h"
#import "ARDAppClient.h"
#import "ARDCaptureController.h"
#import "ARDFileCaptureController.h"
#import "ARDSettingsModel.h"
#import "ARDVideoCallView.h"
#import "WebRTC/RTCAVFoundationVideoSource.h"
@ -32,6 +34,7 @@
ARDAppClient *_client;
RTCVideoTrack *_remoteVideoTrack;
ARDCaptureController *_captureController;
ARDFileCaptureController *_fileCaptureController NS_AVAILABLE_IOS(10);
AVAudioSessionPortOverride _portOverride;
}
@ -101,6 +104,14 @@
[_captureController startCapture];
}
- (void)appClient:(ARDAppClient *)client
didCreateLocalFileCapturer:(RTCFileVideoCapturer *)fileCapturer {
if (@available(iOS 10, *)) {
_fileCaptureController = [[ARDFileCaptureController alloc] initWithCapturer:fileCapturer];
[_fileCaptureController startCapture];
}
}
- (void)appClient:(ARDAppClient *)client
didReceiveLocalVideoTrack:(RTCVideoTrack *)localVideoTrack {
}
@ -187,6 +198,8 @@
_videoCallView.localVideoView.captureSession = nil;
[_captureController stopCapture];
_captureController = nil;
[_fileCaptureController stopCapture];
_fileCaptureController = nil;
[_client disconnect];
[_delegate viewControllerDidFinish:self];
}