Implement RtpParameters.transaction_id for PC RtpSenderInterface

The transaction_id field should be refreshed for every getParameters()
call and checked at each setParameters() call.
This also checks that getParameters() was ever called to return a proper
error code.

Bug: webrtc:7580
Change-Id: I6c6fe289542e486fc422cdc61577982b0529d4c1
Reviewed-on: https://webrtc-review.googlesource.com/70820
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23120}
This commit is contained in:
Florent Castelli
2018-05-03 15:31:53 +02:00
committed by Commit Bot
parent e6256055e7
commit 5faf36ef3c
11 changed files with 197 additions and 21 deletions

View File

@ -59,6 +59,10 @@ RtpParameters JavaToNativeRtpParameters(JNIEnv* jni,
const JavaRef<jobject>& j_parameters) {
RtpParameters parameters;
ScopedJavaLocalRef<jstring> j_transaction_id =
Java_RtpParameters_getTransactionId(jni, j_parameters);
parameters.transaction_id = JavaToNativeString(jni, j_transaction_id);
// Convert encodings.
ScopedJavaLocalRef<jobject> j_encodings =
Java_RtpParameters_getEncodings(jni, j_parameters);
@ -90,7 +94,7 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpParameters(
JNIEnv* env,
const RtpParameters& parameters) {
return Java_RtpParameters_Constructor(
env,
env, NativeToJavaString(env, parameters.transaction_id),
NativeToJavaList(env, parameters.encodings,
&NativeToJavaRtpEncodingParameter),
NativeToJavaList(env, parameters.codecs, &NativeToJavaRtpCodecParameter));