1 /* 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 13 #import "RTCMacros.h" 14 15 NS_ASSUME_NONNULL_BEGIN 16 17 @protocol RTC_OBJC_TYPE 18 (RTCVideoRenderer); 19 @class RTC_OBJC_TYPE(RTCPeerConnectionFactory); 20 @class RTC_OBJC_TYPE(RTCVideoSource); 21 22 RTC_OBJC_EXPORT 23 @interface RTC_OBJC_TYPE (RTCVideoTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack) 24 25 /** The video source for this video track. */ 26 @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCVideoSource) *source; 27 28 - (instancetype)init NS_UNAVAILABLE; 29 30 /** Register a renderer that will render all frames received on this track. */ 31 - (void)addRenderer:(id<RTC_OBJC_TYPE(RTCVideoRenderer)>)renderer; 32 33 /** Deregister a renderer. */ 34 - (void)removeRenderer:(id<RTC_OBJC_TYPE(RTCVideoRenderer)>)renderer; 35 36 @end 37 38 NS_ASSUME_NONNULL_END 39