ARDBitrateTracker.h 1.2 KB

123456789101112131415161718192021222324252627282930
  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. #import <Foundation/Foundation.h>
  11. /** Class used to estimate bitrate based on byte count. It is expected that
  12. * byte count is monotonocially increasing. This class tracks the times that
  13. * byte count is updated, and measures the bitrate based on the byte difference
  14. * over the interval between updates.
  15. */
  16. @interface ARDBitrateTracker : NSObject
  17. /** The bitrate in bits per second. */
  18. @property(nonatomic, readonly) double bitrate;
  19. /** The bitrate as a formatted string in bps, Kbps or Mbps. */
  20. @property(nonatomic, readonly) NSString *bitrateString;
  21. /** Converts the bitrate to a readable format in bps, Kbps or Mbps. */
  22. + (NSString *)bitrateStringForBitrate:(double)bitrate;
  23. /** Updates the tracked bitrate with the new byte count. */
  24. - (void)updateBitrateWithCurrentByteCount:(NSInteger)byteCount;
  25. @end