Android: Add maxFramerate to RtpParameters.
Bug: webrtc:9597 Change-Id: I1049b66860abbd69c4822756dee452b0db459ed4 Reviewed-on: https://webrtc-review.googlesource.com/91440 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Commit-Queue: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24789}
This commit is contained in:
@ -34,17 +34,21 @@ public class RtpParameters {
|
||||
// Specific maximum bandwidth defined in RFC3890. If null, there is no
|
||||
// maximum bitrate.
|
||||
@Nullable public Integer maxBitrateBps;
|
||||
// Not implemented.
|
||||
// The minimum bitrate in bps for video.
|
||||
@Nullable public Integer minBitrateBps;
|
||||
// The max framerate in fps for video.
|
||||
@Nullable public Integer maxFramerate;
|
||||
// SSRC to be used by this encoding.
|
||||
// Can't be changed between getParameters/setParameters.
|
||||
public Long ssrc;
|
||||
|
||||
@CalledByNative("Encoding")
|
||||
Encoding(boolean active, Integer maxBitrateBps, Integer minBitrateBps, Long ssrc) {
|
||||
Encoding(boolean active, Integer maxBitrateBps, Integer minBitrateBps, Integer maxFramerate,
|
||||
Long ssrc) {
|
||||
this.active = active;
|
||||
this.maxBitrateBps = maxBitrateBps;
|
||||
this.minBitrateBps = minBitrateBps;
|
||||
this.maxFramerate = maxFramerate;
|
||||
this.ssrc = ssrc;
|
||||
}
|
||||
|
||||
@ -65,6 +69,12 @@ public class RtpParameters {
|
||||
return minBitrateBps;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@CalledByNative("Encoding")
|
||||
Integer getMaxFramerate() {
|
||||
return maxFramerate;
|
||||
}
|
||||
|
||||
@CalledByNative("Encoding")
|
||||
Long getSsrc() {
|
||||
return ssrc;
|
||||
|
@ -854,9 +854,11 @@ public class PeerConnectionTest {
|
||||
assertEquals(1, rtpParameters.encodings.size());
|
||||
assertNull(rtpParameters.encodings.get(0).maxBitrateBps);
|
||||
assertNull(rtpParameters.encodings.get(0).minBitrateBps);
|
||||
assertNull(rtpParameters.encodings.get(0).maxFramerate);
|
||||
|
||||
rtpParameters.encodings.get(0).maxBitrateBps = 300000;
|
||||
rtpParameters.encodings.get(0).minBitrateBps = 100000;
|
||||
rtpParameters.encodings.get(0).maxFramerate = 20;
|
||||
assertTrue(videoSender.setParameters(rtpParameters));
|
||||
|
||||
// Create a DTMF sender.
|
||||
@ -869,6 +871,7 @@ public class PeerConnectionTest {
|
||||
rtpParameters = videoSender.getParameters();
|
||||
assertEquals(300000, (int) rtpParameters.encodings.get(0).maxBitrateBps);
|
||||
assertEquals(100000, (int) rtpParameters.encodings.get(0).minBitrateBps);
|
||||
assertEquals(20, (int) rtpParameters.encodings.get(0).maxFramerate);
|
||||
|
||||
// Test send & receive UTF-8 text.
|
||||
answeringExpectations.expectMessage(
|
||||
|
@ -26,6 +26,7 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpEncodingParameter(
|
||||
return Java_Encoding_Constructor(
|
||||
env, encoding.active, NativeToJavaInteger(env, encoding.max_bitrate_bps),
|
||||
NativeToJavaInteger(env, encoding.min_bitrate_bps),
|
||||
NativeToJavaInteger(env, encoding.max_framerate),
|
||||
encoding.ssrc ? NativeToJavaLong(env, *encoding.ssrc) : nullptr);
|
||||
}
|
||||
|
||||
@ -68,6 +69,9 @@ RtpEncodingParameters JavaToNativeRtpEncodingParameters(
|
||||
ScopedJavaLocalRef<jobject> j_min_bitrate =
|
||||
Java_Encoding_getMinBitrateBps(jni, j_encoding_parameters);
|
||||
encoding.min_bitrate_bps = JavaToNativeOptionalInt(jni, j_min_bitrate);
|
||||
ScopedJavaLocalRef<jobject> j_max_framerate =
|
||||
Java_Encoding_getMaxFramerate(jni, j_encoding_parameters);
|
||||
encoding.max_framerate = JavaToNativeOptionalInt(jni, j_max_framerate);
|
||||
ScopedJavaLocalRef<jobject> j_ssrc =
|
||||
Java_Encoding_getSsrc(jni, j_encoding_parameters);
|
||||
if (!IsNull(jni, j_ssrc))
|
||||
|
Reference in New Issue
Block a user