added support for bitrate selection. This closes #9

This commit is contained in:
Aidan Campbell
2016-02-19 12:28:19 -05:00
parent 5e66aee4dd
commit ad9aadc30f
4 changed files with 30 additions and 3 deletions

View File

@@ -7,6 +7,11 @@
main {
padding: 50px 100px;
}
#bitrateField {
text-align: center;
display: block;
padding-top: 15px;
}
#hostSettings {
padding: 5px 10px;
border: 1px dashed;

View File

@@ -9,9 +9,24 @@ function attachListeners() {
document.getElementById('showAppsButton').addEventListener('click', showAppsPushed);
document.getElementById('selectResolution').addEventListener('change', saveResolution);
document.getElementById('selectFramerate').addEventListener('change', saveFramerate);
document.getElementById('bitrateSlider').addEventListener('input', updateBitrateField); // input occurs every notch you slive
document.getElementById('bitrateSlider').addEventListener('change', saveBitrate); // change occurs once the mouse lets go.
window.addEventListener("resize", fullscreenNaclModule);
}
function updateBitrateField() {
document.getElementById('bitrateField').innerHTML = document.getElementById('bitrateSlider').value + " Mbps"
}
function saveBitrate() {
storeData('bitrate', document.getElementById('bitrateSlider').value, null);
}
function loadBitrate(previousValue) {
document.getElementById('bitrateSlider').MaterialSlider.change(previousValue.bitrate != null ? previousValue.bitrate : '15');
updateBitrateField();
}
function moduleDidLoad() {
console.log("NaCl module loaded.");
}
@@ -65,8 +80,10 @@ function startPushed() {
}
var frameRate = document.getElementById('selectFramerate').value;
var resolution = document.getElementById('selectResolution').value;
// we told the user it was in Mbps. We're dirty liars and use Kbps behind their back.
var bitrate = parseInt(document.getElementById('bitrateSlider').value) * 1024;
console.log('startRequest:' + target + ":" + resolution + ":" + frameRate);
common.naclModule.postMessage('startRequest:' + target + ":" + resolution + ":" + frameRate + ":");
common.naclModule.postMessage('startRequest:' + target + ":" + resolution + ":" + frameRate + ":" + bitrate + ":");
// we just finished the gameSelection section. only expose the NaCl section
playGameMode();
}
@@ -171,11 +188,12 @@ function loadHosts(previousValue) {
}
function onWindowLoad(){
// document.getElementById('streamSettings').style.display = 'none';
document.getElementById('gameSelection').style.display = 'none';
$("#bitrateField").addClass("bitrateField");
readData('resolution', loadResolution);
readData('frameRate', loadFramerate);
readData('hosts', loadHosts);
readData('bitrate', loadBitrate);
}
window.onload = onWindowLoad;