Add HeaderExtensions to RtpParameters

Bug: webrtc:7580
Change-Id: I4fcf3e8bc4975a6b2baa6f24a17c254d2bf521d9
Reviewed-on: https://webrtc-review.googlesource.com/78288
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23584}
This commit is contained in:
Florent Castelli
2018-06-12 18:33:49 +02:00
committed by Commit Bot
parent 867e510ef5
commit abe301fe6c
17 changed files with 285 additions and 20 deletions

View File

@ -47,6 +47,14 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpRtcpParameters(
rtcp.reduced_size);
}
ScopedJavaLocalRef<jobject> NativeToJavaRtpHeaderExtensionParameter(
JNIEnv* env,
const RtpExtension& extension) {
return Java_HeaderExtension_Constructor(
env, NativeToJavaString(env, extension.uri), extension.id,
extension.encrypt);
}
} // namespace
RtpEncodingParameters JavaToNativeRtpEncodingParameters(
@ -82,6 +90,19 @@ RtpParameters JavaToNativeRtpParameters(JNIEnv* jni,
parameters.rtcp.cname = JavaToNativeString(jni, j_rtcp_cname);
parameters.rtcp.reduced_size = j_rtcp_reduced_size;
ScopedJavaLocalRef<jobject> j_header_extensions =
Java_RtpParameters_getHeaderExtensions(jni, j_parameters);
for (const JavaRef<jobject>& j_header_extension :
Iterable(jni, j_header_extensions)) {
RtpExtension header_extension;
header_extension.uri = JavaToStdString(
jni, Java_HeaderExtension_getUri(jni, j_header_extension));
header_extension.id = Java_HeaderExtension_getId(jni, j_header_extension);
header_extension.encrypt =
Java_HeaderExtension_getEncrypted(jni, j_header_extension);
parameters.header_extensions.push_back(header_extension);
}
// Convert encodings.
ScopedJavaLocalRef<jobject> j_encodings =
Java_RtpParameters_getEncodings(jni, j_parameters);
@ -118,6 +139,8 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpParameters(
return Java_RtpParameters_Constructor(
env, NativeToJavaString(env, parameters.transaction_id),
NativeToJavaRtpRtcpParameters(env, parameters.rtcp),
NativeToJavaList(env, parameters.header_extensions,
&NativeToJavaRtpHeaderExtensionParameter),
NativeToJavaList(env, parameters.encodings,
&NativeToJavaRtpEncodingParameter),
NativeToJavaList(env, parameters.codecs, &NativeToJavaRtpCodecParameter));