You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/10/04 10:22:22 UTC
openmeetings git commit: [OPENMEETINGS-1715] room recording on exit
is fixed
Repository: openmeetings
Updated Branches:
refs/heads/master b3bd1a68d -> 58cf1917e
[OPENMEETINGS-1715] room recording on exit is fixed
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/58cf1917
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/58cf1917
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/58cf1917
Branch: refs/heads/master
Commit: 58cf1917ed21b17fc05d8692efd754c97fe277e4
Parents: b3bd1a6
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Wed Oct 4 17:22:15 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Wed Oct 4 17:22:15 2017 +0700
----------------------------------------------------------------------
.../core/remote/RecordingService.java | 25 ++++++++++----------
.../core/remote/ScopeApplicationAdapter.java | 7 +++++-
2 files changed, 19 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/58cf1917/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
index 41fc468..ba43284 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
@@ -168,8 +168,12 @@ public class RecordingService implements IPendingServiceCallback {
public void stopRecording(IScope scope, IClient client) {
try {
- //FIXME TODO The client who started the recording might already left the room !!!!
- log.debug("stopRecordAndSave {}, {}", client.getLogin(), client.getRemoteAddress());
+ Long recordingId = IClientUtil.getRecordingId(scope);
+ log.debug("stopRecordAndSave {}, {}, ID: {}", client.getLogin(), client.getRemoteAddress(), recordingId);
+ if (recordingId == null) {
+ log.error("Unable to find recordingId on recording stop");
+ return;
+ }
IApplication iapp = getApp();
Client recClient = null;
for (Client c : iapp.getOmRoomClients(client.getRoomId())) {
@@ -179,11 +183,14 @@ public class RecordingService implements IPendingServiceCallback {
}
}
if (recClient == null) {
- log.error("Unable to find recordingId on recording stop");
- return;
+ log.warn("Unable to find Recording client");
+ } else {
+ WebSocketHelper.sendRoom(new TextRoomMessage(recClient.getRoomId(), recClient.getUserId(), RoomMessage.Type.recordingStoped, recClient.getSid()));
+ // Store to database
+ recClient.setRecordingId(null);
+ recClient.setRecordingStarted(false);
+ sessionManager.update(recClient);
}
- WebSocketHelper.sendRoom(new TextRoomMessage(recClient.getRoomId(), recClient.getUserId(), RoomMessage.Type.recordingStoped, recClient.getSid()));
-
// get all stream and stop recording them
for (IConnection conn : scope.getClientConnections()) {
if (conn != null && conn instanceof IServiceCapableConnection) {
@@ -191,15 +198,9 @@ public class RecordingService implements IPendingServiceCallback {
stopStreamRecord(scope, rcl);
}
}
- // Store to database
- Long recordingId = recClient.getRecordingId();
-
recordingDao.updateEndTime(recordingId, new Date());
// Reset values
- recClient.setRecordingId(null);
- recClient.setRecordingStarted(false);
- sessionManager.update(recClient);
log.debug("recordingConverterTask {}", recordingConverter);
Recording recording = recordingDao.get(recordingId);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/58cf1917/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index f53d1af..5a259b5 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -391,7 +391,12 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
public void dropSharing(org.apache.openmeetings.db.entity.basic.IClient c, Long roomId) {
- IScope scope = getChildScope(String.valueOf(roomId));
+ IScope scope = null;
+ try {
+ scope = getChildScope(String.valueOf(roomId));
+ } catch (Exception e) {
+ //no-op, scope doesn't exist while testing
+ }
//Elvis has left the building
new MessageSender(scope, "stopStream", new Object(), this) {
@Override