Home | History | Annotate | Download | only in objc
      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 /**
     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  */
     17 typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
     18   RTCMediaStreamTrackStateInitializing,
     19   RTCMediaStreamTrackStateLive,
     20   RTCMediaStreamTrackStateEnded,
     21   RTCMediaStreamTrackStateFailed,
     22 };
     23 
     24 NS_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. */
     38 @property(nonatomic) BOOL isEnabled;
     39 
     40 /** The state of the track. */
     41 @property(nonatomic, readonly) RTCMediaStreamTrackState readyState;
     42 
     43 - (instancetype)init NS_UNAVAILABLE;
     44 
     45 @end
     46 
     47 NS_ASSUME_NONNULL_END
     48