diff --git a/bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java b/bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java index 2461b7ecde35751458d239737a6c5385a93f7ef6..f3afd803dab937f9ac52a8f0461252c813ade9f1 100755 --- a/bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java +++ b/bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java @@ -112,7 +112,7 @@ public class VideoApplication extends MultiThreadedApplicationAdapter { private void recordStream(IBroadcastStream stream) { IConnection conn = Red5.getConnectionLocal(); long now = System.currentTimeMillis(); - String recordingStreamName = stream.getPublishedName() + "-" + now; + String recordingStreamName = stream.getPublishedName(); // + "-" + now; /** Comment out for now...forgot why I added this - ralam */ try { log.info("Recording stream " + recordingStreamName ); diff --git a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy index af1ea828a749a24793f4d22b1e4ed131acdfe27c..0d23d1b180fbfba697dec5b2d1d293d38d9b2a83 100755 --- a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy +++ b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy @@ -568,6 +568,9 @@ class ApiController { redirect(url: logoutUrl) } + /****************************************************** + * GET_RECORDINGS API + ******************************************************/ def getRecordings = { ArrayList<Recording> r = meetingService.getRecordings(); if (r.isEmpty()) { @@ -577,6 +580,8 @@ class ApiController { } } + + def uploadDocuments(conf) { log.debug("ApiController#uploadDocuments(${conf.getInternalId()})"); diff --git a/bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java b/bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java index 8be83ebc92287509e8d6f0e9d11d5b1685922dbc..6b20bb33ebe7e852dd63065cc1573bb9472148e0 100755 --- a/bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java +++ b/bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java @@ -31,7 +31,6 @@ public class MeetingService { * Remove the meetings that have ended from the list of * running meetings. */ -// @Override public void removeExpiredMeetings() { for (Meeting m : meetings.values()) { if (m.hasExpired(defaultMeetingExpireDuration) || m.wasNeverStarted(defaultMeetingExpireDuration)) { @@ -56,6 +55,9 @@ public class MeetingService { public void createMeeting(Meeting m) { log.debug("Storing Meeting with internal id:" + m.getInternalId()); meetings.put(m.getInternalId(), m); + if (m.isRecord()) { + messagingService.recordMeetingInfo(m.getInternalId(), m.getMetadata()); + } } public Meeting getMeeting(String meetingId) { diff --git a/bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java b/bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java index 5d1318e7a96abf087069e3d0f625b9a3947f5a35..fbb87dd82b20edb80bfa549687900b1eeb9b084c 100755 --- a/bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java +++ b/bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java @@ -263,6 +263,7 @@ public class ParamsProcessorUtil { if (key.contains("meta")){ String[] meta = key.split("_"); if(meta.length == 2){ + log.debug("Got metadata {} = {}", key, params.get(key)); meetingInfo.put(meta[1], params.get(key)); } } diff --git a/bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java b/bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java index 1bba9592a5869a1f907f06bb738c381f108f97f7..5a5a2a9ae57077d45cfe035574fa7c61654e7187 100755 --- a/bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java +++ b/bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java @@ -71,8 +71,8 @@ public class Meeting { metadata.put("meetingId", extMeetingId); } - public Collection<String> getMetadata() { - return metadata.isEmpty() ? Collections.<String>emptySet() : Collections.unmodifiableCollection(metadata.values()); + public Map<String, String> getMetadata() { + return metadata; } public Collection<User> getUsers() { diff --git a/bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java b/bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java index 143aa3dabb60c64bec0835ff2dc922d46afab628..2e478a9f823065e38bffe21abe89deb3e6be776d 100755 --- a/bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java +++ b/bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java @@ -42,7 +42,12 @@ public class RedisMessagingService implements MessagingService { public void recordMeetingInfo(String meetingId, Map<String, String> info) { Jedis jedis = redisPool.getResource(); try { - jedis.hmset("meeting.info:" + meetingId, info); + for (String key: info.keySet()) { + log.debug("Storing metadata {} = {}", key, info.get(key)); + } + + log.debug("Saving metadata in {}", meetingId); + jedis.hmset("meeting:info:" + meetingId, info); } catch (Exception e){ log.warn("Cannot record the info meeting:"+meetingId,e); } finally { diff --git a/record-and-playback/core/lib/recordandplayback/events_archiver.rb b/record-and-playback/core/lib/recordandplayback/events_archiver.rb index 9d6040d41cf80577f7a702a888f62ad5560e3686..6b229bdaf48ccd0a47507d3cc63f491d88939cfe 100755 --- a/record-and-playback/core/lib/recordandplayback/events_archiver.rb +++ b/record-and-playback/core/lib/recordandplayback/events_archiver.rb @@ -24,7 +24,7 @@ module BigBlueButton end def metadata_for(meeting_id) - @redis.hgetall("meeting:#{meeting_id}:metadata") + @redis.hgetall("meeting:info:#{meeting_id}") end def num_events_for(meeting_id) diff --git a/record-and-playback/matterhorn/scripts/matterhorn.yml b/record-and-playback/matterhorn/scripts/matterhorn.yml index 6548f79aefc7f2700c61328fcee7a63557a58a71..0b7cbf1aa18d41f845cb84b85db016bcea1bab88 100755 --- a/record-and-playback/matterhorn/scripts/matterhorn.yml +++ b/record-and-playback/matterhorn/scripts/matterhorn.yml @@ -1,6 +1,6 @@ -scp_server: ec2-50-16-8-19.compute-1.amazonaws.com +scp_server: 192.168.0.147 scp_user: root scp_key: /home/firstuser/.ssh/matt_id_rsa scp_inbox: /opt/matterhorn/felix/inbox/ -rest_server: http://ec2-50-16-8-19.compute-1.amazonaws.com:8080 +rest_server: http://192.168.0.147:8080 diff --git a/record-and-playback/simple/playback/css/bbb.playback.css b/record-and-playback/simple/playback/simple/css/bbb.playback.css similarity index 100% rename from record-and-playback/simple/playback/css/bbb.playback.css rename to record-and-playback/simple/playback/simple/css/bbb.playback.css diff --git a/record-and-playback/simple/playback/lib/jquery-1.4.4.js b/record-and-playback/simple/playback/simple/lib/jquery-1.4.4.js similarity index 100% rename from record-and-playback/simple/playback/lib/jquery-1.4.4.js rename to record-and-playback/simple/playback/simple/lib/jquery-1.4.4.js diff --git a/record-and-playback/simple/playback/lib/jquery-1.4.4.min.js b/record-and-playback/simple/playback/simple/lib/jquery-1.4.4.min.js similarity index 100% rename from record-and-playback/simple/playback/lib/jquery-1.4.4.min.js rename to record-and-playback/simple/playback/simple/lib/jquery-1.4.4.min.js diff --git a/record-and-playback/simple/playback/logo.png b/record-and-playback/simple/playback/simple/logo.png similarity index 100% rename from record-and-playback/simple/playback/logo.png rename to record-and-playback/simple/playback/simple/logo.png diff --git a/record-and-playback/simple/playback/playback.html b/record-and-playback/simple/playback/simple/playback.html similarity index 100% rename from record-and-playback/simple/playback/playback.html rename to record-and-playback/simple/playback/simple/playback.html diff --git a/record-and-playback/simple/playback/playback.js b/record-and-playback/simple/playback/simple/playback.js similarity index 100% rename from record-and-playback/simple/playback/playback.js rename to record-and-playback/simple/playback/simple/playback.js