blob: fcdf19986944421ae19508a1a527c33808ee3ca9 [file] [log] [blame]
Anders Carlsson7bca8ca2018-08-30 09:30:29 +02001/*
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
18NS_ASSUME_NONNULL_BEGIN
19
Mirko Bonadeie8d57242018-09-17 10:22:56 +020020RTC_OBJC_EXPORT
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020021@protocol RTC_OBJC_TYPE
22(RTCRtpSender)<NSObject>
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020023
Mirko Bonadeid74c0e62020-07-16 21:57:01 +020024/** A unique identifier for this sender. */
25@property(nonatomic, readonly) NSString *senderId;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020026
27/** The currently active RTCRtpParameters, as defined in
28 * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters.
29 */
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020030@property(nonatomic, copy) RTC_OBJC_TYPE(RTCRtpParameters) * parameters;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020031
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 */
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020037@property(nonatomic, copy, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020038
Cyril Lashkevichfa77ba62019-10-08 13:06:15 +000039/** IDs of streams associated with the RTP sender */
40@property(nonatomic, copy) NSArray<NSString *> *streamIds;
41
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020042/** The RTCDtmfSender accociated with the RTP sender. */
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020043@property(nonatomic, readonly, nullable) id<RTC_OBJC_TYPE(RTCDtmfSender)> dtmfSender;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020044
45@end
46
Mirko Bonadeie8d57242018-09-17 10:22:56 +020047RTC_OBJC_EXPORT
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020048@interface RTC_OBJC_TYPE (RTCRtpSender) : NSObject <RTC_OBJC_TYPE(RTCRtpSender)>
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020049
50- (instancetype)init NS_UNAVAILABLE;
51
52@end
53
54NS_ASSUME_NONNULL_END