Make WebRTC compatible with changes introduced in https://crbug.com/1428304 Bug: chromium:1428304 Change-Id: I464a09545dc3a158ea4108bb63c7b8c4a05adc6b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300263 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Andrey Logvin <landrey@webrtc.org> Reviewed-by: Xavier Lepaul <xalep@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39763}
78 lines
3.2 KiB
Java
78 lines
3.2 KiB
Java
/*
|
|
* Copyright 2020 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
package org.webrtc;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertNull;
|
|
import static org.junit.Assert.assertTrue;
|
|
import static org.mockito.Mockito.mock;
|
|
|
|
import androidx.test.InstrumentationRegistry;
|
|
import androidx.test.filters.SmallTest;
|
|
import java.util.Arrays;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.webrtc.RtpParameters.DegradationPreference;
|
|
|
|
/** Unit-tests for {@link RtpSender}. */
|
|
public class RtpSenderTest {
|
|
private PeerConnectionFactory factory;
|
|
private PeerConnection pc;
|
|
|
|
@Before
|
|
public void setUp() {
|
|
PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions
|
|
.builder(InstrumentationRegistry.getTargetContext())
|
|
.setNativeLibraryName(TestConstants.NATIVE_LIBRARY)
|
|
.createInitializationOptions());
|
|
|
|
factory = PeerConnectionFactory.builder().createPeerConnectionFactory();
|
|
|
|
PeerConnection.RTCConfiguration config = new PeerConnection.RTCConfiguration(Arrays.asList());
|
|
// RtpTranceiver is part of new unified plan semantics.
|
|
config.sdpSemantics = PeerConnection.SdpSemantics.UNIFIED_PLAN;
|
|
pc = factory.createPeerConnection(config, mock(PeerConnection.Observer.class));
|
|
}
|
|
|
|
/** Test checking the enum values for DegradationPreference stay consistent */
|
|
@Test
|
|
@SmallTest
|
|
public void testSetDegradationPreference() throws Exception {
|
|
RtpTransceiver transceiver = pc.addTransceiver(MediaStreamTrack.MediaType.MEDIA_TYPE_VIDEO);
|
|
RtpSender sender = transceiver.getSender();
|
|
|
|
RtpParameters parameters = sender.getParameters();
|
|
assertNotNull(parameters);
|
|
assertNull(parameters.degradationPreference);
|
|
|
|
parameters.degradationPreference = DegradationPreference.MAINTAIN_FRAMERATE;
|
|
assertTrue(sender.setParameters(parameters));
|
|
parameters = sender.getParameters();
|
|
assertEquals(DegradationPreference.MAINTAIN_FRAMERATE, parameters.degradationPreference);
|
|
|
|
parameters.degradationPreference = DegradationPreference.MAINTAIN_RESOLUTION;
|
|
assertTrue(sender.setParameters(parameters));
|
|
parameters = sender.getParameters();
|
|
assertEquals(DegradationPreference.MAINTAIN_RESOLUTION, parameters.degradationPreference);
|
|
|
|
parameters.degradationPreference = DegradationPreference.BALANCED;
|
|
assertTrue(sender.setParameters(parameters));
|
|
parameters = sender.getParameters();
|
|
assertEquals(DegradationPreference.BALANCED, parameters.degradationPreference);
|
|
|
|
parameters.degradationPreference = DegradationPreference.DISABLED;
|
|
assertTrue(sender.setParameters(parameters));
|
|
parameters = sender.getParameters();
|
|
assertEquals(DegradationPreference.DISABLED, parameters.degradationPreference);
|
|
}
|
|
}
|