Skip to content

Commit 1db4e3b

Browse files
abobadalecurtis
authored andcommitted
Add bitrate mode selection
1 parent aa55239 commit 1db4e3b

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

samples/encode-decode-worker/index.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ <h2>WebCodecs in Worker</h2>
107107
<label for="quality">quality</label><br>
108108
</div>
109109

110+
<div id="bitButtons">
111+
<p>Bitrate mode:</p>
112+
<input type="radio" id="constant" name="bitPref" value="constant" onchange="getBitPrefValue(this)">
113+
<label for="constant">constant</label><br>
114+
<input type="radio" id="variable" name="bitPref" value="variable" checked="checked" onchange="getBitPrefValue(this)">
115+
<label for="variable">variable</label><br>
116+
</div>
117+
110118
<div id="modeButtons">
111119
<p>Scalability Mode:</p>
112120
<input type="radio" id="L1T1" name="mode" value="L1T1" onchange="getModeValue(this)">

samples/encode-decode-worker/js/main.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let mediaStream, bitrate = 3000000;
55
let stopped = false;
66
let preferredCodec ="VP8";
77
let mode = "L1T3";
8-
let latencyPref = "realtime";
8+
let latencyPref = "realtime", bitPref = "variable";
99
let hw = "no-preference";
1010
let streamWorker;
1111
let inputStream, outputStream;
@@ -116,6 +116,11 @@ function getPrefValue(radio) {
116116
addToEventLog('Latency preference selected: ' + latencyPref);
117117
}
118118

119+
function getBitPrefValue(radio) {
120+
bitPref = radio.value;
121+
addToEventLog('Bitrate mode selected: ' + bitPref);
122+
}
123+
119124
function getCodecValue(radio) {
120125
preferredCodec = radio.value;
121126
addToEventLog('Codec selected: ' + preferredCodec);
@@ -188,6 +193,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
188193
stopButton.disabled = false;
189194
hwButtons.style.display = "none";
190195
prefButtons.style.display = "none";
196+
bitButtons.style.display = "none";
191197
codecButtons.style.display = "none";
192198
resButtons.style.display = "none";
193199
modeButtons.style.display = "none";
@@ -233,7 +239,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
233239
const config = {
234240
alpha: "discard",
235241
latencyMode: latencyPref,
236-
bitrateMode: "variable",
242+
bitrateMode: bitPref,
237243
codec: preferredCodec,
238244
width: ts.width/vConfig.resolutionScale,
239245
height: ts.height/vConfig.resolutionScale,

0 commit comments

Comments
 (0)