1 /* 2 * Copyright 2016 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 13 #import "RTCDtmfSender.h" 14 #import "RTCMacros.h" 15 #import "RTCMediaStreamTrack.h" 16 #import "RTCRtpParameters.h" 17 18 NS_ASSUME_NONNULL_BEGIN 19 20 RTC_OBJC_EXPORT 21 @protocol RTC_OBJC_TYPE 22 (RTCRtpSender)<NSObject> 23 24 /** A unique identifier for this sender. */ 25 @property(nonatomic, readonly) NSString *senderId; 26 27 /** The currently active RTCRtpParameters, as defined in 28 * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. 29 */ 30 @property(nonatomic, copy) RTC_OBJC_TYPE(RTCRtpParameters) * parameters; 31 32 /** The RTCMediaStreamTrack associated with the sender. 33 * Note: reading this property returns a new instance of 34 * RTCMediaStreamTrack. Use isEqual: instead of == to compare 35 * RTCMediaStreamTrack instances. 36 */ 37 @property(nonatomic, copy, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; 38 39 /** IDs of streams associated with the RTP sender */ 40 @property(nonatomic, copy) NSArray<NSString *> *streamIds; 41 42 /** The RTCDtmfSender accociated with the RTP sender. */ 43 @property(nonatomic, readonly, nullable) id<RTC_OBJC_TYPE(RTCDtmfSender)> dtmfSender; 44 45 @end 46 47 RTC_OBJC_EXPORT 48 @interface RTC_OBJC_TYPE (RTCRtpSender) : NSObject <RTC_OBJC_TYPE(RTCRtpSender)> 49 50 - (instancetype)init NS_UNAVAILABLE; 51 52 @end 53 54 NS_ASSUME_NONNULL_END 55