forked from j62/ctbrec
Don't kill the ws in the keep-alive thread, if it is establishing a
connection
This commit is contained in:
parent
f5ef7c7cc1
commit
3cf6038da0
|
@ -521,8 +521,9 @@ public class MyFreeCamsClient {
|
|||
private void startKeepAlive(WebSocket ws) {
|
||||
Thread keepAlive = new Thread(() -> {
|
||||
while (running) {
|
||||
LOG.trace("--> NULL to keep the connection alive");
|
||||
try {
|
||||
if (!connecting) {
|
||||
LOG.trace("--> NULL to keep the connection alive");
|
||||
ws.send("0 0 0 0 0 -\n");
|
||||
|
||||
long millisSinceLastMessage = System.currentTimeMillis() - heartBeat;
|
||||
|
@ -531,6 +532,10 @@ public class MyFreeCamsClient {
|
|||
ws.close(1000, "");
|
||||
MyFreeCamsClient.this.ws = null;
|
||||
}
|
||||
} else {
|
||||
// we are establishing a new connection at the moment, not need to
|
||||
// do anything
|
||||
}
|
||||
|
||||
Thread.sleep(TimeUnit.SECONDS.toMillis(15));
|
||||
} catch (InterruptedException e) {
|
||||
|
@ -561,23 +566,10 @@ public class MyFreeCamsClient {
|
|||
}
|
||||
|
||||
public String getStreamUrl(SessionState state) {
|
||||
Integer camserv = Optional.ofNullable(state.getU()).map(User::getCamserv).orElse(-1);
|
||||
String camservString = camserv.toString();
|
||||
if (serverConfig.isOnWzObsVideoServer(state)) {
|
||||
camservString = serverConfig.wzobsServers.get(camserv.toString());
|
||||
} else if (serverConfig.isOnObsServer(state)) {
|
||||
camservString = serverConfig.ngVideoServers.get(camserv.toString());
|
||||
} else if (serverConfig.isOnHtml5VideoServer(state)) {
|
||||
camservString = serverConfig.h5Servers.get(camserv.toString());
|
||||
} else if (camserv > 500) {
|
||||
camserv -= 500;
|
||||
camservString = camserv.toString();
|
||||
}
|
||||
|
||||
int userChannel = 100000000 + state.getUid();
|
||||
String phase = state.getU().getPhase() != null ? state.getU().getPhase() : "z";
|
||||
String phasePrefix = phase.equals("z") ? "" : '_' + phase;
|
||||
String server = "video" + camservString.replaceAll("^\\D+", "");
|
||||
String server = "video" + getCamServ(state).replaceAll("^\\D+", "");
|
||||
boolean useHls = serverConfig.isOnObsServer(state);
|
||||
String streamUrl;
|
||||
boolean dontUseDash = !Config.getInstance().getSettings().mfcUseDash;
|
||||
|
@ -601,6 +593,22 @@ public class MyFreeCamsClient {
|
|||
return streamUrl;
|
||||
}
|
||||
|
||||
private String getCamServ(SessionState state) {
|
||||
Integer camserv = Optional.ofNullable(state.getU()).map(User::getCamserv).orElse(-1);
|
||||
String camservString = camserv.toString();
|
||||
if (serverConfig.isOnWzObsVideoServer(state)) {
|
||||
camservString = serverConfig.wzobsServers.get(camserv.toString());
|
||||
} else if (serverConfig.isOnObsServer(state)) {
|
||||
camservString = serverConfig.ngVideoServers.get(camserv.toString());
|
||||
} else if (serverConfig.isOnHtml5VideoServer(state)) {
|
||||
camservString = serverConfig.h5Servers.get(camserv.toString());
|
||||
} else if (camserv > 500) {
|
||||
camserv -= 500;
|
||||
camservString = camserv.toString();
|
||||
}
|
||||
return camservString;
|
||||
}
|
||||
|
||||
public MyFreeCamsModel getModel(int uid) {
|
||||
return models.getIfPresent(uid);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue