Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: webrtc/api/objc/RTCMediaStreamTrack.mm

Issue 1527143002: Update API for Objective-C RTCMediaStreamTrack (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merged master Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/api/objc/RTCMediaStreamTrack.h ('k') | webrtc/api/objc/RTCMediaStreamTrack+Private.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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 "RTCMediaStreamTrack.h"
12
13 #import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
14 #import "webrtc/base/objc/NSString+StdString.h"
15
16 @implementation RTCMediaStreamTrack {
17 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> _nativeTrack;
18 }
19
20 - (NSString *)kind {
21 return [NSString stringForStdString:_nativeTrack->kind()];
22 }
23
24 - (NSString *)trackId {
25 return [NSString stringForStdString:_nativeTrack->id()];
26 }
27
28 - (BOOL)isEnabled {
29 return _nativeTrack->enabled();
30 }
31
32 - (void)setIsEnabled:(BOOL)isEnabled {
33 _nativeTrack->set_enabled(isEnabled);
34 }
35
36 - (RTCMediaStreamTrackState)readyState {
37 return [[self class] trackStateForNativeState:_nativeTrack->state()];
38 }
39
40 - (NSString *)description {
41 NSString *readyState = [[self class] stringForState:self.readyState];
42 return [NSString stringWithFormat:@"RTCMediaStreamTrack:\n%@\n%@\n%@\n%@",
43 self.kind,
44 self.trackId,
45 self.isEnabled ? @"enabled" : @"disabled",
46 readyState];
47 }
48
49 #pragma mark - Private
50
51 - (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack {
52 return _nativeTrack;
53 }
54
55 - (instancetype)initWithNativeTrack:
56 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack {
57 NSParameterAssert(nativeTrack);
58 if (self = [super init]) {
59 _nativeTrack = nativeTrack;
60 }
61 return self;
62 }
63
64 + (webrtc::MediaStreamTrackInterface::TrackState)nativeTrackStateForState:
65 (RTCMediaStreamTrackState)state {
66 switch (state) {
67 case RTCMediaStreamTrackStateInitializing:
68 return webrtc::MediaStreamTrackInterface::kInitializing;
69 case RTCMediaStreamTrackStateLive:
70 return webrtc::MediaStreamTrackInterface::kLive;
71 case RTCMediaStreamTrackStateEnded:
72 return webrtc::MediaStreamTrackInterface::kEnded;
73 case RTCMediaStreamTrackStateFailed:
74 return webrtc::MediaStreamTrackInterface::kFailed;
75 }
76 }
77
78 + (RTCMediaStreamTrackState)trackStateForNativeState:
79 (webrtc::MediaStreamTrackInterface::TrackState)nativeState {
80 switch (nativeState) {
81 case webrtc::MediaStreamTrackInterface::kInitializing:
82 return RTCMediaStreamTrackStateInitializing;
83 case webrtc::MediaStreamTrackInterface::kLive:
84 return RTCMediaStreamTrackStateLive;
85 case webrtc::MediaStreamTrackInterface::kEnded:
86 return RTCMediaStreamTrackStateEnded;
87 case webrtc::MediaStreamTrackInterface::kFailed:
88 return RTCMediaStreamTrackStateFailed;
89 }
90 }
91
92 + (NSString *)stringForState:(RTCMediaStreamTrackState)state {
93 switch (state) {
94 case RTCMediaStreamTrackStateInitializing:
95 return @"Initializing";
96 case RTCMediaStreamTrackStateLive:
97 return @"Live";
98 case RTCMediaStreamTrackStateEnded:
99 return @"Ended";
100 case RTCMediaStreamTrackStateFailed:
101 return @"Failed";
102 }
103 }
104
105 @end
OLDNEW
« no previous file with comments | « webrtc/api/objc/RTCMediaStreamTrack.h ('k') | webrtc/api/objc/RTCMediaStreamTrack+Private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698