Add resolution bitrate thresholds to EncoderInfo.
When provided, these thresholds will be used instead of WebRTC default limits specified in DropDueToSize() and GetMaxDefaultVideoBitrateKbps(). Bug: none Change-Id: Ida45ea832041963b8b8475d69114b5c60a172fb7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142170 Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Alex Glaznev <glaznev@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28390}
This commit is contained in:
committed by
Commit Bot
parent
2644a703cc
commit
be0adee768
@ -23,4 +23,9 @@ public class CodecsWrapperTestHelper {
|
||||
VideoCodecInfo codec_info = new VideoCodecInfo("H264", params);
|
||||
return codec_info;
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
public static VideoEncoder createFakeVideoEncoder() {
|
||||
return new FakeVideoEncoder();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2017 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;
|
||||
|
||||
/**
|
||||
* An implementation of VideoEncoder that is used for testing of functionalities of
|
||||
* VideoEncoderWrapper.
|
||||
*/
|
||||
class FakeVideoEncoder implements VideoEncoder {
|
||||
@Override
|
||||
public VideoCodecStatus initEncode(Settings settings, Callback encodeCallback) {
|
||||
return VideoCodecStatus.OK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VideoCodecStatus release() {
|
||||
return VideoCodecStatus.OK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VideoCodecStatus encode(VideoFrame frame, EncodeInfo info) {
|
||||
return VideoCodecStatus.OK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VideoCodecStatus setRateAllocation(BitrateAllocation allocation, int framerate) {
|
||||
return VideoCodecStatus.OK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScalingSettings getScalingSettings() {
|
||||
return ScalingSettings.OFF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResolutionBitrateThresholds[] getResolutionBitrateThresholds() {
|
||||
ResolutionBitrateThresholds resolution_bitrate_thresholds[] = {
|
||||
new ResolutionBitrateThresholds(/* frameSizePixels = */ 640 * 360,
|
||||
/* minStartBitrateBps = */ 300000,
|
||||
/* minBitrateBps = */ 200000,
|
||||
/* maxBitrateBps = */ 1000000)};
|
||||
|
||||
return resolution_bitrate_thresholds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getImplementationName() {
|
||||
return "FakeVideoEncoder";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user