bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/layout/layout-manager
prlanzarin b8811bafd4 fix(layout): use actual screen share size when calculating smart layout
Smart layout (et al) presumes screen sharing will always use 100%
width of the media area. That causes cameras to always be positioned on
top, which is not always the optimal position depending on the viewport
and stream aspect ratio/resolution - so space is wasted.

This commit uses the actual screen sharing video size as provided by
HTMLVideo's videoWidth/videoHeight properties. The calculation uses the
same logic as the one used for presentation/slides, which should make it
a bit familiar.

There's also a handler for HTMLVideo's `resize` event for those browsers
that support it - which enables handling of variable-sized screen
sharing streams. That handler is debounced at 500 ms to prevent
excessive CPU use.

Extra testing is needed with the widest range possible of
browsers/environments and feature combinations.
2022-07-22 13:28:43 +00:00
..
customLayout.jsx fix(layout): use actual screen share size when calculating smart layout 2022-07-22 13:28:43 +00:00
layoutEngine.jsx handle cursor positions for smart layout 2022-07-06 20:03:04 +00:00
presentationFocusLayout.jsx fix(layout): use actual screen share size when calculating smart layout 2022-07-22 13:28:43 +00:00
smartLayout.jsx fix(layout): use actual screen share size when calculating smart layout 2022-07-22 13:28:43 +00:00
videoFocusLayout.jsx fix(layout): use actual screen share size when calculating smart layout 2022-07-22 13:28:43 +00:00