OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |