blob: 3e17e63cd3e3d7ccb3d8b6e2922656456dc36c0a [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 "RTCMediaStreamTrack.h"
12
13#include "talk/app/webrtc/mediastreaminterface.h"
14#include "webrtc/base/scoped_ptr.h"
15
16NS_ASSUME_NONNULL_BEGIN
17
18@interface RTCMediaStreamTrack ()
19
20/**
21 * The native MediaStreamTrackInterface representation of this
22 * RTCMediaStreamTrack object. This is needed to pass to the underlying C++
23 * APIs.
24 */
25@property(nonatomic, readonly)
26 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> nativeTrack;
27
28/**
29 * Initialize an RTCMediaStreamTrack from a native MediaStreamTrackInterface.
30 */
31- (instancetype)initWithNativeTrack:
32 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack
33 NS_DESIGNATED_INITIALIZER;
34
35+ (webrtc::MediaStreamTrackInterface::TrackState)nativeTrackStateForState:
36 (RTCMediaStreamTrackState)state;
37
38+ (RTCMediaStreamTrackState)trackStateForNativeState:
39 (webrtc::MediaStreamTrackInterface::TrackState)nativeState;
40
41+ (NSString *)stringForState:(RTCMediaStreamTrackState)state;
42
43@end
44
45NS_ASSUME_NONNULL_END