• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright 2017 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 
11 package org.webrtc;
12 
13 /** Object that adjusts the bitrate of a hardware codec. */
14 interface BitrateAdjuster {
15   /**
16    * Sets the target bitrate in bits per second and framerate in frames per second.
17    */
setTargets(int targetBitrateBps, double targetFramerateFps)18   void setTargets(int targetBitrateBps, double targetFramerateFps);
19 
20   /**
21    * Should be used to report the size of an encoded frame to the bitrate adjuster. Use
22    * getAdjustedBitrateBps to get the updated bitrate after calling this method.
23    */
reportEncodedFrame(int size)24   void reportEncodedFrame(int size);
25 
26   /** Gets the current bitrate. */
getAdjustedBitrateBps()27   int getAdjustedBitrateBps();
28 
29   /** Gets the current framerate. */
getAdjustedFramerateFps()30   double getAdjustedFramerateFps();
31 }
32