blob: 0b210892b88587f572cf2853f5705d3c9c0a36fd [file] [log] [blame]
/*
* 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 org.chromium.testing.local.LocalRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.webrtc.VideoEncoder.ScalingSettings;
@RunWith(LocalRobolectricTestRunner.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);
}
}