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

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

Issue 1854393002: Objective C API to read and set RtpParameters (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 29 matching lines...) Expand all
40 40
41 - (NSString *)description { 41 - (NSString *)description {
42 NSString *readyState = [[self class] stringForState:self.readyState]; 42 NSString *readyState = [[self class] stringForState:self.readyState];
43 return [NSString stringWithFormat:@"RTCMediaStreamTrack:\n%@\n%@\n%@\n%@", 43 return [NSString stringWithFormat:@"RTCMediaStreamTrack:\n%@\n%@\n%@\n%@",
44 self.kind, 44 self.kind,
45 self.trackId, 45 self.trackId,
46 self.isEnabled ? @"enabled" : @"disabled", 46 self.isEnabled ? @"enabled" : @"disabled",
47 readyState]; 47 readyState];
48 } 48 }
49 49
50 - (BOOL)isEqual:(id)object {
51 if (self == object) {
52 return YES;
53 }
54 if (![object isKindOfClass:[RTCMediaStreamTrack class]]) {
tkchin_webrtc 2016/04/08 22:45:46 [object isMemberOfClass:[self class]]? Do we care
skvlad 2016/04/08 23:23:23 Changed to isMemberOfClass:.
55 return NO;
56 }
57 return [self isEqualToTrack:(RTCMediaStreamTrack *)object];
58 }
59
60 - (NSUInteger)hash {
61 return (NSUInteger) _nativeTrack.get();
tkchin_webrtc 2016/04/08 22:45:46 nit: remove space Is this a safe conversion?
skvlad 2016/04/08 23:23:23 It's safe enough for a hash function, even if two
62 }
63
50 #pragma mark - Private 64 #pragma mark - Private
51 65
52 - (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack { 66 - (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack {
53 return _nativeTrack; 67 return _nativeTrack;
54 } 68 }
55 69
56 - (instancetype)initWithNativeTrack: 70 - (instancetype)initWithNativeTrack:
57 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack 71 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack
58 type:(RTCMediaStreamTrackType)type { 72 type:(RTCMediaStreamTrackType)type {
59 NSParameterAssert(nativeTrack); 73 NSParameterAssert(nativeTrack);
60 if (self = [super init]) { 74 if (self = [super init]) {
61 _nativeTrack = nativeTrack; 75 _nativeTrack = nativeTrack;
62 _type = type; 76 _type = type;
63 } 77 }
64 return self; 78 return self;
65 } 79 }
66 80
81 - (instancetype)initWithNativeTrack:
82 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack {
83 NSParameterAssert(nativeTrack);
84 if (nativeTrack->kind() ==
85 std::string(webrtc::MediaStreamTrackInterface::kAudioKind)) {
86 return [self initWithNativeTrack:nativeTrack
87 type:RTCMediaStreamTrackTypeAudio];
88 }
89 if (nativeTrack->kind() ==
90 std::string(webrtc::MediaStreamTrackInterface::kVideoKind)) {
91 return [self initWithNativeTrack:nativeTrack
92 type:RTCMediaStreamTrackTypeVideo];
93 }
94 return nil;
95 }
96
97 - (BOOL)isEqualToTrack:(RTCMediaStreamTrack *)track {
98 if (!track) {
99 return NO;
100 }
101 return _nativeTrack == track->_nativeTrack;
tkchin_webrtc 2016/04/08 22:45:46 nit: don't use -> if possible just access the nati
skvlad 2016/04/08 23:23:23 Changed to use the property. refptr has operator==
102 }
103
67 + (webrtc::MediaStreamTrackInterface::TrackState)nativeTrackStateForState: 104 + (webrtc::MediaStreamTrackInterface::TrackState)nativeTrackStateForState:
68 (RTCMediaStreamTrackState)state { 105 (RTCMediaStreamTrackState)state {
69 switch (state) { 106 switch (state) {
70 case RTCMediaStreamTrackStateLive: 107 case RTCMediaStreamTrackStateLive:
71 return webrtc::MediaStreamTrackInterface::kLive; 108 return webrtc::MediaStreamTrackInterface::kLive;
72 case RTCMediaStreamTrackStateEnded: 109 case RTCMediaStreamTrackStateEnded:
73 return webrtc::MediaStreamTrackInterface::kEnded; 110 return webrtc::MediaStreamTrackInterface::kEnded;
74 } 111 }
75 } 112 }
76 113
(...skipping 10 matching lines...) Expand all
87 + (NSString *)stringForState:(RTCMediaStreamTrackState)state { 124 + (NSString *)stringForState:(RTCMediaStreamTrackState)state {
88 switch (state) { 125 switch (state) {
89 case RTCMediaStreamTrackStateLive: 126 case RTCMediaStreamTrackStateLive:
90 return @"Live"; 127 return @"Live";
91 case RTCMediaStreamTrackStateEnded: 128 case RTCMediaStreamTrackStateEnded:
92 return @"Ended"; 129 return @"Ended";
93 } 130 }
94 } 131 }
95 132
96 @end 133 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698