Reland "Add bindings for simulcast and RIDs in Android SDK."

This is a reland of 177670afd6d4aa414e4aa75983da538b7f350ee8
Fixing failing tests.

TBR=magjed@webrtc.org
Original change's description:
> Add bindings for simulcast and RIDs in Android SDK.
>
> This adds the bindings for rid in RtpParameters.Encoding and bindings
> for send_encodings in RtpTransceiverInit to allow creating a transceiver
> with multiple send encodings.
>
> Bug: webrtc:10464
> Change-Id: I4c205dc0f466768c63b7efcb3c68e93277236da0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128960
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27323}

Bug: webrtc:10464
Change-Id: I95fac3967217c20a9fdddb490aea30eca2061ef0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130362
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27402}
This commit is contained in:
Amit Hilbuch
2019-03-29 14:02:42 -07:00
committed by Commit Bot
parent 98e9f29ff0
commit ae4b62318d
5 changed files with 80 additions and 4 deletions

View File

@ -24,7 +24,8 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpEncodingParameter(
JNIEnv* env,
const RtpEncodingParameters& encoding) {
return Java_Encoding_Constructor(
env, encoding.active, NativeToJavaInteger(env, encoding.max_bitrate_bps),
env, NativeToJavaString(env, encoding.rid), encoding.active,
NativeToJavaInteger(env, encoding.max_bitrate_bps),
NativeToJavaInteger(env, encoding.min_bitrate_bps),
NativeToJavaInteger(env, encoding.max_framerate),
NativeToJavaInteger(env, encoding.num_temporal_layers),
@ -64,6 +65,11 @@ RtpEncodingParameters JavaToNativeRtpEncodingParameters(
JNIEnv* jni,
const JavaRef<jobject>& j_encoding_parameters) {
RtpEncodingParameters encoding;
ScopedJavaLocalRef<jstring> j_rid =
Java_Encoding_getRid(jni, j_encoding_parameters);
if (!IsNull(jni, j_rid)) {
encoding.rid = JavaToNativeString(jni, j_rid);
}
encoding.active = Java_Encoding_getActive(jni, j_encoding_parameters);
ScopedJavaLocalRef<jobject> j_max_bitrate =
Java_Encoding_getMaxBitrateBps(jni, j_encoding_parameters);

View File

@ -48,6 +48,12 @@ RtpTransceiverInit JavaToNativeRtpTransceiverInit(
Java_RtpTransceiverInit_getStreamIds(jni, j_init);
init.stream_ids = JavaListToNativeVector<std::string, jstring>(
jni, j_stream_ids, &JavaToNativeString);
// Convert the send encodings.
ScopedJavaLocalRef<jobject> j_send_encodings =
Java_RtpTransceiverInit_getSendEncodings(jni, j_init);
init.send_encodings = JavaListToNativeVector<RtpEncodingParameters, jobject>(
jni, j_send_encodings, &JavaToNativeRtpEncodingParameters);
return init;
}