Commit 45e860d3 authored by Jakob Ivarsson's avatar Jakob Ivarsson Committed by Commit Bot

Add rtcAudioJitterBufferMinDelayMs WebRTC configuration option under origin trial

Experiment discussion:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/hE2B1iItPDk

Bug: chromium:904764
Change-Id: Ifaa3df3dffaa9266f55a36840b9f26b323e50478
Reviewed-on: https://chromium-review.googlesource.com/c/1352752
Commit-Queue: Jakob Ivarsson <jakobi@google.com>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611713}
parent f654a8f5
......@@ -50,5 +50,6 @@ dictionary RTCConfiguration {
[RuntimeEnabled=RTCUnifiedPlan] SdpSemantics sdpSemantics;
[OriginTrialEnabled=RtcAudioJitterBufferMaxPackets] long rtcAudioJitterBufferMaxPackets;
[OriginTrialEnabled=RtcAudioJitterBufferMaxPackets] boolean rtcAudioJitterBufferFastAccelerate;
[OriginTrialEnabled=RtcAudioJitterBufferMaxPackets] long rtcAudioJitterBufferMinDelayMs;
};
......@@ -426,6 +426,12 @@ webrtc::PeerConnectionInterface::RTCConfiguration ParseConfiguration(
configuration->hasRtcAudioJitterBufferFastAccelerate();
}
if (configuration->hasRtcAudioJitterBufferMinDelayMs()) {
UseCounter::Count(context, WebFeature::kRTCMaxAudioBufferSize);
web_configuration.audio_jitter_buffer_min_delay_ms =
static_cast<int>(configuration->rtcAudioJitterBufferMinDelayMs());
}
return web_configuration;
}
......@@ -1394,6 +1400,10 @@ RTCConfiguration* RTCPeerConnection::getConfiguration(
static_cast<int32_t>(audio_jitter_buffer_max_packets));
result->setRtcAudioJitterBufferFastAccelerate(
webrtc_configuration.audio_jitter_buffer_fast_accelerate);
int audio_jitter_buffer_min_delay_ms =
webrtc_configuration.audio_jitter_buffer_min_delay_ms;
result->setRtcAudioJitterBufferMinDelayMs(
static_cast<int32_t>(audio_jitter_buffer_min_delay_ms));
}
return result;
......
......@@ -9,10 +9,10 @@ generate_token.py http://127.0.0.1:8000 RtcAudioJitterBufferMaxPackets --expire-
<script src="/resources/testharnessreport.js"></script>
<script>
test(t => {
var peerconnection = new RTCPeerConnection({
let peerconnection = new RTCPeerConnection({
rtcAudioJitterBufferMaxPackets: 79
});
var configuration = peerconnection.getConfiguration();
let configuration = peerconnection.getConfiguration();
assert_true(
configuration.rtcAudioJitterBufferMaxPackets === 79,
'rtcAudioJitterBufferMaxPackets equals passed values'
......@@ -20,14 +20,25 @@ test(t => {
}, 'rtcAudioJitterBufferMaxPackets property in Origin-Trial enabled document.');
test(t => {
var peerconnection = new RTCPeerConnection({
let peerconnection = new RTCPeerConnection({
rtcAudioJitterBufferFastAccelerate: true
});
var configuration = peerconnection.getConfiguration();
let configuration = peerconnection.getConfiguration();
assert_true(
configuration.rtcAudioJitterBufferFastAccelerate,
'rtcAudioJitterBufferFastAccelerate equals passed values'
);
}, 'rtcAudioJitterBufferFastAccelerate property in Origin-Trial enabled document.');
test(t => {
let peerconnection = new RTCPeerConnection({
rtcAudioJitterBufferMinDelayMs: 20
});
let configuration = peerconnection.getConfiguration();
assert_true(
configuration.rtcAudioJitterBufferMinDelayMs === 20,
'rtcAudioJitterBufferMinDelayMs equals passed values'
);
}, 'rtcAudioJitterBufferMinDelayMs property in Origin-Trial enabled document.');
</script>
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