Commit Graph

177 Commits

Author SHA1 Message Date
Calvin Walton
f0304a120a Handle panzoom at same time as slide change correctly.
Because of the >=, a panzoom at the same time as a slide change was matching
the previous slide rather than the expected new slide.
2017-08-17 11:59:06 -04:00
Calvin Walton
0087139f0d rnp: Fix playback to handle shape updates correctly.
The previous code would cause shapes to "blink" during updating if
the updates weren't continuous - in a gap between updates, the shape
would disappear.

Rework the logic for looking up "current" shapes to return the
nearest previous update rather than only exact matching timestamps,
and simplify the logic that decides whether to make a shape visible
or hidden.
2017-08-14 18:18:16 -04:00
Pedro Beschorner Marin
719ef1377a Merge remote-tracking branch 'mconf' into merging-into-bbb-1.1
Conflicts:
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
	bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
	bbb-video/src/main/java/org/bigbluebutton/app/video/converter/VideoRotator.java
	bigbluebutton-client/locale/en_US/bbbResources.properties
	bigbluebutton-client/locale/pt_BR/bbbResources.properties
	bigbluebutton-client/resources/prod/MconfLive.html
	bigbluebutton-client/src/org/bigbluebutton/common/Images.as
	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/present/ui/views/PresentationWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
	bigbluebutton-config/bin/bbb-conf
	record-and-playback/core/lib/recordandplayback/generators/audio_processor.rb
	record-and-playback/core/lib/recordandplayback/generators/video.rb
	record-and-playback/core/scripts/rap-worker.rb
	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
2017-06-07 19:31:15 +00:00
alexandre
cbd01875b9 Storing meeting duration
We were getting the duration with a Popcorn temporary instance. This was causing a slowly increase on the cpu usage, which could compromise the performance of long recordings.
2017-06-02 15:45:09 -03:00
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
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
Pedro Beschorner Marin
8ec81f84d4 Refactored shapes drawing 2017-05-15 21:07:42 +00: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
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
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
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
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
Pedro Beschorner Marin
0223faec5a Positioning cursor over deskshare whiteboard on the playback 2016-12-16 12:49:46 +00:00
Pedro Beschorner Marin
ac9504fdd2 Annotations over deskshare whiteboard at playback 2016-12-15 17:19:10 +00: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
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