Add files via upload

fix for iOS devices being stuck at low bitrate
This commit is contained in:
Steve Seguin 2022-04-04 00:48:39 -04:00 committed by GitHub
parent b975115e69
commit d86a721db5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 4 deletions

View File

@ -79,7 +79,7 @@
<link itemprop="url" href="./media/vdoNinja_logo_full.png" />
</span>
<script type="text/javascript" crossorigin="anonymous" src="./thirdparty/CodecsHandler.js?ver=37"></script>
<script type="text/javascript" crossorigin="anonymous" src="./webrtc.js?ver=396"></script>
<script type="text/javascript" crossorigin="anonymous" src="./webrtc.js?ver=432"></script>
<input id="zoomSlider" type="range" style="display: none;" />
<div id="header">
@ -1928,7 +1928,7 @@
var session = WebRTC.Media; // session is a required global variable if configuring manually. Run before loading main.js but after webrtc.js.
session.version = "21.3";
session.version = "21.4";
session.streamID = session.generateStreamID(); // randomly generates a streamID for this session. You can set your own programmatically if needed
session.defaultPassword = "someEncryptionKey123"; // Change this password if self-deploying for added security/privacy
@ -1995,7 +1995,7 @@
// session.apiserver = "wss://api.vdo.ninja:443"; // specifiy a custom websocket API URL.
</script>
<script type="text/javascript" crossorigin="anonymous" src="./thirdparty/aes.js"></script>
<script type="text/javascript" crossorigin="anonymous" id="lib-js" src="./lib.js?ver=279"></script>
<script type="text/javascript" crossorigin="anonymous" id="lib-js" src="./lib.js?ver=280"></script>
<!--
// If you wish to change branding, blank offers a good clean start.
<script type="text/javascript" id="main-js" src="./main.js" data-translation="blank"></script>

18
lib.js
View File

@ -14849,6 +14849,7 @@ function updateRenderOutpipe(){ // video only.
for (UUID in session.pcs) {
var videoAdded = false;
try {
if ("realUUID" in session.pcs[UUID]){continue;}
if ((session.pcs[UUID].guest == true) && (session.roombitrate === 0)) {
@ -14869,6 +14870,7 @@ function updateRenderOutpipe(){ // video only.
}
});
if (added == false) {
videoAdded = true;
session.pcs[UUID].addTrack(track, session.videoElement.srcObject); // can't replace, so adding
setTimeout(function(uuid){session.optimizeBitrate(uuid);},session.rampUpTime, UUID); // 3 seconds lets us ramp up the quality a bit and figure out the total bandwidth quicker
}
@ -14876,6 +14878,22 @@ function updateRenderOutpipe(){ // video only.
} catch (e) {
errorlog(e);
}
if (iOS || iPad){ ///////// THIS IS A FIX FOR iOS 15.4. When a video is loaded (view/push), the bitrate from iOS devices is stuck low, and resolution needs toggle to fix.
// videoAdded value needs to be deleted from above also
if (videoAdded){
setTimeout(function(uuid){
session.setScale(uuid, null);
}, 2000, UUID);
setTimeout(function(uuid){
var scale = 100;session.setScale
if (session.pcs[uuid].scale){
scale = session.pcs[uuid].scale;
}
session.setScale(uuid, scale);
},5000, UUID);
}
}
}
session.refreshScale();

File diff suppressed because one or more lines are too long