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

Unified Diff: webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.m

Issue 2358133003: Revert of Rename AppRTCDemo on Android and iOS to AppRTCMobile (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.m
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.m b/webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.m
new file mode 100644
index 0000000000000000000000000000000000000000..815822918774cea6f11cbc3eabe95c1aa188d066
--- /dev/null
+++ b/webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.m
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2015 The WebRTC Project Authors. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#import "ARDBitrateTracker.h"
+
+#import <QuartzCore/QuartzCore.h>
+
+@implementation ARDBitrateTracker {
+ CFTimeInterval _prevTime;
+ NSInteger _prevByteCount;
+}
+
+@synthesize bitrate = _bitrate;
+
++ (NSString *)bitrateStringForBitrate:(double)bitrate {
+ if (bitrate > 1e6) {
+ return [NSString stringWithFormat:@"%.2fMbps", bitrate * 1e-6];
+ } else if (bitrate > 1e3) {
+ return [NSString stringWithFormat:@"%.0fKbps", bitrate * 1e-3];
+ } else {
+ return [NSString stringWithFormat:@"%.0fbps", bitrate];
+ }
+}
+
+- (NSString *)bitrateString {
+ return [[self class] bitrateStringForBitrate:_bitrate];
+}
+
+- (void)updateBitrateWithCurrentByteCount:(NSInteger)byteCount {
+ CFTimeInterval currentTime = CACurrentMediaTime();
+ if (_prevTime && (byteCount > _prevByteCount)) {
+ _bitrate = (byteCount - _prevByteCount) * 8 / (currentTime - _prevTime);
+ }
+ _prevByteCount = byteCount;
+ _prevTime = currentTime;
+}
+
+@end
« no previous file with comments | « webrtc/examples/objc/AppRTCDemo/ARDBitrateTracker.h ('k') | webrtc/examples/objc/AppRTCDemo/ARDCEODTURNClient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698