Richard Alam
72c42f9d70
- build get recordings api response
2017-03-13 21:43:39 +00:00
Richard Alam
4e59521268
- store breakout metadata and breakout rooms in events.xml only if they are present.
2017-03-10 19:39:20 +00:00
Richard Alam
71bcd779b7
- process breakout rooms in events.xml and metadata.xml
2017-03-09 23:01:15 +00:00
Pedro Beschorner Marin
490ecd2157
Reverting some modifications made in presentation publish script for deskshare video
2017-02-24 13:46:32 +00:00
Pedro Beschorner Marin
3e43602b33
Changed deskshare start/stop matching method
2017-02-23 20:17:16 +00:00
Pedro Beschorner Marin
6787915e0e
Refactored deskshare video recording
2017-02-23 18:21:10 +00:00
alexandre
f39874ac9b
Returning number of users that participated in each meeting in getRecordings call
...
Resolves #3623
2017-02-10 16:19:32 -02:00
alexandre
dfa5a305cc
Handling deskshare when closing meeting or stop recording
...
Closing the room or stopping recording with an active deskshare was producing an incorrect recording
2017-02-01 16:38:39 +00:00
Pedro Beschorner Marin
b89a31bb9a
Merge remote-tracking branch 'playback-speedup' into mconf
...
Conflicts:
record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
record-and-playback/presentation/scripts/process/presentation.rb
record-and-playback/presentation/scripts/publish/presentation.rb
record-and-playback/presentation_export/playback/presentation_export/lib/writing.js
2017-01-26 18:10:20 +00:00
Pedro Beschorner Marin
adbb81e1c5
Cleanup
2016-12-21 18:35:21 +00:00
kreismann
f93114e207
Fixing deskshare panzooms
...
- Getting slide dimensions to properly set the panzoom event when deskshare stops.
- Sometimes there's a panzoom event with the deskshare image dimension at time=stop_timestamp+0.1. We remove it.
- Little refactoring
2016-12-19 15:11:32 -02:00
Pedro Beschorner Marin
8ca6ecacee
Merge remote-tracking branch 'alexandrekreis/mconf' into deskshare-whiteboard
2016-12-15 17:20:08 +00:00
Pedro Beschorner Marin
ac9504fdd2
Annotations over deskshare whiteboard at playback
2016-12-15 17:19:10 +00:00
kreismann
6a29fd832e
Handling deskshare on processClearEvents
2016-12-14 14:50:34 -02:00
kreismann
37660e4e13
Fixing some bugs
...
- Properly inserting deskshare panzoom events. We insert a panzoom event with the deskshare video dimensions and the deskshare start timestamp. Immediately, we insert another panzoom event with the previous slide dimensions and the deskshare stop timestamp, deleting any other panzoom event inside this interval of time.
- Handling when deskshare events occur in timestamp = 0.0
- For now, we are limiting the max dimensions to 1280x720
2016-12-12 16:29:06 -02:00
kreismann
be87eeddbd
Creating only one image for deskshare
...
So we can retrieve deskshare history. Still need to adapt the size of annotations on different deskshare resolutions.
2016-12-02 17:40:50 -02:00
kreismann
6aeabb9293
Correctly handling multiple deskshare events inside a slide interval of time
2016-12-02 15:34:49 -02:00
Pedro Beschorner Marin
e5c48cb7be
Replaced the playback spinner for a loading bar and included a not-found meeting fallback page
2016-12-01 18:13:26 +00:00
kreismann
fe9fde2330
Getting flv resolution to set deskshare image and pan/zoom dimensions
2016-11-30 16:31:19 -02:00
kreismann
e27c291ee0
Recording playback shows whiteboard annotations on deskshare video as well
...
Pending issues:
- Image and ViewBox sizes are hardcoded (1280x720 - a full screen deskshare video). In order to work with region deskshare videos, we must get the flvs resolutions and set shapes.svg and panzooms accordingly.
- We're not considering the deskshare annotations history yet
2016-11-29 15:08:28 -02:00
Pedro Beschorner Marin
c8acfbf65a
Getting slides associated text from a single JSON file
2016-11-29 14:00:19 +00:00
kreismann
73603d5d68
Presentation area of the recording playback also shows deskshare video
...
This is a demo. Some issues:
- When sharing desktop, cursor is still relative to slides, and not to deskshare video;
- Need to show whiteboard canvas on top of deskshare video as well;
- Need more testing (audio/video sync, playback perfomance, multiple presenters and multiple deskshare events).
2016-10-20 17:39:35 -02:00
jfederico
d2a633a27b
record-and-playback: Forced alt to be included as part of the image thumbnail element in preview extension
2016-09-27 16:02:20 -04:00
jfederico
1a4438d459
record-and-playback: Fixed issue with presentations containing less than 3 slides
2016-09-27 15:19:53 -04:00
jfederico
78cb599a5b
record-and-playback: removed text element from extension preview
2016-09-22 13:11:01 -04:00
jfederico
59c67809d0
recording-and-playback: Added alt text to the preview per slide
2016-09-21 16:39:32 -04:00
jfederico
8adf729e0f
recording-and-playback: Added general text to the preview
2016-09-20 16:46:45 -04:00
jfederico
45ba7d85c2
record-and-playback: Filtered presentation files to provide only the first thumbnail for default.pdf
2016-09-20 14:10:28 -04:00
jfederico
f9d76b4739
recording-and-playpack: Includes thumbnails as an extension of the playbacks
2016-09-19 18:09:31 -04:00
jfederico
90108bf29c
record-and-playback: Include default thumbnails into recordings
2016-09-19 14:52:32 -04:00
Felipe Cecagno
79c3c12256
Merge branch 'merge-presentation-deskshare' into mconf
...
Conflicts:
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
2016-09-14 14:49:48 -03:00
kreismann
b961e197c5
Not showing annotation canvas while sharing desktop in recording
...
1. We create a deskshare.xml with start and stop timestamps of each deskshare event
2. We read it in playback e use its information to hide the annotation canvas and cursor accordingly
2016-09-09 18:31:27 -03:00
Fred Dixon
8f5173710d
Merge pull request #3283 from kepstin/recording-cleanups
...
Recording cleanups
2016-08-12 16:19:39 -04:00
Calvin Walton
fc4ae4c6b4
RnP: Use correct directory when loading captions.json
2016-08-12 15:41:41 -04:00
Calvin Walton
bfb987dc01
Make shape rendering in presentation recordings closer to live BBB
2016-08-12 11:53:01 -04:00
Calvin Walton
c4d4e1a08a
RnP: Generate blank video when the recording has captions
...
Right now the captions are only rendered if there's a video present. If
the meeting doesn't have a video (webcam or desktop sharing), we'll need
to just make up a blank one.
2016-08-04 13:23:15 -04:00
Calvin Walton
2b8d7a9858
Merge remote-tracking branch 'origin/master' into recording-captions
2016-08-02 10:49:05 -04:00
Pedro Beschorner Marin
4c432ee5bd
Merge branch 'feature-1931' into rafafp-branches-merged-1.0
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatToolbar.mxml
record-and-playback/presentation/scripts/publish/presentation.rb
2016-06-22 13:06:51 +00:00
Anton Georgiev
c2e6fb9a72
undo some of the webrtc ds record changes
2016-05-18 17:34:30 +00:00
Anton Georgiev
92d6351c55
undo some of the webrtc ds record changes
2016-05-18 17:21:15 +00:00
Anton Georgiev
228dfb4061
Merge branch 'mod-verto-1' of github.com:antobinary/bigbluebutton into merge-webrtc-ds
...
Conflicts:
akka-bbb-apps/build.sbt
akka-bbb-apps/src/main/resources/application.conf
akka-bbb-apps/src/main/scala/org/bigbluebutton/SystemConfiguration.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
akka-bbb-fsesl/build.sbt
bbb-common-message/build.sbt
bbb-fsesl-client/build.sbt
bbb-fsesl-client/src/main/java/org/freeswitch/esl/client/inbound/Client.java
bigbluebutton-apps/build.gradle
bigbluebutton-client/build.xml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/BrowserCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-html5/app/client/NotificationControl.coffee
bigbluebutton-html5/app/client/globals.coffee
bigbluebutton-html5/app/client/lib/bbb_api_bridge.coffee
bigbluebutton-html5/app/client/main.coffee
bigbluebutton-html5/app/client/main.html
bigbluebutton-html5/app/client/stylesheets/whiteboard.less
bigbluebutton-html5/app/client/views/chat/chat_bar.coffee
bigbluebutton-html5/app/client/views/modals/settings.coffee
bigbluebutton-html5/app/client/views/modals/settings.html
bigbluebutton-html5/app/client/views/users/user_item.coffee
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.coffee
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
bigbluebutton-html5/app/collections/collections.coffee
bigbluebutton-html5/app/config.coffee
bigbluebutton-html5/app/lib/router.coffee
bigbluebutton-html5/app/server/collection_methods/meetings.coffee
bigbluebutton-html5/app/server/collection_methods/users.coffee
bigbluebutton-html5/app/server/publish.coffee
bigbluebutton-html5/app/server/server.coffee
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
record-and-playback/presentation/scripts/process/presentation.rb
record-and-playback/presentation/scripts/publish/presentation.rb
2016-05-18 15:14:04 +00:00
Calvin Walton
4ebe2e7773
presentation format: Generate vtt caption files
2016-04-04 16:11:48 -04:00
Felipe Cecagno
c818cd154b
Merge remote-tracking branch 'bigbluebutton/master' into mconf
2016-03-09 12:05:32 -03:00
Calvin Walton
0f9b36bc11
recording: Escape custom poll answers in gnuplot file
...
Custom poll answers were previously printed into the gnuplot control
file directly, between double-quotes. As a result, if a poll answer
contains a double-quote, it could cause a syntax error in the gnuplot
script, or worse.
Gnuplot accepts standard C-style double-quoted string escapes, so I can
just use ruby's "inspect" method to generate a safetly escaped string.
Note that within the string, % still has to be escaped separately
(doubled) to avoid issues with the string formatting. As well, I have
disabled "enhanced" mode which allows using special characters for
formatting commands.
Fixes #3039
2016-03-07 11:26:17 -05:00
Felipe Cecagno
bbcfe1f34a
Merge remote-tracking branch 'bigbluebutton/master' into mconf
...
Conflicts:
bigbluebutton-html5/app/client/globals.js
bigbluebutton-html5/app/client/main.html
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
2016-03-04 20:19:55 -03:00
RafaFP
89ac2fd60a
Improved the code to meet the peer review results.
...
refs #1931
2016-03-04 17:40:48 +00:00
Calvin Walton
3a3d349553
recording: Restore the $meeting_start/end global variables
...
These were commented out, apparently by accident, when the metadata code
was being refactored. The effect was that the $meeting_end variable was
treated as if it had a value of zero, meaning that the last slide had a
start time of some positive number and an end time of zero. As a result,
it was never shown (and didn't get any shapes either).
Fixes #3021
2016-03-03 11:27:28 -05:00
RafaFP
932de9c07f
Updated class and method names to better correspond to the implemented function.
...
Improved the recording code.
refs #1931
2016-03-02 16:02:30 +00:00
Felipe Cecagno
e4da408c08
Merge branch 'mconf' into bigbluebutton/bigbluebutton@master
...
Conflicts:
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationService.java
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingServiceHelper.java
bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Recording.java
bigbluebutton-web/web-app/WEB-INF/freemarker/get-recordings.ftl
record-and-playback/presentation/playback/presentation/0.9.0/playback.html
record-and-playback/presentation/scripts/publish/presentation.rb
2016-03-02 01:19:09 -03:00
RafaFP
32f937def8
Implemented the clearing of text in the recordings player.
...
Recordings will now clear the chat box for every clear command received during the recording.
refs #1931
2016-02-26 21:18:14 +00:00
jfederico
503b748b22
record-and-playback: Placed code for producing the initial metadata.xml file at the top
2016-02-12 12:08:33 -05:00
jfederico
0c2eaf5f11
record-and-playback: Fixed bug in original state of recordings.
2016-02-09 17:26:29 -05:00
jfederico
c9abb24a06
record-and-playback: Formatted xml produced for metadata.xml after adding playback
2016-01-28 10:13:45 -05:00
jfederico
983e58922e
record-and-playback: metadata.xml is generated by process script instead of publish
2016-01-26 17:16:28 -05:00
jfederico
1204ae9f2a
recording-and-playback: Added initial metadata.xml as part of the processing
2016-01-26 14:25:02 -05:00
jfederico
8e3c0ea983
recording-and-playback: Changed initial state on recording metadata.xml to published
2016-01-19 14:53:33 -05:00
jfederico
8bc75ab2f6
recording-and-playback: Converted tabs to spaces on presentation/scripts/* and core/scripts/*
...
Signed-off-by: jfederico <jesus@123it.ca>
2016-01-19 14:52:28 -05:00
Felipe Cecagno
8f08e13dcc
Merge remote-tracking branch 'bigbluebutton/master' into mconf
...
Conflicts:
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/client/messaging/ConnectionInvokerService.java
bigbluebutton-client/locale/pt_BR/bbbResources.properties
bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
2015-12-30 18:35:13 -02:00
Anton Georgiev
7bf1d4ce8c
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into webrtc-desktop-temp-3
...
Conflicts:
record-and-playback/core/scripts/bigbluebutton.yml
2015-11-30 21:44:04 +00:00
Felipe Cecagno
555e037d79
fix merge and refactor a few pieces to fit better on BigBlueButton 1.0.0
2015-11-30 01:06:38 -02:00
Pedro Beschorner Marin
36bbcc06d6
Merge remote-tracking branch 'mconf/mconf-live0.7.3' into mconf-live0.7.3-merge
...
Conflicts:
akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/ConversionUpdatesProcessor.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/MeetingMessageReceiver.java
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
bbb-video/.classpath
bbb-video/build.gradle
bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
bbb-video/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/BigBlueButtonApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/ParticipantsService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationApplication.java
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/CollectorActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/Constants.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/MessageNames.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/red5/UsersClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersEventRedisPublisher.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersMessageToJsonConverter.scala
bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/locale/es_LA/bbbResources.properties
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/resources/prod/MconfLive.html
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/BigBlueButton.mxml
bigbluebutton-client/src/SharedNotesModule.mxml
bigbluebutton-client/src/org/bigbluebutton/common/Images.as
bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/core/model/Config.as
bigbluebutton-client/src/org/bigbluebutton/core/services/BandwidthMonitor.as
bigbluebutton-client/src/org/bigbluebutton/core/services/StreamMonitor.as
bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
bigbluebutton-client/src/org/bigbluebutton/main/model/NetworkStatsData.as
bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeMyRole.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeRoleEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/LowerHandEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/StreamStoppedEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LanguageSelector.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LoggedOutWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MuteMeButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/NetworkStatsWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/services/red5/Connection.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/maps/LayoutEventMapDelegate.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/WindowLayout.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/AddButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/ToolbarComponent.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/UploadedPresentationRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/Client.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/HTTPServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/ServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/XMLServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/maps/UsersMainEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarPopupButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoDock.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
bigbluebutton-config/bigbluebutton-release
bigbluebutton-config/bin/bbb-conf
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/PresentationController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MessagingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisStorageService.java
bigbluebutton-web/src/java/org/bigbluebutton/presentation/imp/Pdf2SwfPageConverter.java
2015-11-25 15:58:36 +00:00
Calvin Walton
fc299487e4
recording: Allow configuring recording metadata to use https
...
This allows configuring a server to use https without having to edit
any ruby files directly.
(Ideally, the metadata files wouldn't include the server name/protocol
at all; that should be set dynamically by bbb-web, but this is what we
have for now.)
2015-11-06 11:49:36 -05:00
Anton Georgiev
8e407df405
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into webrtc-desktop-temp-1
...
Conflicts:
akka-bbb-apps/build.sbt
akka-bbb-fsesl/build.sbt
bbb-common-message/build.sbt
bigbluebutton-apps/build.gradle
2015-10-22 20:46:30 +00:00
Anton Georgiev
f08cd5262e
temp changes
2015-10-13 19:00:50 +00:00
Anton Georgiev
6b8626d40f
cleaning up and reverting unnecessary config
2015-09-29 16:03:40 +00:00
Anton Georgiev
1d1c8a421b
deskshare edl for webrtc
2015-09-28 20:49:24 +00:00
Anton Georgiev
366b01fff7
webrtc deskshare work on recording scripts
2015-09-25 18:05:54 +00:00
Felipe Cecagno
32957898f6
refactored part of the bbb-0.9-recording-size code in order to include the size on the download size for mconf_encrypted and the playback size for the others; included raw_size for all available formats
2015-09-08 17:18:02 -03:00
Calvin Walton
cc23f30c2b
Fix poll in recording when there are 0 responders
...
There were a couple of problems:
* A division by 0 when calculating the percentages
* Positioning of the number of results counter was incorrect
Fixes #2739
2015-08-24 14:42:31 -04:00
Calvin Walton
e3e0f0ef61
Add poll result display to the 'presentation' recording format
...
Note that this requires a new dependency be added to the
"bbb-playback-presentation" format; the "gnuplot" package is now
required (it's used to actually generate the chart images)
2015-08-11 14:55:59 -04:00
Pedro Beschorner Marin
cbfe8b8859
Added an update script for sizes injection in old recordings metadata and some refactoring
2015-06-10 17:07:11 +00:00
Pedro Beschorner Marin
f8ff4a6725
Injecting format size in metadata.xml
2015-06-09 21:06:57 +00:00
Pedro Beschorner Marin
6ef2bf6b27
Getting playback and full meeting published sizes
2015-06-09 14:39:35 +00:00
Pedro Beschorner Marin
4225a87abd
Refactoring and cleanup
2015-06-04 16:03:20 +00:00
Pedro Beschorner Marin
a1a7096c3e
Getting the raw size of the meeting data
2015-06-03 15:19:41 +00:00
Pedro Beschorner Marin
cc55e6f6a4
Adding new attributes to bbb-web
2015-06-02 18:58:11 +00:00
Calvin Walton
301665a35b
Fix off-by-one error in slide clear events
...
In 0.9.0, the slide clear events changed from using 1-based page numbers to
using 0-based page numbers.
Add 1 to the page number for recordings generated on a 0.9.0+ server to
fix the issue; at this point it's too late in the release to change the value,
and there's too big of a body of existing recordings out there.
2015-04-14 17:33:49 -04:00
Calvin Walton
1078aef49d
Add a note to the nginx config to tell 0.9.0 beta users of a possible upgrade path
2014-10-06 17:30:32 -04:00
Calvin Walton
630ef4c72c
Move 0.81 files to a subdir, add nginx redirect for them.
...
Now the 0.81 presentation playback files are in an appropriate versioned
directory. If desired, the recording metadata can be updated to reference
the versioned files directly, but an nginx redirect has been added so
that unmodified recordings will also work.
2014-10-06 17:17:20 -04:00
Calvin Walton
8673d353bb
Use the directory presentation/0.9.0 instead of presentation2
...
This makes it a bit more obvious how the versioning can work going
forwards, and makes it so that we do not need to update the nginx
config each time we have a new version of the playback files.
The 0.81 files remain at the top level of the presentation directory
for compatibility reasons.
2014-10-06 16:46:55 -04:00
Calvin Walton
852ea7b822
Revert 'presentation' dir to 0.81 code, add 'presentation2' for 0.9
...
This fixes an issue where recordings copied from a 0.81 server might
not play back correctly on a 0.9 server.
This changes the 0.9 recording scripts to use playback support files
from a different subdirectory, 'presentation2', while existing 0.81
recordings continue to use the 'presentation' directory.
If the raw files from an old recording are reprocessed, it will
switch to using the newer playback support files.
2014-10-06 16:15:25 -04:00
Calvin Walton
72fc36caef
Actually fix slide indexes.
...
While the page numbers from BigBlueButton are zero-based, the slide images
are generated as 1-based.
2014-09-09 17:15:57 -04:00
Calvin Walton
c7967810b2
Revert the presentation publish page index altering
...
This was added because BigBlueButton 0.9 started using 1-based page
numbers in the events.xml file. That change has been reverted, so as
to avoid behaviour changes from 0.81 in places where it's unnecessary.
2014-09-02 15:46:52 -04:00
Calvin Walton
15fe621523
Use the timestamp from the meeting ID to calculate the real start time
...
With the switch to a different clock source in red5, the timestamps
in the events file are no longer real-time, but are rather in
seconds since computer boot.
The timestamp in the meeting id is still realtime, so use that as
the start time. Calculate the end time by adding the meeting length
to the start time.
2014-08-29 11:19:59 -04:00
Gustavo Salazar
fb013e751f
support bbb_version in events.xml
2014-05-06 14:42:03 -05:00
Gustavo Salazar
7d291abcfd
delete old raw dir from published recordings
2014-04-14 15:14:14 -07:00
Richard Alam
460dfb52bf
- modify scripts so we can run it manually
2014-04-03 20:23:49 +00:00
Gustavo Salazar
8a32c657d5
Handle negative index in slide number.
...
Related to issue #1710
2014-01-23 16:36:28 -05:00
Gustavo Salazar
614cbdde92
Fix #1711
...
Support pdf extension in uppercase https://code.google.com/p/bigbluebutton/issues/detail?id=1711
2014-01-23 14:03:09 -05:00
Felipe Cecagno
3440ed0fe3
Merge branch 'v0.81' into record-button
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
2014-01-14 14:05:41 -02:00
Felipe Cecagno
dab7547014
added a check on presentation publish script to avoid the duplication of thumbnails for a given slide
2013-12-02 15:23:02 -02:00
Felipe Cecagno
955f9edc99
fixing the issue of the whiteboard annotations not being shown in the proper slide; cleaning the environment (events.xml, recorded flag) when the session was recorded but the record button wasn't used
2013-12-02 13:57:05 -02:00
Calvin Walton
1d488e3c56
Last-ditch fix for missing presentation images
...
We can only get here if all of the files for the presentation are
*completely* missing. One thing that can cause this is if the
presentation filename starts with a '.' character - the presentation
files aren't correctly archived then.
2013-10-31 18:56:09 -02:00
Calvin Walton
e6fe43f9b6
Fix a logger method call in presentation script
...
This shouldn't normally be hit... but if it ever is, the processing will
fail with an error, since the Logger class doesn't have a method named
'warning'.
2013-10-23 10:01:02 -04:00
Gustavo Salazar
38f8ed5741
Support processing of images with extension .jpeg
2013-10-18 17:46:07 -05:00
Guilherme Augusto Dias
129e942d16
Add recording length information to metadata file
...
Add a tag containing the duration of the recording to metadata file
2013-10-15 14:29:49 +00:00
Guilherme Augusto Dias
dcabfc46fa
Cut off unwanted slide events
...
Ignore slide events that happened after the last stop recording timestamp
2013-10-10 13:53:32 +00:00
Guilherme Augusto Dias
67fee3bff5
Correct clear/undo timestamp translation
...
Postpone the translation of timestamp for clear/undo events, so the events are applied correctly.
2013-10-09 19:51:46 +00:00
Felipe Cecagno
6e0553ed7c
Merge branch 'record-button' of github.com:guilhermedias/bigbluebutton into record-button
...
Conflicts:
record-and-playback/presentation/scripts/publish/presentation.rb
2013-10-07 22:36:31 -03:00
Guilherme Augusto Dias
8c89024084
Fix issue in multi-segment recording
...
Correctly draw shapes in multi-segment recordings.
2013-10-07 20:08:14 +00:00
Felipe Cecagno
d9dfe4a5d0
fixed partially the issue with the shapes timestamp made after the first period of recording, there's still work to do
2013-10-04 16:52:53 -03:00
Calvin Walton
420b0b5573
Make generation of png images for pdf pages more resiliant.
...
We now use ghostscript to output pngs directly from the original pdf,
rather than using convert on the split pages. This should make corrupt
or strange pdfs less likely to cause issues.
As well, if a pdf page conversion fails (for any reason, including that
the original pdf is missing...) it will be logged, and a blank page
generated, and processing will continue.
2013-10-04 15:25:13 -04:00
Guilherme Augusto Dias
9d1dd1d8d2
Fix shape/image matching test
...
Fix iteration range when checking if a shape is within an image
2013-10-02 22:32:16 +00:00
Felipe Cecagno
322176ddf3
Merge branch 'record-button' of https://github.com/guilhermedias/bigbluebutton into record-button
...
Conflicts:
record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-26 13:06:15 -03:00
Guilherme Augusto Dias
99b17e6f58
Change shape timestamps generation
...
The timestamps of shapes drawn during a non recording period are being correctly generated.
2013-09-26 13:32:55 +00:00
Felipe Cecagno
aa597fe985
Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into record-button-client
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
record-and-playback/core/lib/recordandplayback.rb
record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
record-and-playback/core/lib/recordandplayback/generators/events.rb
record-and-playback/core/lib/recordandplayback/generators/video.rb
record-and-playback/presentation/scripts/publish/presentation.rb
2013-09-24 15:03:44 -03:00
Felipe Cecagno
b5b81c1c4d
refactored a little bit the function translateTimestamp; the images that are never displayed aren't included on the svg file anymore; still have to figure out the issue with the shapes made BEFORE start the recording - for now we cannot differentiate shapes made on the current slide and the ones made on a previous slide before start the recording
2013-09-19 15:22:22 -03:00
Felipe Cecagno
237268424f
the timestamps of the recording events are normalized now, matching the recording marks; still need more testing when there are multiple start-stop recording events; the whiteboard actions are already working, including the slides, but slides that are outside of the recording period are still being loaded in the svg file (#TODO)
2013-09-18 17:54:51 -03:00
Guilherme Augusto Dias
78c77fb362
Create timestamp attribute
...
Shape tags have a timestamp attribute (id attribute no longer includes timestamp information).
2013-08-28 17:51:06 +00:00
Calvin Walton
0473682137
Reset the offset to 0; the new scripts seem to have better sync?
2013-08-26 13:23:49 -04:00
Calvin Walton
7c7540a0de
Add a video quality bump when deskshare videos are present.
2013-08-26 11:27:53 -04:00
Calvin Walton
42e195bbe8
Rewrite the audio/video encoding components for BigBlueButton.
...
I've been working on this for a while, and it's adapted from code that
has been fairly well-tested on a wide variety of recordings. I've found
it to do a more accurate job of combining multiple webcam files, and it
should be more accurate in the audio as well.
Another key feature is that it does fewer re-encoding steps during video
processing, which should both speed it up and hopefully improve quality.
The settings on the VP8 encoder have been tuned somewhat as well.
2013-08-26 11:20:33 -04:00
Gustavo Salazar
26e6876136
Fix #1606
2013-08-19 20:17:10 -05:00
Guilherme Augusto Dias
a762a030ec
Chat events timestamp
...
Calculating timestamp of chat events correctly
2013-08-05 20:32:04 +00:00
Guilherme Augusto Dias
963ea8a1f1
Process chat events
...
Process chat events according to START/STOP record events
2013-08-05 19:13:19 +00:00
Calvin Walton
ecfe8b7db4
RaP: Adjust the 'convert' command to make opaque images
...
This forces a background colour of white on the generated png images for
slides in the slides and presentation recording formats. Fixes Issue
1588.
2013-07-17 18:08:51 -04:00
Fred Dixon
e08c6802d4
Update configuration to record desktop sharing by default
2013-06-15 08:25:09 -07:00
Felipe Cecagno
b176ef090f
fixing the incorrect handling of the last timeline event on video processing
2013-07-01 15:32:25 -03:00
Felipe Cecagno
fea7486ae3
implemented the possibility to include the desktop sharing streams to the presentation playback; it composes the presentation video file just like the other video streams, with the difference that while the screen is being sharing, it appears as the unique video stream in the presentation video - when the presenter stops sharing his screen, the other videos populate the video display;
...
also, the output video resolution is modified to the highest screen resolution shared during the conference, independently on the output video resolution set by the user; it was done to preserve the quality of the desktop sharing image; if there's no desktop sharing, the output video resolution is respected
2013-06-14 17:50:39 -03:00
Felipe Cecagno
bf554b75a8
enabling audio_offset tested for h264
2013-06-13 17:24:37 -03:00
Felipe Cecagno
ced61d3fba
rap-worker now keeps track of the processing time of a recording; a file called processing_time is generated during the process phase, and this information is added to metadata.xml when the recording is published - this information isn't retrieved by getRecordings because no modification was done on bbb-web to include this information, but at least it's there so the sysadmin can check how long does a recording take to get processed
2013-06-13 17:13:20 -03:00
Felipe Cecagno
53c071ddc3
ref #1516
...
Refactored the code that generates the video file used in the presentation playback. The problem with the sync of video sources was related to problems of precision inside FFmpeg (sometimes the script runs FFmpeg to trim video files, and the output video file trimmed sometimes was 3+ seconds bigger or smaller than the requested).
Also it's a little more modular, so it will be easier to expand functionality. The processing steps are more explicit now, and the logs are better now to understand the final output.
A new parameter on presentation.yml was added to enable the admin to add an offset for the audio stream - this is mainly useful when the session ran with h264, because the video takes longer for the client to encode, and then in the recording we can see the huge gap between audio and video.
2013-06-13 17:10:52 -03:00
Gustavo Salazar
2483f76ee6
create audio.webm to play it in IE
2013-06-11 17:20:34 -05:00
Gustavo Salazar
e89bb22e9f
no need to publish events.xml
2013-06-11 17:02:12 -05:00
Gustavo Salazar
f1cd2f071e
publish audio files only if video is not available
2013-06-11 17:00:08 -05:00
Calvin Walton
80ceefa5ca
presentation: Fix presentations which are images not pdfs
...
This was broken by my earlier change to fallback the pdf filename for
really old recordings.
Rearrange the code so that the pdf logic is only used in the case when
the presentation is a pdf.
2013-05-17 14:32:14 -04:00
Calvin Walton
366d5901a4
presentation: Support processing 0.80 rectangles and ellipses.
2013-05-17 14:29:49 -04:00
Calvin Walton
ff1e0e948a
RaP: Presentation: Fix panzoom generation to handle no slides
...
It's a pretty rare case, but I've seen some recorded meetings that had
no slides (not even the default pdf). Handle this without crashing.
2013-05-14 14:11:53 -04:00
Calvin Walton
6083403631
RaP: Presentation: Support old recordings with '.pdf' in presentation name
...
In some old recordings (0.80?) I've seen the default presentation pdf
located at the filename .../default.pdf/default.pdf. Support this old
location with fallback logic so the new scripts will work to reprocess
old recordings.
I've improved the error handling logic here a bit as well.
2013-05-14 14:02:23 -04:00
Calvin Walton
a1946007a6
RaP: Presentation: Don't process audio twice when no video.
...
The audio is unconditionally processed earlier in the script. Remove the
line that runs it again when there is no video in the recording.
2013-05-14 13:59:14 -04:00
Calvin Walton
4962cc713f
Recording: Add a fake panzoom event if none are in the events xml
...
This is required so that the 'presentation' recording format can
reprocess recordings from BigBlueButton 0.80
2013-05-06 17:01:42 -04:00
gustavo salazar
338ed2bc6c
store error messages in the script log file. Fix #1281
2013-04-02 18:53:08 -05:00
gustavo salazar
93ed54795e
process last 'pan and zoom' event. Fix #1451
2013-04-02 17:35:57 -05:00
Gustavo Salazar
256a9dc200
set text file only when it exists
2013-02-13 17:13:55 -05:00
Gustavo Salazar
d6a5b78299
accept image extensions in uppercase
2013-01-23 12:40:01 -05:00
Gustavo Salazar
821e8c823d
fix 'clear page' action in playback
2012-11-28 11:42:25 -05:00
Gustavo Salazar
8f973cd1f4
fix playback of whiteboard for slides in 'portrait' mode
2012-11-27 17:41:14 -05:00
Gustavo Salazar
93a1f2f2a1
Increase height of text box in playback
2012-10-26 14:15:11 -05:00
Gustavo Salazar
66e8fbbdbb
Draw squares properly in the playback
2012-10-26 13:44:06 -05:00
Gustavo Salazar
033e76f5c4
Detect and draw circles in playback
2012-10-22 13:55:44 -05:00
Gustavo Salazar
41b9467c77
Align and wrap text
2012-10-20 15:28:20 -05:00
Gustavo Salazar
1a8d263da4
Set color in played text
2012-10-19 15:06:52 -05:00
Gustavo Salazar
d18a677bef
Fix playback of straight line
2012-10-19 13:10:37 -05:00
Gustavo Salazar
46b0f56fe8
Wrap text in playback.
2012-10-19 13:09:16 -05:00
Gustavo Salazar
e2fbbef7de
Remove dependency on slides scripts
2012-09-15 21:27:10 -05:00
Gustavo Salazar
79b9cf1cab
Validate bounds in cursor events
2012-09-15 20:42:31 -05:00
gustavo salazar
6d90e31b85
Set playback_host in bigbluebutton.yml
2012-09-10 16:12:10 -05:00
Gustavo Salazar
2b48e2e4cb
Increase count of text shapes.
2012-09-06 16:19:51 -05:00
Gustavo Salazar
4a492c214a
Process and draw straight lines for plaback.
2012-09-06 14:21:55 -05:00
Gustavo Salazar
f5ee8b6cbf
Update license.
2012-09-04 16:42:13 -05:00
Gustavo Salazar
803be3b3be
Play audio file if video was not recorded.
2012-09-04 16:14:07 -05:00
Gustavo Salazar
baaac401d6
Process triangles.
2012-09-03 20:14:29 -05:00
Gustavo Salazar
20c6bb3722
Resize font of text events.
2012-08-30 18:55:15 -05:00
Gustavo Salazar
f5c2b9cdc5
Remove processed and published files.
2012-08-30 03:42:11 -05:00
Gustavo Salazar
85d66d5203
Use the event "ModifyTextEvent" to draw text.
2012-08-29 23:29:11 -05:00
Gustavo Salazar
eeca99f294
Get dataPoints for every event of "AddShapeEvent".
2012-08-29 16:05:44 -05:00
Gustavo Salazar
27dd7da721
Get attributes according to the type of event.
2012-08-28 14:31:14 -05:00
Felipe Cecagno
96d4037ab0
Merge branch 'master' of git://github.com/bigbluebutton/bigbluebutton
2012-08-27 16:23:59 -03:00
Felipe Cecagno
7be21e5e53
only copies the slides text files if they exist; this is to keep the script compatible with old recordings
2012-08-27 16:23:12 -03:00
Gustavo Salazar
efc52ca936
Merge pull request #60 from mconf/master
...
Video file generation for presentation playback format
2012-08-27 09:18:42 -07:00
Felipe Cecagno
f9d7f11d63
reverted the code used to process the video for the matterhorn integration; many fixes on the video processing for the new playback format "presentation"; now it's possible to set the output video resolution for the presentation playback - it's VGA by default but could be set to HD
2012-08-27 12:41:26 -03:00
Fred Dixon
347f0be656
Display initial slides correctly
2012-08-27 09:10:45 -04:00
Fred Dixon
3c70cf500b
Fixed syntax error for path to presenttion folder
2012-08-21 19:08:48 -04:00
Fred Dixon
ee29a96b6a
changed logging for publish/preentation.rb to /var/log/bigbluebutton/presenetation/publish-*
2012-08-19 17:20:15 -04:00
Fred Dixon
f2f75067ec
Changed logging for presentation.rb to /var/log/bigbluebutton/presentation/
2012-08-19 17:17:11 -04:00
Chad Pilkey
599f16863d
chat, slides, and thumbnails are all accessible now
2012-08-10 19:31:36 +00:00
Gustavo Salazar
a85e8c144e
Use webm for webcam in playback.
2012-08-07 16:36:52 -05:00
Gustavo Salazar
e523dbf9e6
Merge pull request #55 from mconf/video-playback-into-master
...
Video playback
2012-08-03 09:08:25 -07:00
Markos Calderon
2e8715988b
Fix for event urls and support for https
2012-08-01 18:55:50 -05:00
Felipe Cecagno
e8dc780c37
integrated the video playback into master, but the whiteboard events playback, as well as the presentation playback, is not functional yet - it seems that the writing.js is broken on master, tried to fix it without success
2012-08-01 17:40:58 -03:00
Fred Dixon
74a28b285d
First implementation of playback of all presentation events (slides, mouse, pan/zoom, and whiteboard)
2012-07-17 15:39:44 -04:00