Commit Graph

470 Commits

Author SHA1 Message Date
Daniel Petri Rocha
6b0f2e8877 Don't log draw/cursor events as often
+ Shorter syntax for opening and closing files
2021-12-06 19:35:32 +01:00
Daniel Petri Rocha
5aff9c0923 Fasterer: quicker undo, prev_shape 2021-12-06 18:59:10 +01:00
Daniel Petri Rocha
3dcacea379 Optimize XPATH queries 2021-12-06 15:30:34 +01:00
Daniel Petri Rocha
b3601eb8df Performance: << faster than += for strings 2021-12-06 13:58:04 +01:00
Daniel Petri Rocha
e7661f385d Refactor sections of identical code 2021-12-06 12:40:11 +01:00
Daniel Petri Rocha
8901f2a936 snake_case for methods 2021-12-05 20:09:46 +01:00
Daniel Petri Rocha
971aeb9e3d Use instance variables instead of global variables 2021-12-05 19:35:22 +01:00
Daniel Petri Rocha
1d9146a101 Chore: remove useless variables and more
+ Use guard clauses where applicable
+ Use JSON parse over JSON load
+ Rescue StandardError instead of Exception
+ Formatting / Stylistic choices json parse over load
2021-12-05 19:04:21 +01:00
Daniel Petri Rocha
a687ab320d Fix Q_CURVE_TO annotation path 2021-12-05 16:09:26 +01:00
Daniel Petri Rocha
25a10455b3 Linting changes 2021-12-05 15:53:06 +01:00
Daniel Petri Rocha
59c3590d3b Use first- and last_event_timestamps
As requested by @kepstin
2021-11-17 16:11:59 +01:00
Daniel Petri Rocha
06a9392af0 Prevent unnecessary file copying in presentation recording processing
Uses archived raw files directly instead of copying them over.
Specifies absolute paths in XPATH expressions for faster query speeds

Linting changes:
Removes useless assignments to ext, metadata_with_playback variables
Use frozen string literals
Use YAML safe load and JSON parse over load
Rescue StandardError instead of Exception
2021-11-16 00:11:20 +01:00
Anton Georgiev
13aba985cb
Merge pull request #10737 from hiroshisuga/fillshape
feat: Fill shape in whiteboard
2021-11-02 15:03:22 -04:00
Calvin Walton
1654f26084 recording: Anonymize names in chat
Move the handling of chat events into the shared library so it can be
used by multiple recording formats.

The anonymization of names is based on the external user id, if
available, so users have a consistent name through the meeting. Note
that no effort is made to edit chat messages - if someone is mentioned
by name in a chat message, that will still be visible.

Default settings for anonymization can be controlled in
bigbluebutton.yml, and per-meeting overrides can be done using meta
parameters on the create call.
2021-09-02 15:02:27 -04:00
germanocaumo
4392b0d462 feat(recording): process published external videos
Generate a external_videos.json file at the recordings with an array of
played external videos url and timestamp.

This file will be published along with the other presentation format files
and can be used to display at the playback.
2021-07-07 13:26:24 +00:00
Pedro Beschorner Marin
93f00196a6 feat(recording): process published polls
Generate a poll JSON file at the recordings with an array of published
polling data:
 - type;
 - question;
 - answers;
 - number of responders; and
 - number of respondents

