blob: a9ebc06c88e0d99dfa71297b99fde3b2514aa5b5 [file] [log] [blame]
Jon Hjellef6c318e2016-01-11 14:39:01 -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 <Foundation/Foundation.h>
12
tkchin9eeb6242016-04-27 01:54:20 -070013#import <WebRTC/RTCMacros.h>
tkchind4bfbfc2016-08-30 11:56:05 -070014#import <WebRTC/RTCMediaSource.h>
magjedabb84b82017-03-28 01:56:41 -070015#import <WebRTC/RTCVideoCapturer.h>
Jon Hjellef6c318e2016-01-11 14:39:01 -080016
17NS_ASSUME_NONNULL_BEGIN
18
tkchin8b577ed2016-04-19 10:04:41 -070019RTC_EXPORT
magjedabb84b82017-03-28 01:56:41 -070020
magjed24da37b2017-04-11 04:50:15 -070021@interface RTCVideoSource : RTCMediaSource <RTCVideoCapturerDelegate>
Jon Hjellef6c318e2016-01-11 14:39:01 -080022
23- (instancetype)init NS_UNAVAILABLE;
24
magjedabb84b82017-03-28 01:56:41 -070025/**
26 * Calling this function will cause frames to be scaled down to the
27 * requested resolution. Also, frames will be cropped to match the
28 * requested aspect ratio, and frames will be dropped to match the
29 * requested fps. The requested aspect ratio is orientation agnostic and
30 * will be adjusted to maintain the input orientation, so it doesn't
31 * matter if e.g. 1280x720 or 720x1280 is requested.
32 */
33- (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps;
34
Jon Hjellef6c318e2016-01-11 14:39:01 -080035@end
36
37NS_ASSUME_NONNULL_END