Commit Graph

388 Commits

Author SHA1 Message Date
Felipe Cecagno
6dd0641de2 disable padding on body to handle the case when the playback is embedded in a third party app with a header 2017-05-31 20:37:57 -03:00
alexandre
fc3c6134a7 Reverting shapes drawing refactoring
There are some cases in which annotations does not appear. It needs more testing.
2017-05-30 14:51:20 -03:00
alexandre
d7b38ced81 Removing deskshare intervals in the slide aspect calculations
Deskshare has it own functions to set its aspect. We were causing wrong annotations positioning as well as wrong slide resizing.
2017-05-30 14:39:55 -03:00
Felipe Cecagno
e45fd8794a Merge branch 'mconf' of github.com:alexandrekreis/bigbluebutton into mconf 2017-05-24 16:54:36 -03:00
alexandre
c75a19d990 function is_video_valid returns true if video is valid 2017-05-23 17:02:26 -03:00
alexandre
155cc4edad Video sync mechanism refactoring
- Created function "seySync( )" which sets the sync logic. Basically, we sync all medias when pausing the master video. We pause the master video when any video receives a waiting event, or when the master video is seeked. If necessary, we resume playing after the sync.

- Refactored when 'media-ready' event is fired.  We fire this event only when the medias receive a 'canplayall' event.
2017-05-18 18:05:49 -03:00
alexandre
81b2242055 Improving playback performance and video sync
- Popcorn "onFrame" method runs around 6 times per second. That was unnecessary , causing the CPU work to significantly increase, and preventing the two videos (deskshare and webcam) to run together smoothly

- We only synchronize the medias if one of them fires a "waiting" event. If the user pauses the playback, we synchronize them as well.
2017-05-16 18:34:10 -03:00
alexandrekreis
6a497c27f8 Merge pull request #4 from pedrobmarin/shapes-drawing
Refactored shapes drawing
2017-05-16 17:31:05 -03:00
Felipe Cecagno
654fd8c553 fix issue introduced by last commit, in which the full path of the deskshare video file was not provided in order to check if it was a valid video or not 2017-05-16 13:55:48 -03:00
Pedro Beschorner Marin
8ec81f84d4 Refactored shapes drawing 2017-05-15 21:07:42 +00:00
Felipe Cecagno
9f6ef49847 check if the deskshare video file is valid before processing it 2017-05-07 19:12:34 -03:00
Pedro Beschorner Marin
000d0a038e Fixed multiline text annotations in playback 2017-04-27 17:43:35 +00:00
Pedro Beschorner Marin
b52bf09a45 Fixed wrong font sizes and placement in playback so now they match the annotated text from the presentation 2017-04-27 17:31:48 +00:00
Pedro Beschorner Marin
d55f0dddf5 Fixed multiline text annotations in playback 2017-04-26 18:59:55 +00:00
Calvin Walton
da79ecdada Handle BBB 0.81 slide/pageNumber base mismatch
In BBB 0.81, the slide number was base 0, while the shape page number was
base 1. We already have a conditional for checking 0.9+; use that to
add a workaround for old BBB recordings.
2017-04-26 14:02:52 -04:00
Calvin Walton
a5adebd3e0 Use the presentation name/page number to match shapes to pages, not time.
The previous code assumed that if a shape event's timestamp was during the
time when a particular slide was visible, then the shape belonged to that
slide. This isn't always true with the text shapes, since a final close
event can be sent after the slide has switched.

