iOS SDK 10.0 compatability.

This CL adds support targeting iOS 10 as a min version.

Bug: None
Change-Id: I353a9884eb907e97387553fd73427fd7cb0dbfc2
Reviewed-on: https://webrtc-review.googlesource.com/79921
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23461}
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m b/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m
index 527bc8a..8f93937 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m
@@ -110,7 +110,16 @@
 }
 
 + (NSArray<AVCaptureDevice *> *)captureDevices {
+#if defined(WEBRTC_IOS) && defined(__IPHONE_10_0) && \
+    __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0
+  AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession
+      discoverySessionWithDeviceTypes:@[ AVCaptureDeviceTypeBuiltInWideAngleCamera ]
+                            mediaType:AVMediaTypeVideo
+                             position:AVCaptureDevicePositionUnspecified];
+  return session.devices;
+#else
   return [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
+#endif
 }
 
 + (NSArray<AVCaptureDeviceFormat *> *)supportedFormatsForDevice:(AVCaptureDevice *)device {
diff --git a/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m b/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m
index 7655dd6..a267414 100644
--- a/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m
+++ b/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m
@@ -45,8 +45,11 @@
         [CADisplayLink displayLinkWithTarget:self
                                     selector:@selector(displayLinkDidFire:)];
     _displayLink.paused = YES;
-    // Set to half of screen refresh, which should be 30fps.
+#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0
+    _displayLink.preferredFramesPerSecond = 30;
+#else
     [_displayLink setFrameInterval:2];
+#endif
     [_displayLink addToRunLoop:[NSRunLoop currentRunLoop]
                        forMode:NSRunLoopCommonModes];
   }
diff --git a/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm b/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
index 905b974..3788dd1 100644
--- a/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
+++ b/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
@@ -177,15 +177,6 @@
   invalidFormat = nil;
 }
 
-- (void)testCaptureDevices {
-  OCMStub([self.deviceMock devicesWithMediaType:AVMediaTypeVideo]).andReturn(@[ [NSObject new] ]);
-  OCMStub([self.deviceMock devicesWithMediaType:AVMediaTypeAudio]).andReturn(@[ [NSObject new] ]);
-
-  NSArray *captureDevices = [RTCCameraVideoCapturer captureDevices];
-
-  EXPECT_EQ(captureDevices.count, 1u);
-}
-
 - (void)testDelegateCallbackNotCalledWhenInvalidBuffer {
   // given
   CMSampleBufferRef sampleBuffer = nullptr;
@@ -504,13 +495,6 @@
   [test tearDown];
 }
 
-TEST(RTCCameraVideoCapturerTests, CaptureDevices) {
-  RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
-  [test setup];
-  [test testCaptureDevices];
-  [test tearDown];
-}
-
 TEST(RTCCameraVideoCapturerTests, DelegateCallbackNotCalledWhenInvalidBuffer) {
   RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
   [test setup];