[+] 优化监控流程,提高稳定性。

This commit is contained in:
acgist
2023-04-22 14:08:28 +08:00
parent aadd59a51b
commit 4da70b5216
6 changed files with 229 additions and 142 deletions

View File

@@ -182,7 +182,8 @@ public class MainActivity extends AppCompatActivity implements Serializable {
}
this.threadHandler.post(() -> {
// 进入房间
Taoyao.taoyao.roomEnter("91f81c0a-0556-4087-b9a4-5889fac36fb6", null);
// Taoyao.taoyao.roomEnter("91f81c0a-0556-4087-b9a4-5889fac36fb6", null);
Taoyao.taoyao.sessionCall("taoyao");
});
}
@@ -253,9 +254,12 @@ public class MainActivity extends AppCompatActivity implements Serializable {
}
private void removeVideo(Message message) {
final GridLayout video = this.binding.video;
final SurfaceView surfaceView = (SurfaceView) message.obj;
video.removeView(surfaceView);
synchronized (this) {
final GridLayout video = this.binding.video;
final SurfaceView surfaceView = (SurfaceView) message.obj;
final int index = video.indexOfChild(surfaceView);
video.removeViewAt(index);
}
}
}

View File

@@ -520,7 +520,13 @@ public final class Taoyao implements ITaoyao {
request.notifyAll();
}
} else {
this.executeHandler.post(() -> this.dispatch(content, header, message));
this.executeHandler.post(() -> {
try {
this.dispatch(content, header, message);
} catch (Exception e) {
Log.e(Taoyao.class.getSimpleName(), "处理信令异常:" + content, e);
}
});
}
}
@@ -725,8 +731,8 @@ public final class Taoyao implements ITaoyao {
resources.getBoolean(R.bool.dataConsume),
resources.getBoolean(R.bool.audioConsume),
resources.getBoolean(R.bool.videoConsume),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.dataProduce),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.videoProduce),
this.mediaManager.getMediaProperties(),
this.mediaManager.getWebrtcProperties()
@@ -775,7 +781,7 @@ public final class Taoyao implements ITaoyao {
room.closeRemoteClient(clientId);
}
private void sessionCall(String clientId) {
public void sessionCall(String clientId) {
this.requestFuture(
this.buildMessage(
"session::call",
@@ -794,14 +800,13 @@ public final class Taoyao implements ITaoyao {
resources.getBoolean(R.bool.dataConsume),
resources.getBoolean(R.bool.audioConsume),
resources.getBoolean(R.bool.videoConsume),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.dataProduce),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.videoProduce),
this.mediaManager.getMediaProperties(),
this.mediaManager.getWebrtcProperties()
);
sessionClient.init();
sessionClient.offer();
this.sessionClients.put(sessionId, sessionClient);
}
);
}
@@ -819,8 +824,8 @@ public final class Taoyao implements ITaoyao {
resources.getBoolean(R.bool.dataConsume),
resources.getBoolean(R.bool.audioConsume),
resources.getBoolean(R.bool.videoConsume),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.dataProduce),
resources.getBoolean(R.bool.audioProduce),
resources.getBoolean(R.bool.videoProduce),
this.mediaManager.getMediaProperties(),
this.mediaManager.getWebrtcProperties()