For a more future-proof matching, use the presentation name and page number
fields on the shape events when available to match them with the appropriate
slide image.
2017-04-26 14:02:52 -04:00
Pedro Beschorner Marin
660574fcfa Fixed wrong font sizes and placement in playback so now they match the annotated text from the presentation 2017-04-26 14:18:08 +00:00
alexandre
f8c976fd54 Certifying that we process the audio before getting it in AudioProcessor 2017-04-13 17:23:13 -03:00
Pedro Beschorner Marin
c45e14e185 Alexandre's fit-to-width height scaling fix 2017-04-11 20:50:53 +00:00
Pedro Beschorner Marin
086ea510c4 Avoid keeping unwanted annotations when seeking over the playback. This fixes a major bug but loses some of the smoothness that I could't avoid 2017-04-11 20:47:30 +00:00
Felipe Cecagno
0253fd5a38 improve readability; fix indentation 2017-04-07 22:16:36 -03:00
alexandre
2dd61df1c6 Handling fit-to-width events in recording playback
The playback had no handling for this type of event. The aspect ratio used to calculate the max-width of the slide div has to be the vbox aspect ratio.
2017-04-07 17:09:54 -03:00
Calvin Walton
e77b50d2c6 recording presentation: Reduce the top/bottom margin so bars fit better
gnuplot's auto-margins don't work well on this graph, so manually specify
the top/bottom (actually left/right - the graph is rotated 90°) to make
the bars fit better, particularly when using wide aspect ratio slides.
2017-04-06 18:04:10 -04:00
Calvin Walton
0a1667f293 recording presentation: Correctly calculate width of bar in poll results
The code was previously dividing by the total number of votes rather than
the max number of votes, which meant it was underestimating the width of
the bars. In some cases, this meant that the label for number of votes would
overlap the percentages.

Fixes #3725
2017-04-06 14:35:31 -04:00
Pedro Beschorner Marin
f59e42bb02 Merge remote-tracking branch 'bigbluebutton/master' into merging-into-bbb-1.1 2017-04-04 20:42:15 +00:00
Pedro Beschorner Marin
84fd8d4101 Branding back to BigBlueButton and adding back some of the client images we removed. This need to be reviewed to avoid having all this unused images! 2017-04-03 17:06:16 +00:00
Chad Pilkey
1e4baeaffa fix the recording play button to work with devices that have touch and a mouse 2017-03-23 15:38:28 -04:00
Pedro Beschorner Marin
0ab207c997 Merge remote-tracking branch 'mconf/mconf' 2017-03-21 19:47:11 +00:00
Pedro Beschorner Marin
c74cc682c4 Merge remote-tracking branch 'mconf/mconf' 2017-03-20 19:45:59 +00:00
Richard Alam
3c397d8d71 - fix copying of meeting element into metadata.xml 2017-03-15 09:45:58 -07:00
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
Fred Dixon
5eea825e7f Merge pull request #3695 from kepstin/presentation-question-mark
Correctly use jquery to modify links in chat messages.
2017-03-01 14:39:57 -05:00
Calvin Walton
e782709913 Correctly use jquery to modify links in chat messages.
The code was previously passing the message string provided by the user
directly to jQuery - which works okish if the first character is '<' since
it'll parse it as HTML, but the chat messages don't. As a result, it was
sometimes being parsed as a selector, failing, and raising an exception.

The fix is to put the chat message into a DOM node (have the browser parse
the HTML) before doing the jQuery operation to modify the link targets.

Fixes #3670
2017-03-01 10:38:39 -05:00
Felipe Cecagno
c8a91bc6d4 avoid breaking if there's no deskshare.xml in the published presentation recording
Conflicts:
	record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
2017-02-24 19:54:40 +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
ccd4bc4268 Removing timeline attribute for deskshare video
We don't need it. This causes duplicate chat messages in recording playback.
2017-02-16 17:24:33 -02:00
Pedro Beschorner Marin
7a4cd67fc3 Adjusting playback to work with old recordings 2017-02-14 13:52:44 +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
efb9082b9d Hiding deskshare cursor 2017-02-01 14:15:55 +00:00
Pedro Beschorner Marin
b91535741b Refactored canvas handling 2017-01-31 14:06:38 +00:00
Pedro Beschorner Marin
0647cdf3b1 Fixed NPE and did some cursor drawing refactoring at playback 2017-01-31 13:45:43 +00:00
Pedro Beschorner Marin
91092e066a Fixed playback when there is no deskshare canvas 2017-01-27 17:01:59 +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
alexandre
b19ce7f714 In recording playback, chat links open in a new tab
Fixes #3590
2017-01-25 18:21:49 -02:00
alexandre
ac094aa89a Restoring annotations when swapping presentation with video
Fixes #3561
2017-01-13 17:03:05 -02:00
alexandre
dde5f23188 Fixing misalignment when swapping presentation with video
To swap presentation with video we need to retrieve what was the current viewbox size and set it again.

