| /* |
| * Copyright 2021 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. |
| */ |
| |
| package org.webrtc; |
| |
| import static com.google.common.truth.Truth.assertThat; |
| |
| import androidx.test.runner.AndroidJUnit4; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| import org.robolectric.annotation.Config; |
| import org.webrtc.VideoEncoder.ScalingSettings; |
| |
| @RunWith(AndroidJUnit4.class) |
| @Config(manifest = Config.NONE) |
| public class FramerateBitrateAdjusterTest { |
| @Test |
| public void getAdjustedFramerate_alwaysReturnsDefault() { |
| FramerateBitrateAdjuster bitrateAdjuster = new FramerateBitrateAdjuster(); |
| bitrateAdjuster.setTargets(1000, 15); |
| assertThat(bitrateAdjuster.getAdjustedFramerateFps()).isEqualTo(30.0); |
| } |
| |
| @Test |
| public void getAdjustedBitrate_defaultFramerate_returnsTargetBitrate() { |
| FramerateBitrateAdjuster bitrateAdjuster = new FramerateBitrateAdjuster(); |
| bitrateAdjuster.setTargets(1000, 30); |
| assertThat(bitrateAdjuster.getAdjustedBitrateBps()).isEqualTo(1000); |
| } |
| |
| @Test |
| public void getAdjustedBitrate_nonDefaultFramerate_returnsAdjustedBitrate() { |
| FramerateBitrateAdjuster bitrateAdjuster = new FramerateBitrateAdjuster(); |
| bitrateAdjuster.setTargets(1000, 7.5); |
| // Target frame frame is x4 times smaller than the adjusted one (30fps). Adjusted bitrate should |
| // be x4 times larger then the target one. |
| assertThat(bitrateAdjuster.getAdjustedBitrateBps()).isEqualTo(4000); |
| } |
| } |