in openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/StreamProcessor.java [87:132]
void onMessage(Client c, final String cmdId, JSONObject msg) {
final String uid = msg.optString("uid");
log.debug("Incoming message from user with ID '{}': {}", c.getUserId(), msg);
switch (cmdId) {
case "devicesAltered":
onDeviceAltered(c, uid, msg);
break;
case "toggleActivity":
onToggleActivity(c, Activity.valueOf(msg.getString("activity")));
break;
case "broadcastStarted":
streamProcessorActions.handleBroadcastStarted(c, uid, msg);
break;
case "broadcastRestarted":
streamProcessorActions.handleBroadcastRestarted(c, uid);
break;
case "onIceCandidate":
streamProcessorActions.addIceCandidate(msg);
break;
case "addListener":
streamProcessorActions.addListener(c, msg);
break;
case "wannaShare": {
Optional<ScreenStreamDesc> osd = c.getScreenStream();
if (screenShareAllowed(c) || (osd.isPresent() && !osd.get().has(Activity.SCREEN))) {
startSharing(c, osd, msg, Activity.SCREEN);
}
}
break;
case "wannaRecord":
onWannaRecord(c, msg);
break;
case "pauseSharing":
pauseSharing(c, uid);
break;
case "stopRecord":
stopRecording(c);
break;
case "errorSharing":
errorSharing(c);
break;
default:
// no-op
break;
}
}