blob: 1fa19c5d38bf532fe081b899031f0f202c9f71f1 [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
11#import "RTCVideoSource.h"
12
13@class AVCaptureSession;
14@class RTCMediaConstraints;
15@class RTCPeerConnectionFactory;
16
17NS_ASSUME_NONNULL_BEGIN
18
19/**
20 * RTCAVFoundationVideoSource is a video source that uses
21 * webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for
22 * that capturer because cricket::VideoCapturer is not ref counted and we cannot
23 * guarantee its lifetime. Instead, we expose its properties through the ref
24 * counted video source interface.
25 */
26@interface RTCAVFoundationVideoSource : RTCVideoSource
27
28- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
29 constraints:(RTCMediaConstraints *)constraints;
30
31/** Switches the camera being used (either front or back). */
32@property(nonatomic, assign) BOOL useBackCamera;
33
34/** Returns the active capture session. */
35@property(nonatomic, readonly) AVCaptureSession *captureSession;
36
37@end
38
39
40NS_ASSUME_NONNULL_END