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

This reverts commit 177670afd6d4aa414e4aa75983da538b7f350ee8.

Reason for revert: Fails android_instrumentation_test_apk:
https://ci.chromium.org/p/webrtc/builders/ci/Android64%20(M%20Nexus5X)/11553

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}

TBR=magjed@webrtc.org,shampson@webrtc.org,amithi@webrtc.org

Change-Id: Id6c4e2d41c3c2fbfad31baed907cfa73d82ef14a
No-Tree-Checks: True
No-Try: True
Bug: webrtc:10464
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130466
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27354}
This commit is contained in:
Oleh Prypin
2019-03-29 15:29:51 +00:00
committed by Commit Bot
parent d9b62d3228
commit e8bc3a0a5a
5 changed files with 4 additions and 78 deletions

View File

@ -12,7 +12,6 @@ package org.webrtc;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import java.lang.Double; import java.lang.Double;
import java.lang.String;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -29,9 +28,6 @@ import org.webrtc.MediaStreamTrack;
*/ */
public class RtpParameters { public class RtpParameters {
public static class Encoding { public static class Encoding {
// If non-null, this represents the RID that identifies this encoding layer.
// RIDs are used to identify layers in simulcast.
@Nullable public String rid;
// Set to true to cause this encoding to be sent, and false for it not to // Set to true to cause this encoding to be sent, and false for it not to
// be sent. // be sent.
public boolean active = true; public boolean active = true;
@ -52,17 +48,9 @@ public class RtpParameters {
// Can't be changed between getParameters/setParameters. // Can't be changed between getParameters/setParameters.
public Long ssrc; public Long ssrc;
// This constructor is useful for creating simulcast layers.
Encoding(String rid, boolean active, Double scaleResolutionDownBy) {
this.rid = rid;
this.active = active;
this.scaleResolutionDownBy = scaleResolutionDownBy;
}
@CalledByNative("Encoding") @CalledByNative("Encoding")
Encoding(String rid, boolean active, Integer maxBitrateBps, Integer minBitrateBps, Encoding(boolean active, Integer maxBitrateBps, Integer minBitrateBps, Integer maxFramerate,
Integer maxFramerate, Integer numTemporalLayers, Double scaleResolutionDownBy, Long ssrc) { Integer numTemporalLayers, Double scaleResolutionDownBy, Long ssrc) {
this.rid = rid;
this.active = active; this.active = active;
this.maxBitrateBps = maxBitrateBps; this.maxBitrateBps = maxBitrateBps;
this.minBitrateBps = minBitrateBps; this.minBitrateBps = minBitrateBps;
@ -72,12 +60,6 @@ public class RtpParameters {
this.ssrc = ssrc; this.ssrc = ssrc;
} }
@Nullable
@CalledByNative("Encoding")
String getRid() {
return rid;
}
@CalledByNative("Encoding") @CalledByNative("Encoding")
boolean getActive() { boolean getActive() {
return active; return active;

View File

@ -14,7 +14,6 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import org.webrtc.MediaStreamTrack; import org.webrtc.MediaStreamTrack;
import org.webrtc.RtpParameters;
/** /**
* Java wrapper for a C++ RtpTransceiverInterface. * Java wrapper for a C++ RtpTransceiverInterface.
@ -72,25 +71,18 @@ public class RtpTransceiver {
public static final class RtpTransceiverInit { public static final class RtpTransceiverInit {
private final RtpTransceiverDirection direction; private final RtpTransceiverDirection direction;
private final List<String> streamIds; private final List<String> streamIds;
private final List<RtpParameters.Encoding> sendEncodings;
public RtpTransceiverInit() { public RtpTransceiverInit() {
this(RtpTransceiverDirection.SEND_RECV); this(RtpTransceiverDirection.SEND_RECV);
} }
public RtpTransceiverInit(RtpTransceiverDirection direction) { public RtpTransceiverInit(RtpTransceiverDirection direction) {
this(direction, Collections.emptyList(), Collections.emptyList()); this(direction, Collections.emptyList());
} }
public RtpTransceiverInit(RtpTransceiverDirection direction, List<String> streamIds) { public RtpTransceiverInit(RtpTransceiverDirection direction, List<String> streamIds) {
this(direction, streamIds, Collections.emptyList());
}
public RtpTransceiverInit(RtpTransceiverDirection direction, List<String> streamIds,
List<RtpParameters.Encoding> sendEncodings) {
this.direction = direction; this.direction = direction;
this.streamIds = new ArrayList<String>(streamIds); this.streamIds = new ArrayList<String>(streamIds);
this.sendEncodings = new ArrayList<RtpParameters.Encoding>(sendEncodings);
} }
@CalledByNative("RtpTransceiverInit") @CalledByNative("RtpTransceiverInit")
@ -102,11 +94,6 @@ public class RtpTransceiver {
List<String> getStreamIds() { List<String> getStreamIds() {
return new ArrayList<String>(this.streamIds); return new ArrayList<String>(this.streamIds);
} }
@CalledByNative("RtpTransceiverInit")
List<RtpParameters.Encoding> getSendEncodings() {
return new ArrayList<RtpParameters.Encoding>(this.sendEncodings);
}
} }
private long nativeRtpTransceiver; private long nativeRtpTransceiver;

View File

@ -31,7 +31,6 @@ import java.nio.charset.Charset;
import java.util.ArrayDeque; import java.util.ArrayDeque;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.IdentityHashMap; import java.util.IdentityHashMap;
import java.util.List; import java.util.List;
@ -51,10 +50,6 @@ import org.webrtc.PeerConnection.IceGatheringState;
import org.webrtc.PeerConnection.PeerConnectionState; import org.webrtc.PeerConnection.PeerConnectionState;
import org.webrtc.PeerConnection.SignalingState; import org.webrtc.PeerConnection.SignalingState;
import org.webrtc.PeerConnection.TlsCertPolicy; import org.webrtc.PeerConnection.TlsCertPolicy;
import org.webrtc.RtpParameters;
import org.webrtc.RtpParameters.Encoding;
import org.webrtc.RtpTransceiver;
import org.webrtc.RtpTransceiver.RtpTransceiverInit;
/** End-to-end tests for PeerConnection.java. */ /** End-to-end tests for PeerConnection.java. */
@RunWith(BaseJUnit4ClassRunner.class) @RunWith(BaseJUnit4ClassRunner.class)
@ -837,31 +832,6 @@ public class PeerConnectionTest {
assertNotNull(offeringPC); assertNotNull(offeringPC);
} }
// Test that RIDs get set in the RTP sender when passed in through an RtpTransceiverInit.
@Test
@SmallTest
public void testSetRidInSimulcast() throws Exception {
PeerConnectionFactory factory = PeerConnectionFactory.builder().createPeerConnectionFactory();
PeerConnection.RTCConfiguration config = new PeerConnection.RTCConfiguration(Arrays.asList());
ObserverExpectations expectations = new ObserverExpectations("PCTest:simulcast_rids");
PeerConnection pc = factory.createPeerConnection(config, expectations);
List<Encoding> encodings = new ArrayList<Encoding>();
encodings.add(new Encoding("F", true, null));
encodings.add(new Encoding("H", true, null));
RtpTransceiverInit init = new RtpTransceiverInit(
RtpTransceiver.RtpTransceiverDirection.SEND_ONLY, Collections.emptyList(), encodings);
RtpTransceiver transceiver =
pc.addTransceiver(MediaStreamTrack.MediaType.MEDIA_TYPE_VIDEO, init);
RtpSender sender = transceiver.getSender();
RtpParameters parameters = sender.getParameters();
assertNotNull(parameters);
List<Encoding> sendEncodings = parameters.getEncodings();
assertNotNull(sendEncodings);
assertEquals(2, sendEncodings.size());
assertEquals("F", sendEncodings.get(0).getRid());
assertEquals("H", sendEncodings.get(1).getRid());
}
@Test @Test
@MediumTest @MediumTest
public void testCompleteSession() throws Exception { public void testCompleteSession() throws Exception {
@ -1060,7 +1030,6 @@ public class PeerConnectionTest {
assertNull(rtpParameters.encodings.get(0).maxFramerate); assertNull(rtpParameters.encodings.get(0).maxFramerate);
assertNull(rtpParameters.encodings.get(0).numTemporalLayers); assertNull(rtpParameters.encodings.get(0).numTemporalLayers);
assertNull(rtpParameters.encodings.get(0).scaleResolutionDownBy); assertNull(rtpParameters.encodings.get(0).scaleResolutionDownBy);
assertNull(rtpParameters.encodings.get(0).rid);
rtpParameters.encodings.get(0).maxBitrateBps = 300000; rtpParameters.encodings.get(0).maxBitrateBps = 300000;
rtpParameters.encodings.get(0).minBitrateBps = 100000; rtpParameters.encodings.get(0).minBitrateBps = 100000;

View File

@ -24,8 +24,7 @@ ScopedJavaLocalRef<jobject> NativeToJavaRtpEncodingParameter(
JNIEnv* env, JNIEnv* env,
const RtpEncodingParameters& encoding) { const RtpEncodingParameters& encoding) {
return Java_Encoding_Constructor( return Java_Encoding_Constructor(
env, NativeToJavaString(env, encoding.rid), encoding.active, env, encoding.active, NativeToJavaInteger(env, encoding.max_bitrate_bps),
NativeToJavaInteger(env, encoding.max_bitrate_bps),
NativeToJavaInteger(env, encoding.min_bitrate_bps), NativeToJavaInteger(env, encoding.min_bitrate_bps),
NativeToJavaInteger(env, encoding.max_framerate), NativeToJavaInteger(env, encoding.max_framerate),
NativeToJavaInteger(env, encoding.num_temporal_layers), NativeToJavaInteger(env, encoding.num_temporal_layers),
@ -65,11 +64,6 @@ RtpEncodingParameters JavaToNativeRtpEncodingParameters(
JNIEnv* jni, JNIEnv* jni,
const JavaRef<jobject>& j_encoding_parameters) { const JavaRef<jobject>& j_encoding_parameters) {
RtpEncodingParameters encoding; 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); encoding.active = Java_Encoding_getActive(jni, j_encoding_parameters);
ScopedJavaLocalRef<jobject> j_max_bitrate = ScopedJavaLocalRef<jobject> j_max_bitrate =
Java_Encoding_getMaxBitrateBps(jni, j_encoding_parameters); Java_Encoding_getMaxBitrateBps(jni, j_encoding_parameters);

View File

@ -48,12 +48,6 @@ RtpTransceiverInit JavaToNativeRtpTransceiverInit(
Java_RtpTransceiverInit_getStreamIds(jni, j_init); Java_RtpTransceiverInit_getStreamIds(jni, j_init);
init.stream_ids = JavaListToNativeVector<std::string, jstring>( init.stream_ids = JavaListToNativeVector<std::string, jstring>(
jni, j_stream_ids, &JavaToNativeString); 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; return init;
} }