This file will be published along with the other presentation format files
and can be used to display the poll results at the playback.
2021-06-17 18:46:03 -03:00
hiroshisuga
e0a78ffbac
Merge branch 'develop' into fillshape 2021-05-14 20:57:16 +09:00
Andrei Bautu
beb66512a0 Recording processing using MP4/OGG temporary files, stream copy, and customizable (lower) frame rates.
Discussion from https://github.com/bigbluebutton/bigbluebutton/issues/2483
2021-03-08 20:14:48 +02:00
Felipe Cecagno
47af1a391b publish presentation format to use the new bbb-playback; redirect 2.0 to 2.3 by default 2020-12-20 21:43:54 -03:00
Anton Georgiev
c1ffced27d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into develop 2020-12-17 21:14:29 +00:00
Anton Georgiev
d3dae5828a
Merge pull request #10984 from defnull/patch-nfs
Fix: Presentation publishing fails when run on NFS storage
2020-12-08 20:05:46 -05:00
Marcel Hellkamp
9b17dab2e6 Fix: Presentation publishing fails when run on NFS storage
PR #9857 was incomplete and did not completely fix the issues described in #9062 and #9110 (dublicate).
2020-12-07 16:10:54 +01:00
Pedro Beschorner Marin
7206b8acc3 Publish recorded shared notes' content
Collects the shared notes' HTML raw data and publishes it along with the other
recording files. The playback will fetch for this file and include an option to
display it's content over the chat.
2020-12-04 09:08:43 -03:00
beckerr-rzht
9eee10eee1
Merge branch 'develop' into develop 2020-12-04 09:45:21 +01:00
hiroshisuga
7d0a27126b
Update presentation.rb 2020-10-28 15:03:40 +09:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
Calvin Walton
86c821f4c5 Recording: Skip shapes with missing "thickness" attribute
Not sure what causes this issue, but there's nothing reasonable that can
be done to draw a shape with no thickness. Just skip it.
2020-09-25 16:13:29 -04:00
Sebastian Berm
0d66e86f83
Added function to library 2020-07-30 11:19:54 +02:00
Sebastian Berm
dbb8575771
Update to playback to support br's with newlines. 2020-07-30 11:17:53 +02:00
Anton Georgiev
b0e1dc8378 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-2.3-july-6 2020-07-07 14:35:34 +00:00
Pedro Beschorner Marin
526f79e8f2 Merge remote-tracking branch 'bigbluebutton/v2.2.x-release' into bigbluebutton/develop 2020-06-30 18:15:18 -03:00
Calvin Walton
3d800b68f1 Fix generation of fallback images if the presentationName contains spaces 2020-06-24 12:12:19 -04:00
Calvin Walton
b4456e323a Skip copying presentation thumbnails if they don't exist 2020-06-24 11:42:58 -04:00
mw781
f60059c983 Ensure that files are handled safely 2 2020-06-17 11:13:07 +01:00
Anton Georgiev
5e90092fac
Merge pull request #8999 from kepstin/missing-font-size
presentation: ignore text shapes with missing calcedFontSize
2020-05-26 10:28:19 -04:00
Fred Dixon
13d123058a
Merge pull request #9671 from kepstin/missing-font-size
presentation: ignore text shapes with missing calcedFontSize
2020-05-25 18:19:53 -04:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
Fred Dixon
e48e5bf336 Fix presenation playback on iPad for iOS 13 2020-05-16 10:28:28 -05:00
beckerr-rzht
d8cb64c129
[FIX] playback doesn't start in iPadOS
Playback a presentation does not start on iPad with iPadOS 13 and higher.
The root cause is that `mobileAndTabletCheck` does not detect an iPad as mobile device.
The reasons for this are discussed here:  https://github.com/serbanghita/Mobile-Detect/issues/795
A way to detect Safari on IPadOS as mobile device is described here: https://stackoverflow.com/a/60553965
I've added a function `detectLyingiOS13iPad` to work around this problem.
2020-05-10 17:53:22 +02:00
Calvin Walton
bfe8676df5 presentation: ignore text shapes with missing calcedFontSize
There's nothing reasonable we can do here if the font size is missing.
2020-04-06 12:46:57 -04:00
Calvin Walton
aee7baa76b Merge branch 'v2.0-rap-on-resque' of github.com:daronco/bigbluebutton 2020-01-17 17:40:08 -05:00
Calvin Walton
c211bd4dc5 recording presentation format: round poll sizes to integers
If the poll size happened to be not an integer, the poll generation would fail.
Round it to an integer for the generation tool.
2020-01-14 16:19:32 -05:00
Calvin Walton
9907588b5e presentation recording: generate poll svg images without gnuplot
Write a tool that generates the poll svg images directly from the
BBB poll description. This avoids the issues with special characters
in the gnuplot labels, and gives us a lot more flexibility in how
the polls are formatted and styled.
2020-01-13 14:34:30 -05:00
Calvin Walton
10d6751039 Remove special characters from the gnuplot labels 2019-12-19 10:21:36 -05:00
Calvin Walton
aa26c1d512 Remove special characters from the gnuplot labels 2019-12-19 10:14:20 -05:00
Leonardo Crauss Daronco
62d62a2a1e Merge remote-tracking branch 'upstream/master' into v2.0-rap-on-resque
# Conflicts:
#	bigbluebutton-config/bin/bbb-conf
#	record-and-playback/core/Gemfile.lock
#	record-and-playback/core/lib/recordandplayback/events_archiver.rb
#	record-and-playback/core/scripts/archive/archive.rb
#	record-and-playback/core/scripts/bigbluebutton.yml
#	record-and-playback/core/scripts/rap-process-worker.rb
#	record-and-playback/core/scripts/rap-publish-worker.rb
#	record-and-playback/core/scripts/rap-sanity-worker.rb
#	record-and-playback/core/scripts/rap-starter.rb
#	record-and-playback/core/scripts/sanity/sanity.rb
#	record-and-playback/core/systemd/bbb-rap-archive-worker.service
#	record-and-playback/core/systemd/bbb-rap-process-worker.service
#	record-and-playback/core/systemd/bbb-rap-publish-worker.service
#	record-and-playback/core/systemd/bbb-rap-sanity-worker.service
#	record-and-playback/core/systemd/bbb-record-core.target
2019-12-04 17:33:44 -03:00
Pedro Beschorner Marin
4bc6fae649 Patching playback updates for iOS (#8195) 2019-10-21 16:05:59 -04:00
Calvin Walton
69aa493d90 Make presentation playback continue if deskshare.xml was not found
Someone on the mailing list had some recordings which were using the 2.0
playback, but were missing the deskshare.xml file (which should always
be present for 2.0… strange). It's safe to continue loading the recording
playback if the deskshare.xml file is not found, the recording will just act
as if there were no deskshare start/stop events.
2019-10-18 12:42:29 -04:00
Calvin Walton
726406f0f5 presentation playback: Make setMediaSync a no-op if there's no deskshare
Previously the setMediaSync function was only called after the deskshare
loaded, but by moving it to run after all media loaded, it now runs even
on recordings that didn't have deskshare. Make it do nothing (return early)
in that case.
2019-10-09 12:32:57 -04:00
Calvin Walton
d5097fa43e Fix deskshare media sync when deskshare loads before webcam/audio
If the secondary media loaded before the main media, it would run the
"setMediaSync" function before the main media player was setup. As a
side-effect of setting up the main media player, all of the event handlers
added by the setMediaSync function are detached, and so the secondary
media never starts playing.

Move the call to setMediaSync to after the media-ready events for all
media have fired, so that it can reliably attach the event handlers.
2019-10-07 15:21:40 -04:00