• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <Foundation/Foundation.h>
12 
13 #import "RTCMacros.h"
14 
15 /**
16  * Represents the state of the track. This exposes the same states in C++.
17  */
18 typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
19   RTCMediaStreamTrackStateLive,
20   RTCMediaStreamTrackStateEnded
21 };
22 
23 NS_ASSUME_NONNULL_BEGIN
24 
25 RTC_EXTERN NSString *const kRTCMediaStreamTrackKindAudio;
26 RTC_EXTERN NSString *const kRTCMediaStreamTrackKindVideo;
27 
28 RTC_OBJC_EXPORT
29 @interface RTC_OBJC_TYPE (RTCMediaStreamTrack) : NSObject
30 
31 /**
32  * The kind of track. For example, "audio" if this track represents an audio
33  * track and "video" if this track represents a video track.
34  */
35 @property(nonatomic, readonly) NSString *kind;
36 
37 /** An identifier string. */
38 @property(nonatomic, readonly) NSString *trackId;
39 
40 /** The enabled state of the track. */
41 @property(nonatomic, assign) BOOL isEnabled;
42 
43 /** The state of the track. */
44 @property(nonatomic, readonly) RTCMediaStreamTrackState readyState;
45 
46 - (instancetype)init NS_UNAVAILABLE;
47 
48 @end
49 
50 NS_ASSUME_NONNULL_END
51