blob: 78838439c79bb04fa03dd064bbc9c2f47f4cf19d [file] [log] [blame]
Jon Hjelle81028792016-01-11 13:16:13 -08001/*
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/**
14 * Represents the state of the track. This exposes the same states in C++,
15 * which include two more states than are in the W3C spec.
16 */
17typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
18 RTCMediaStreamTrackStateInitializing,
19 RTCMediaStreamTrackStateLive,
20 RTCMediaStreamTrackStateEnded,
21 RTCMediaStreamTrackStateFailed,
22};
23
24NS_ASSUME_NONNULL_BEGIN
25
26@interface RTCMediaStreamTrack : NSObject
27
28/**
29 * The kind of track. For example, "audio" if this track represents an audio
30 * track and "video" if this track represents a video track.
31 */
32@property(nonatomic, readonly) NSString *kind;
33
34/** An identifier string. */
35@property(nonatomic, readonly) NSString *trackId;
36
37/** The enabled state of the track. */
hjona2f77982016-03-04 07:09:09 -080038@property(nonatomic, assign) BOOL isEnabled;
Jon Hjelle81028792016-01-11 13:16:13 -080039
40/** The state of the track. */
41@property(nonatomic, readonly) RTCMediaStreamTrackState readyState;
42
43- (instancetype)init NS_UNAVAILABLE;
44
45@end
46
47NS_ASSUME_NONNULL_END