| /* | |
| * 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); | |
| } | |
| } |