blob: d1ea0f28f342027b62af5696c6883a3d917e20e2 [file] [log] [blame]
Anders Carlsson7bca8ca2018-08-30 09:30:29 +02001/*
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 */
18typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
19 RTCMediaStreamTrackStateLive,
20 RTCMediaStreamTrackStateEnded
21};
22
23NS_ASSUME_NONNULL_BEGIN
24
25RTC_EXTERN NSString *const kRTCMediaStreamTrackKindAudio;
26RTC_EXTERN NSString *const kRTCMediaStreamTrackKindVideo;
27
Mirko Bonadeie8d57242018-09-17 10:22:56 +020028RTC_OBJC_EXPORT
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020029@interface 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
50NS_ASSUME_NONNULL_END