blob: 73e5585d37450c13991f825b78591e5d43e8ed64 [file] [log] [blame]
Jon Hjelle7ac8bab2016-01-21 11:44:55 -08001/*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
tkchin5209d672016-04-16 12:06:33 -070011#import "webrtc/api/objc/RTCVideoSource.h"
tkchin8b577ed2016-04-19 10:04:41 -070012#import "webrtc/base/objc/RTCMacros.h"
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080013
14@class AVCaptureSession;
15@class RTCMediaConstraints;
16@class RTCPeerConnectionFactory;
17
18NS_ASSUME_NONNULL_BEGIN
19
20/**
21 * RTCAVFoundationVideoSource is a video source that uses
22 * webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for
23 * that capturer because cricket::VideoCapturer is not ref counted and we cannot
24 * guarantee its lifetime. Instead, we expose its properties through the ref
25 * counted video source interface.
26 */
tkchin8b577ed2016-04-19 10:04:41 -070027RTC_EXPORT
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080028@interface RTCAVFoundationVideoSource : RTCVideoSource
29
Tze Kwang Chinf3cb49f2016-03-22 10:57:40 -070030- (instancetype)init NS_UNAVAILABLE;
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080031
hjona1cf3662016-03-14 20:55:22 -070032/** Returns whether rear-facing camera is available for use. */
33@property(nonatomic, readonly) BOOL canUseBackCamera;
34
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080035/** Switches the camera being used (either front or back). */
36@property(nonatomic, assign) BOOL useBackCamera;
37
38/** Returns the active capture session. */
39@property(nonatomic, readonly) AVCaptureSession *captureSession;
40
41@end
42
Jon Hjelle7ac8bab2016-01-21 11:44:55 -080043NS_ASSUME_NONNULL_END