Fixes #3545
2017-01-11 18:05:30 -02:00
Calvin Walton
b077d48644 Drop chrome frame support
Chrome frame has been discontinued for quite a while. The playback code actually
does work in IE if you install an extra codec pack or switch the video format used.
2017-01-06 10:31:29 -05:00
Calvin Walton
dadeb40fa0 Add a callback to sync popcorn initialization after video element is ready.
Due to the extra delays added by setting up the closed captions, it happens more
often that the writing.js code will attempt to initialize popcorn on the video
element before the video element actually exists on the page.

(This was always a problem, it's just worse now)

Add a synchronization point which will delay the popcorn initialization until the
video element is ready.
2017-01-06 10:30:31 -05:00
Calvin Walton
2aa3ebb16b "use strict"; should never be used at top level in a JS file
This can create weird conflicts when using other libraries
2017-01-06 10:19:38 -05:00
Pedro Beschorner Marin
e5f6ce8185 Make sure to create video element before running Popcorn 2017-01-03 13:13:36 +00:00
Pedro Beschorner Marin
adbb81e1c5 Cleanup 2016-12-21 18:35:21 +00:00
Pedro Beschorner Marin
9646bd4cef Fixed annotations to work with Chrome 2016-12-21 16:47:42 +00:00
kreismann
4e2dc4077a Fixing deskshare video positioning
This also fixes deskshare video/user video swap on playback.
2016-12-20 13:36:02 -02: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
0223faec5a Positioning cursor over deskshare whiteboard on the playback 2016-12-16 12:49:46 +00: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
5563e607fc Changed loading bar theme 2016-12-02 13:50:00 +00:00
Pedro Beschorner Marin
0248d42179 Updated presentation_export with new deskshare features, loading bar and JSON slides text file 2016-12-01 20:04:06 +00: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
Pedro Beschorner Marin
b762795cc9 Cleanup 2016-11-29 17:33:05 +00: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
c3b0bd46b2 Deskshare video positioning
Applying slide resizing algorithm to deskshare video as well. Also, removing deskshare-video-area.
2016-11-01 17:39:06 -02: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
d06b3468ac Minor playback.js cleanups
Use a function that handles parameters correctly when updating the
timestamp in the url for links, fix indentation in caption loading code.
Treat exceptions when checking for url existence as errors.
2016-08-12 15:24:55 -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
a280a0d0ef RnP: Hack acornmediaplayer to use browser captions 2016-08-02 16:32:11 -04:00
Calvin Walton
dfce828e93 RnP: Add <track> elements for available captions 2016-08-02 15:31:46 -04:00
Calvin Walton
d4380ce012 RnP: Check if the captions.json is available 2016-08-02 15:15:09 -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
abebee010f Merge branch 'daronco/responsive-playback' into mconf
Conflicts:
	record-and-playback/presentation/playback/presentation/0.9.0/logo.png
	record-and-playback/presentation/playback/presentation/0.9.0/playback.html
2016-07-12 16:26:47 +00:00
Pedro Beschorner Marin
fac305f8f6 Merge commit '427a288dfe61cfdb28cc1c20a11a36c84f3a33d9' from daronco/responsive-playback into bigbluebutton/v1.0.x-release
Conflicts:
	record-and-playback/presentation/playback/presentation/0.9.0/playback.html
2016-07-12 14:21:04 +00: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
Richard Alam
7ae9b7b204 Merge branch 'merge-webrtc-ds' of https://github.com/antobinary/bigbluebutton into antobinary-merge-webrtc-ds
Conflicts:
	akka-bbb-apps/build.sbt
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
	akka-bbb-fsesl/build.sbt
	akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/ESLEventListener.java
	akka-bbb-fsesl/src/main/scala/org/bigbluebutton/freeswitch/VoiceConferenceService.scala
	bbb-common-message/build.sbt
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
	bigbluebutton-apps/build.gradle
	bigbluebutton-web/grails-app/conf/spring/resources.xml
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2016-05-20 20:27:52 +00:00
Leonardo Crauss Daronco
da07d4513f Merge remote-tracking branch 'upstream/master' into responsive-playback 2016-05-18 17:19:44 -03:00
Anton Georgiev
c2e6fb9a72 undo some of the webrtc ds record changes 2016-05-18 17:34:30 +00:00