blob: e8dad3b9e1810d150bf7693ca1cec5499c2bfbfc [file] [log] [blame]
Jon Hjelleca91e382016-01-21 15:36:47 -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 "RTCMediaStreamTrack.h"
12
13NS_ASSUME_NONNULL_BEGIN
14
15@protocol RTCVideoRenderer;
16@class RTCPeerConnectionFactory;
17@class RTCVideoSource;
18
19@interface RTCVideoTrack : RTCMediaStreamTrack
20
21/** The video source for this video track. */
22@property(nonatomic, readonly) RTCVideoSource *source;
23
24- (instancetype)init NS_UNAVAILABLE;
25
26/** Initialize an RTCVideoTrack with its source and an id. */
27- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
28 source:(RTCVideoSource *)source
29 trackId:(NSString *)trackId;
30
31/** Register a renderer that will render all frames received on this track. */
32- (void)addRenderer:(id<RTCVideoRenderer>)renderer;
33
34/** Deregister a renderer. */
35- (void)removeRenderer:(id<RTCVideoRenderer>)renderer;
36
37@end
38
39NS_ASSUME_NONNULL_END