Description of changes:
Refactored the app to better support a wider range of browsers and devices (including mobile devices), and make it more straightforward to extend with additional layouts.
Notable changes:
Add portrait and landscape orientation support for web and mobile devices.
Update layout manager to use Templates, which are pre-defined groups of layers that can be added, removed, or refreshed from the Broadcast canvas. For visual layers, templates support coordinate variables like CANVAS_WIDTH, CANVAS_HEIGHT,LAYER_WIDTH and LAYER_HEIGHT. It is also possible to define and import custom templates.
Show mute icon on stream when microphone is muted
Handle device changes and switch to another device if an active device (such as an external microphone) is disconnected.
Move Broadcast SDK helpers and state into react providers & context.
Reduce state variables and memoize state to reduce unnecessary re-renders
Remove custom CSS and add theme support for more convenient UI theme changes.
Upgrade to Next.js 14
Screenshots:
Streaming on MacOS Chrome
Screensharing on MacOS Chrome
Streaming on iOS Safari
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Description of changes: Refactored the app to better support a wider range of browsers and devices (including mobile devices), and make it more straightforward to extend with additional layouts.
Notable changes:
CANVAS_WIDTH
,CANVAS_HEIGHT
,LAYER_WIDTH
andLAYER_HEIGHT
. It is also possible to define and import custom templates.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.