3 Commits

Author SHA1 Message Date
EgorSuv 06a0c51e6d sfu, observer update 2023-05-19 03:47:53 +03:00
EgorSuv 2d05afeb17 simulcast disabled 2023-04-26 11:35:05 +03:00
EgorSuv ec5238329c sfu disabled 2023-04-25 17:01:42 +03:00
2 changed files with 18 additions and 4 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ module.exports = {
"-PixelStreamingHideCursor=true", "-PixelStreamingHideCursor=true",
"-PixelStreamingKeyFilter=ESC, CTRL", "-PixelStreamingKeyFilter=ESC, CTRL",
"-SimulcastParameters=1.0,5000000,100000000,2.0,1000000,5000000,3.0,500000,2500000", "-SimulcastParameters=1.0,5000000,100000000,2.0,1000000,5000000,3.0,500000,2500000",
//"-PixelStreamingHudStats=true" // usefull for debug "-PixelStreamingHudStats=true" // usefull for debug
] ]
} }
} }
+16 -2
View File
@@ -8,11 +8,23 @@ const {free_app_port, free_webrtc_port, free_sfu_port} = require('./port_alloc')
const observer_timeout = 100 const observer_timeout = 100
let pending_list = new wait_list([]) let pending_list = new wait_list([])
const start_observer = () => { let can_check = true
const block_time = 30000
const start_observer = async () => {
if (can_check) {
check() check()
}
setTimeout(() => start_observer(), observer_timeout) setTimeout(() => start_observer(), observer_timeout)
} }
const block_for = (time) => {
can_check = false
setTimeout(() => {
can_check = true
}, time)
}
// check sessions in parallel // check sessions in parallel
const check_sessions = async (sessions) => { const check_sessions = async (sessions) => {
@@ -47,6 +59,7 @@ const check_sessions = async (sessions) => {
await database.remove_running_session(session.session_id) await database.remove_running_session(session.session_id)
} else { } else {
console.error('can not connect to coordinator') console.error('can not connect to coordinator')
block_for(block_time)
} }
pending_list.remove(session.session_id) pending_list.remove(session.session_id)
} }
@@ -57,10 +70,11 @@ const check = async () => {
let sessions = await database.get_running_sessions() let sessions = await database.get_running_sessions()
if (!sessions) { if (!sessions) {
block_for(block_time)
return return
} }
check_sessions(sessions) await check_sessions(sessions)
} }
module.exports = { module.exports = {