Index: webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m |
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m b/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m |
index fd0b16b5d2a29280acc22958d7b3db1498e4d98d..b2ce6a506b4ea47f91578163b537d751a391156e 100644 |
--- a/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m |
+++ b/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m |
@@ -10,8 +10,7 @@ |
#import "ARDStatsBuilder.h" |
-#import "RTCPair.h" |
-#import "RTCStatsReport.h" |
+#import "webrtc/api/objc/RTCStatsReport.h" |
#import "ARDBitrateTracker.h" |
#import "ARDUtilities.h" |
@@ -133,11 +132,11 @@ |
- (void)parseStatsReport:(RTCStatsReport *)statsReport { |
NSString *reportType = statsReport.type; |
if ([reportType isEqualToString:@"ssrc"] && |
- [statsReport.reportId rangeOfString:@"ssrc"].location != NSNotFound) { |
- if ([statsReport.reportId rangeOfString:@"send"].location != NSNotFound) { |
+ [statsReport.statsId rangeOfString:@"ssrc"].location != NSNotFound) { |
+ if ([statsReport.statsId rangeOfString:@"send"].location != NSNotFound) { |
[self parseSendSsrcStatsReport:statsReport]; |
} |
- if ([statsReport.reportId rangeOfString:@"recv"].location != NSNotFound) { |
+ if ([statsReport.statsId rangeOfString:@"recv"].location != NSNotFound) { |
[self parseRecvSsrcStatsReport:statsReport]; |
} |
} else if ([reportType isEqualToString:@"VideoBwe"]) { |
@@ -150,9 +149,9 @@ |
#pragma mark - Private |
- (void)parseBweStatsReport:(RTCStatsReport *)statsReport { |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ NSDictionary *values = statsReport.values; |
tkchin_webrtc
2016/03/08 19:51:21
use an enumerator to iterate over keys + values. H
hjon_webrtc
2016/03/10 03:32:43
Done.
|
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googAvailableSendBandwidth"]) { |
_availableSendBw = |
[ARDBitrateTracker bitrateStringForBitrate:value.doubleValue]; |
@@ -170,14 +169,13 @@ |
} |
- (void)parseConnectionStatsReport:(RTCStatsReport *)statsReport { |
- NSDictionary *values = [self dictionaryForReport:statsReport]; |
- NSString *activeConnection = [values[@"googActiveConnection"] firstObject]; |
+ NSDictionary *values = statsReport.values; |
+ NSString *activeConnection = values[@"googActiveConnection"]; |
if (![activeConnection isEqualToString:@"true"]) { |
return; |
} |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googRtt"]) { |
_connRtt = value; |
} else if ([key isEqualToString:@"googLocalCandidateType"]) { |
@@ -199,8 +197,8 @@ |
} |
- (void)parseSendSsrcStatsReport:(RTCStatsReport *)statsReport { |
- NSDictionary *values = [self dictionaryForReport:statsReport]; |
- NSString *trackId = [values[@"googTrackId"] firstObject]; |
+ NSDictionary *values = statsReport.values; |
+ NSString *trackId = values[@"googTrackId"]; |
if (trackId.length && [trackId hasPrefix:@"ARDAMSv0"]) { |
// Video track. |
[self parseVideoSendStatsReport:statsReport]; |
@@ -211,9 +209,9 @@ |
} |
- (void)parseAudioSendStatsReport:(RTCStatsReport *)statsReport { |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ NSDictionary *values = statsReport.values; |
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googCodecName"]) { |
_audioSendCodec = value; |
} else if ([key isEqualToString:@"bytesSent"]) { |
@@ -225,9 +223,9 @@ |
} |
- (void)parseVideoSendStatsReport:(RTCStatsReport *)statsReport { |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ NSDictionary *values = statsReport.values; |
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googCodecName"]) { |
_videoSendCodec = value; |
} else if ([key isEqualToString:@"googFrameHeightInput"]) { |
@@ -253,9 +251,8 @@ |
} |
- (void)parseRecvSsrcStatsReport:(RTCStatsReport *)statsReport { |
- NSDictionary *values = [self dictionaryForReport:statsReport]; |
- NSString *transportId = [values[@"transportId"] firstObject]; |
- if ([values[@"googFrameWidthReceived"] firstObject]) { |
+ NSDictionary *values = statsReport.values; |
+ if (values[@"googFrameWidthReceived"]) { |
[self parseVideoRecvStatsReport:statsReport]; |
} else { |
[self parseAudioRecvStatsReport:statsReport]; |
@@ -263,9 +260,9 @@ |
} |
- (void)parseAudioRecvStatsReport:(RTCStatsReport *)statsReport { |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ NSDictionary *values = statsReport.values; |
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googCodecName"]) { |
_audioRecvCodec = value; |
} else if ([key isEqualToString:@"bytesReceived"]) { |
@@ -281,9 +278,9 @@ |
} |
- (void)parseVideoRecvStatsReport:(RTCStatsReport *)statsReport { |
- for (RTCPair *pair in statsReport.values) { |
- NSString *key = pair.key; |
- NSString *value = pair.value; |
+ NSDictionary *values = statsReport.values; |
+ for (NSString* key in values) { |
+ NSString *value = values[key]; |
if ([key isEqualToString:@"googFrameHeightReceived"]) { |
_videoRecvHeight = value; |
} else if ([key isEqualToString:@"googFrameWidthReceived"]) { |
@@ -304,18 +301,5 @@ |
} |
} |
-- (NSDictionary *)dictionaryForReport:(RTCStatsReport *)statsReport { |
- NSMutableDictionary *dict = [NSMutableDictionary dictionary]; |
- for (RTCPair *pair in statsReport.values) { |
- NSMutableArray *values = dict[pair.key]; |
- if (!values) { |
- values = [NSMutableArray arrayWithCapacity:1]; |
- dict[pair.key] = values; |
- } |
- [values addObject:pair.value]; |
- } |
- return dict; |
-} |
- |
@end |