Add VideoEncoder::Settings::numberOfSimulcastStreams.
This helps Java encoders take action if simulcast is enabled or not.
Bug: webrtc:9646
Change-Id: Iad967e237bdc790ff2af111bdec1319f3e661ff7
Reviewed-on: https://webrtc-review.googlesource.com/95651
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24430}diff --git a/sdk/android/api/org/webrtc/VideoEncoder.java b/sdk/android/api/org/webrtc/VideoEncoder.java
index b739e99..e1984fa 100644
--- a/sdk/android/api/org/webrtc/VideoEncoder.java
+++ b/sdk/android/api/org/webrtc/VideoEncoder.java
@@ -26,18 +26,26 @@
public final int height;
public final int startBitrate; // Kilobits per second.
public final int maxFramerate;
+ public final int numberOfSimulcastStreams;
public final boolean automaticResizeOn;
@CalledByNative("Settings")
public Settings(int numberOfCores, int width, int height, int startBitrate, int maxFramerate,
- boolean automaticResizeOn) {
+ int numberOfSimulcastStreams, boolean automaticResizeOn) {
this.numberOfCores = numberOfCores;
this.width = width;
this.height = height;
this.startBitrate = startBitrate;
this.maxFramerate = maxFramerate;
+ this.numberOfSimulcastStreams = numberOfSimulcastStreams;
this.automaticResizeOn = automaticResizeOn;
}
+
+ // TODO(http://bugs.webrtc.org/9646): Remove when downstream clients have been updated.
+ public Settings(int numberOfCores, int width, int height, int startBitrate, int maxFramerate,
+ boolean automaticResizeOn) {
+ this(numberOfCores, width, height, startBitrate, maxFramerate, 1, automaticResizeOn);
+ }
}
/** Additional info for encoding. */
diff --git a/sdk/android/src/jni/videoencoderwrapper.cc b/sdk/android/src/jni/videoencoderwrapper.cc
index 717f944..ff8be05 100644
--- a/sdk/android/src/jni/videoencoderwrapper.cc
+++ b/sdk/android/src/jni/videoencoderwrapper.cc
@@ -70,7 +70,9 @@
ScopedJavaLocalRef<jobject> settings = Java_Settings_Constructor(
jni, number_of_cores_, codec_settings_.width, codec_settings_.height,
static_cast<int>(codec_settings_.startBitrate),
- static_cast<int>(codec_settings_.maxFramerate), automatic_resize_on);
+ static_cast<int>(codec_settings_.maxFramerate),
+ static_cast<int>(codec_settings_.numberOfSimulcastStreams),
+ automatic_resize_on);
ScopedJavaLocalRef<jobject> callback =
Java_VideoEncoderWrapper_createEncoderCallback(jni,