Report available instead of encoding bitrate to VideoEncoderSelector.
The encoding bitrate might be limited depending on the current encoder. Bug: webrtc:11341 Change-Id: I734fce12734b1e703e7948847cdb1365c08a137b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169123 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30619}
This commit is contained in:

committed by
Commit Bot

parent
e6994bc1f5
commit
4f34d78c85
@ -19,16 +19,32 @@ public interface VideoEncoderFactory {
|
||||
@CalledByNative("VideoEncoderSelector") void onCurrentEncoder(VideoCodecInfo info);
|
||||
|
||||
/**
|
||||
* Called with the current encoding bitrate. Returns null if the encoder
|
||||
* selector which to keep the current encoder or a VideoCodecInfo if a
|
||||
* new encoder is preferred.
|
||||
* Called with the current encoding bitrate. Returns null if the encoder selector prefers to
|
||||
* keep the current encoder or a VideoCodecInfo if a new encoder is preferred.
|
||||
*
|
||||
* <p>TODO(bugs.webrtc.org/11341): Delete onEncodingBitrate and remove the default
|
||||
* implementation for onAvailableBitrate once downstream project is updated.
|
||||
*/
|
||||
@Nullable @CalledByNative("VideoEncoderSelector") VideoCodecInfo onEncodingBitrate(int kbps);
|
||||
@Deprecated
|
||||
@Nullable
|
||||
default VideoCodecInfo onEncodingBitrate(int kbps) {
|
||||
throw new UnsupportedOperationException("Not implemented.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the currently used encoder signal itself as broken. Returns
|
||||
* null if the encoder selector which to keep the current encoder or a
|
||||
* VideoCodecInfo if a new encoder is preferred.
|
||||
* Called with the current available bitrate. Returns null if the encoder selector prefers to
|
||||
* keep the current encoder or a VideoCodecInfo if a new encoder is preferred.
|
||||
*/
|
||||
@Nullable
|
||||
@CalledByNative("VideoEncoderSelector")
|
||||
default VideoCodecInfo onAvailableBitrate(int kbps) {
|
||||
return onEncodingBitrate(kbps);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the currently used encoder signal itself as broken. Returns null if the encoder
|
||||
* selector prefers to keep the current encoder or a VideoCodecInfo if a new encoder is
|
||||
* preferred.
|
||||
*/
|
||||
@Nullable @CalledByNative("VideoEncoderSelector") VideoCodecInfo onEncoderBroken();
|
||||
}
|
||||
|
Reference in New Issue
Block a user