• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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