Commit 2517b4c3 authored by Florent Castelli's avatar Florent Castelli Committed by Commit Bot

webrtc: Don't show empty rid values and remove obsolete parameters

Bug: 803494
Change-Id: I8e2997bae643f2b5f2f4ae82a3aff8496dd25483
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2002573
Commit-Queue: Florent Castelli <orphis@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: default avatarHenrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#732411}
parent 627e2c53
...@@ -12,12 +12,9 @@ enum RTCPriorityType { ...@@ -12,12 +12,9 @@ enum RTCPriorityType {
// https://w3c.github.io/webrtc-pc/#rtcrtpencodingparameters* // https://w3c.github.io/webrtc-pc/#rtcrtpencodingparameters*
dictionary RTCRtpEncodingParameters : RTCRtpCodingParameters { dictionary RTCRtpEncodingParameters : RTCRtpCodingParameters {
//TODO(orphis): Missing codecPayloadType. https://crbug.com/857042
//TODO(orphis): Missing dtx. https://crbug.com/857044
boolean active = true; boolean active = true;
RTCPriorityType priority = "low"; RTCPriorityType priority = "low";
RTCPriorityType networkPriority = "low"; RTCPriorityType networkPriority = "low";
//TODO(orphis): Missing ptime. https://crbug.com/857046
unsigned long maxBitrate; unsigned long maxBitrate;
//TODO(orphis): Missing maxFramerate. https://crbug.com/857047 //TODO(orphis): Missing maxFramerate. https://crbug.com/857047
double scaleResolutionDownBy; double scaleResolutionDownBy;
......
...@@ -265,8 +265,7 @@ ToRtpParameters(const RTCRtpSendParameters* parameters) { ...@@ -265,8 +265,7 @@ ToRtpParameters(const RTCRtpSendParameters* parameters) {
webrtc::RtpEncodingParameters ToRtpEncodingParameters( webrtc::RtpEncodingParameters ToRtpEncodingParameters(
const RTCRtpEncodingParameters* encoding) { const RTCRtpEncodingParameters* encoding) {
// TODO(orphis): Forward missing fields from the WebRTC library: // TODO(orphis): Forward missing field: maxFramerate.
// codecPayloadType, dtx, ptime, maxFramerate, scaleResolutionDownBy.
webrtc::RtpEncodingParameters webrtc_encoding; webrtc::RtpEncodingParameters webrtc_encoding;
if (encoding->hasRid()) { if (encoding->hasRid()) {
webrtc_encoding.rid = encoding->rid().Utf8(); webrtc_encoding.rid = encoding->rid().Utf8();
...@@ -375,8 +374,7 @@ ScriptPromise RTCRtpSender::replaceTrack(ScriptState* script_state, ...@@ -375,8 +374,7 @@ ScriptPromise RTCRtpSender::replaceTrack(ScriptState* script_state,
RTCRtpSendParameters* RTCRtpSender::getParameters() { RTCRtpSendParameters* RTCRtpSender::getParameters() {
RTCRtpSendParameters* parameters = RTCRtpSendParameters::Create(); RTCRtpSendParameters* parameters = RTCRtpSendParameters::Create();
// TODO(orphis): Forward missing fields from the WebRTC library: // TODO(orphis): Forward missing field: degradationPreference
// degradationPreference
std::unique_ptr<webrtc::RtpParameters> webrtc_parameters = std::unique_ptr<webrtc::RtpParameters> webrtc_parameters =
sender_->GetParameters(); sender_->GetParameters();
...@@ -391,10 +389,11 @@ RTCRtpSendParameters* RTCRtpSender::getParameters() { ...@@ -391,10 +389,11 @@ RTCRtpSendParameters* RTCRtpSender::getParameters() {
encodings.ReserveCapacity( encodings.ReserveCapacity(
SafeCast<wtf_size_t>(webrtc_parameters->encodings.size())); SafeCast<wtf_size_t>(webrtc_parameters->encodings.size()));
for (const auto& webrtc_encoding : webrtc_parameters->encodings) { for (const auto& webrtc_encoding : webrtc_parameters->encodings) {
// TODO(orphis): Forward missing fields from the WebRTC library: // TODO(orphis): Forward missing field: maxFramerate.
// codecPayloadType, dtx, ptime, maxFramerate, scaleResolutionDownBy.
RTCRtpEncodingParameters* encoding = RTCRtpEncodingParameters::Create(); RTCRtpEncodingParameters* encoding = RTCRtpEncodingParameters::Create();
encoding->setRid(String::FromUTF8(webrtc_encoding.rid)); if (!webrtc_encoding.rid.empty()) {
encoding->setRid(String::FromUTF8(webrtc_encoding.rid));
}
encoding->setActive(webrtc_encoding.active); encoding->setActive(webrtc_encoding.active);
if (webrtc_encoding.max_bitrate_bps) { if (webrtc_encoding.max_bitrate_bps) {
encoding->setMaxBitrate(webrtc_encoding.max_bitrate_bps.value()); encoding->setMaxBitrate(webrtc_encoding.max_bitrate_bps.value());
......
This is a testharness.js-based test. This is a testharness.js-based test.
PASS addTransceiver() with undefined sendEncodings should have default encoding parameter with active set to true PASS addTransceiver() with undefined sendEncodings should have default encoding parameter with active set to true
PASS addTransceiver() with empty list sendEncodings should have default encoding parameter with active set to true PASS addTransceiver() with empty list sendEncodings should have default encoding parameter with active set to true
FAIL sender.getParameters() should return sendEncodings set by addTransceiver() promise_test: Unhandled rejection with value: object "InvalidAccessError: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Failed to set remote audio description send parameters." FAIL sender.getParameters() should return sendEncodings set by addTransceiver() assert_equals: expected (number) 25 but got (undefined) undefined
PASS sender.setParameters() with mismatch number of encodings should reject with InvalidModificationError PASS sender.setParameters() with mismatch number of encodings should reject with InvalidModificationError
PASS sender.setParameters() with encodings unset should reject with TypeError PASS sender.setParameters() with encodings unset should reject with TypeError
PASS setParameters() with modified encoding.rid field should reject with InvalidModificationError PASS setParameters() with modified encoding.rid field should reject with InvalidModificationError
PASS setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError PASS setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError
PASS setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed PASS setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed
FAIL setParameters() with modified encoding.dtx should succeed with RTCRtpTransceiverInit assert_equals: expected (string) "enabled" but got (undefined) undefined
FAIL setParameters() with modified encoding.dtx should succeed without RTCRtpTransceiverInit assert_equals: expected (string) "enabled" but got (undefined) undefined
FAIL setParameters() with unset encoding.dtx should succeed with RTCRtpTransceiverInit assert_equals: expected (string) "enabled" but got (undefined) undefined
FAIL setParameters() with unset encoding.dtx should succeed without RTCRtpTransceiverInit assert_equals: expected (string) "enabled" but got (undefined) undefined
PASS setParameters() with modified encoding.active should succeed with RTCRtpTransceiverInit PASS setParameters() with modified encoding.active should succeed with RTCRtpTransceiverInit
PASS setParameters() with modified encoding.active should succeed without RTCRtpTransceiverInit PASS setParameters() with modified encoding.active should succeed without RTCRtpTransceiverInit
PASS setParameters() with modified encoding.priority should succeed with RTCRtpTransceiverInit PASS setParameters() with modified encoding.priority should succeed with RTCRtpTransceiverInit
PASS setParameters() with modified encoding.priority should succeed without RTCRtpTransceiverInit PASS setParameters() with modified encoding.priority should succeed without RTCRtpTransceiverInit
PASS setParameters() with modified encoding.networkPriority should succeed with RTCRtpTransceiverInit PASS setParameters() with modified encoding.networkPriority should succeed with RTCRtpTransceiverInit
PASS setParameters() with modified encoding.networkPriority should succeed without RTCRtpTransceiverInit PASS setParameters() with modified encoding.networkPriority should succeed without RTCRtpTransceiverInit
FAIL setParameters() with modified encoding.ptime should succeed with RTCRtpTransceiverInit assert_equals: expected (number) 2 but got (undefined) undefined
FAIL setParameters() with modified encoding.ptime should succeed without RTCRtpTransceiverInit assert_equals: expected (number) 2 but got (undefined) undefined
PASS setParameters() with modified encoding.maxBitrate should succeed with RTCRtpTransceiverInit PASS setParameters() with modified encoding.maxBitrate should succeed with RTCRtpTransceiverInit
PASS setParameters() with modified encoding.maxBitrate should succeed without RTCRtpTransceiverInit PASS setParameters() with modified encoding.maxBitrate should succeed without RTCRtpTransceiverInit
FAIL setParameters() with modified encoding.maxFramerate should succeed with RTCRtpTransceiverInit assert_equals: expected (number) 24 but got (undefined) undefined FAIL setParameters() with modified encoding.maxFramerate should succeed with RTCRtpTransceiverInit assert_equals: expected (number) 24 but got (undefined) undefined
FAIL setParameters() with modified encoding.maxFramerate should succeed without RTCRtpTransceiverInit assert_equals: expected (number) 24 but got (undefined) undefined FAIL setParameters() with modified encoding.maxFramerate should succeed without RTCRtpTransceiverInit assert_equals: expected (number) 24 but got (undefined) undefined
PASS setParameters() with modified encoding.scaleResolutionDownBy should succeed with RTCRtpTransceiverInit
PASS setParameters() with modified encoding.scaleResolutionDownBy should succeed without RTCRtpTransceiverInit
Harness: the test ran to completion. Harness: the test ran to completion.
...@@ -45,11 +45,9 @@ ...@@ -45,11 +45,9 @@
}; };
dictionary RTCRtpEncodingParameters { dictionary RTCRtpEncodingParameters {
RTCDtxStatus dtx;
boolean active; boolean active;
RTCPriorityType priority; RTCPriorityType priority;
RTCPriorityType networkPriority; RTCPriorityType networkPriority;
unsigned long ptime;
unsigned long maxBitrate; unsigned long maxBitrate;
double maxFramerate; double maxFramerate;
...@@ -59,11 +57,6 @@ ...@@ -59,11 +57,6 @@
double scaleResolutionDownBy; double scaleResolutionDownBy;
}; };
enum RTCDtxStatus {
"disabled",
"enabled"
};
enum RTCPriorityType { enum RTCPriorityType {
"very-low", "very-low",
"low", "low",
...@@ -142,13 +135,11 @@ ...@@ -142,13 +135,11 @@
promise_test(async t => { promise_test(async t => {
const pc = new RTCPeerConnection(); const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close()); t.add_cleanup(() => pc.close());
const { sender } = pc.addTransceiver('audio', { const { sender } = pc.addTransceiver('video', {
sendEncodings: [{ sendEncodings: [{
dtx: 'enabled',
active: false, active: false,
priority: 'low', priority: 'low',
networkPriority: 'low', networkPriority: 'low',
ptime: 5,
maxBitrate: 8, maxBitrate: 8,
maxFramerate: 25, maxFramerate: 25,
rid: 'foo' rid: 'foo'
...@@ -160,14 +151,12 @@ ...@@ -160,14 +151,12 @@
validateSenderRtpParameters(param); validateSenderRtpParameters(param);
const encoding = getFirstEncoding(param); const encoding = getFirstEncoding(param);
assert_equals(encoding.dtx, 'enabled');
assert_equals(encoding.active, false); assert_equals(encoding.active, false);
assert_equals(encoding.priority, 'low'); assert_equals(encoding.priority, 'low');
assert_equals(encoding.networkPriority, 'low'); assert_equals(encoding.networkPriority, 'low');
assert_equals(encoding.ptime, 5);
assert_equals(encoding.maxBitrate, 8); assert_equals(encoding.maxBitrate, 8);
assert_equals(encoding.maxFramerate, 25); assert_equals(encoding.maxFramerate, 25);
assert_equals(encoding.rid, 'foo'); assert_not_own_property(encoding, "rid", "rid should be removed with a single encoding");
}, `sender.getParameters() should return sendEncodings set by addTransceiver()`); }, `sender.getParameters() should return sendEncodings set by addTransceiver()`);
...@@ -260,7 +249,7 @@ ...@@ -260,7 +249,7 @@
promise_test(async t => { promise_test(async t => {
const pc = new RTCPeerConnection(); const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close()); t.add_cleanup(() => pc.close());
const { sender } = pc.addTransceiver('audio'); const { sender } = pc.addTransceiver('video');
await doOfferAnswerExchange(t, pc); await doOfferAnswerExchange(t, pc);
const param = sender.getParameters(); const param = sender.getParameters();
...@@ -330,12 +319,6 @@ ...@@ -330,12 +319,6 @@
}, desc + ' without RTCRtpTransceiverInit'); }, desc + ' without RTCRtpTransceiverInit');
} }
test_modified_encoding('audio', 'dtx', 'enabled', 'disabled',
'setParameters() with modified encoding.dtx should succeed');
test_modified_encoding('audio', 'dtx', 'enabled', undefined,
'setParameters() with unset encoding.dtx should succeed');
test_modified_encoding('audio', 'active', false, true, test_modified_encoding('audio', 'active', false, true,
'setParameters() with modified encoding.active should succeed'); 'setParameters() with modified encoding.active should succeed');
...@@ -345,13 +328,13 @@ ...@@ -345,13 +328,13 @@
test_modified_encoding('audio', 'networkPriority', 'very-low', 'high', test_modified_encoding('audio', 'networkPriority', 'very-low', 'high',
'setParameters() with modified encoding.networkPriority should succeed'); 'setParameters() with modified encoding.networkPriority should succeed');
test_modified_encoding('audio', 'ptime', 2, 4,
'setParameters() with modified encoding.ptime should succeed');
test_modified_encoding('audio', 'maxBitrate', 10000, 20000, test_modified_encoding('audio', 'maxBitrate', 10000, 20000,
'setParameters() with modified encoding.maxBitrate should succeed'); 'setParameters() with modified encoding.maxBitrate should succeed');
test_modified_encoding('video', 'maxFramerate', 24, 16, test_modified_encoding('video', 'maxFramerate', 24, 16,
'setParameters() with modified encoding.maxFramerate should succeed'); 'setParameters() with modified encoding.maxFramerate should succeed');
test_modified_encoding('video', 'scaleResolutionDownBy', 2, 4,
'setParameters() with modified encoding.scaleResolutionDownBy should succeed');
</script> </script>
...@@ -84,11 +84,9 @@ function verifySenderParameters(parameters, kind) { ...@@ -84,11 +84,9 @@ function verifySenderParameters(parameters, kind) {
assert_greater_than(parameters.encodings.length, 0); assert_greater_than(parameters.encodings.length, 0);
for(let encoding of parameters.encodings) { for(let encoding of parameters.encodings) {
assert_false(encoding.hasOwnProperty("codecPayloadType"), "unset codecPayloadType"); assert_false(encoding.hasOwnProperty("codecPayloadType"), "unset codecPayloadType");
assert_false(encoding.hasOwnProperty("dtx"), "unset dtx"); assert_not_own_property(encoding, "rid");
assert_equals(encoding.rid, '');
assert_true(encoding.active); assert_true(encoding.active);
assert_equals(encoding.priority, "low"); assert_equals(encoding.priority, "low");
assert_false(encoding.hasOwnProperty("ptime"), "unset ptime");
assert_false(encoding.hasOwnProperty("maxBitrate"), "unset maxBitrate"); assert_false(encoding.hasOwnProperty("maxBitrate"), "unset maxBitrate");
assert_false(encoding.hasOwnProperty("maxFramerate"), "unset maxFramerate"); assert_false(encoding.hasOwnProperty("maxFramerate"), "unset maxFramerate");
assert_false(encoding.hasOwnProperty("scaleResolutionDownBy"), "unset scaleResolutionDownBy"); assert_false(encoding.hasOwnProperty("scaleResolutionDownBy"), "unset scaleResolutionDownBy");
......
...@@ -7,21 +7,17 @@ FAIL sender.setParameters() with encodings unset should reject with TypeError pr ...@@ -7,21 +7,17 @@ FAIL sender.setParameters() with encodings unset should reject with TypeError pr
FAIL setParameters() with modified encoding.rid field should reject with InvalidModificationError promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.rid field should reject with InvalidModificationError promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.dtx should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.dtx should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with unset encoding.dtx should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with unset encoding.dtx should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.active should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.active should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.active should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.active should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.priority should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.priority should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.priority should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.priority should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.networkPriority should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.networkPriority should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.networkPriority should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.networkPriority should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.ptime should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.ptime should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.maxBitrate should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.maxBitrate should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.maxBitrate should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.maxBitrate should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.maxFramerate should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.maxFramerate should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.maxFramerate should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'." FAIL setParameters() with modified encoding.maxFramerate should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.scaleResolutionDownBy should succeed with RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
FAIL setParameters() with modified encoding.scaleResolutionDownBy should succeed without RTCRtpTransceiverInit promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'."
Harness: the test ran to completion. Harness: the test ran to completion.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment