MediaSFU Flutter SDK
Build production-ready video conferencing, webinars, broadcasts, and chat in minutes.
MediaSFU Flutter SDK provides prebuilt, fully-featured event room components with real-time video/audio, screen sharing, recording, chat, polls, whiteboards, and more — ready to drop into your Flutter app.
⚠️ Important: Backend Server Required
MediaSFU is a frontend SDK that requires a backend media server to function.
You have two options:
| Option | Description | Best For |
|---|---|---|
| ☁️ MediaSFU Cloud | Managed service at mediasfu.com | Production apps, zero infrastructure |
| 🏠 MediaSFU Open | Self-hosted open-source server | Full control, on-premise requirements |
# Option 1: Use MediaSFU Cloud
# Sign up at https://www.mediasfu.com and get your API credentials
# Option 2: Self-host with MediaSFU Open
git clone https://github.com/MediaSFU/MediaSFUOpen
cd MediaSFUOpen
docker-compose up -d
📖 MediaSFU Cloud Documentation →
📖 MediaSFU Open Repository →
✨ Platform Features
MediaSFU delivers enterprise-grade real-time communication with these core capabilities:
🎥 Video & Audio
- Multi-party video conferencing with adaptive quality
- Screen sharing with real-time annotation
- Virtual backgrounds and video effects (Android/iOS)
- Audio-only participant support
🎤 Real-time Translation 🌍
- Speak in any language — The system knows what language you're speaking
- Listen in any language — Hear others translated to your preferred language
- Live transcription — Real-time transcripts during meetings
- 50+ languages supported — Global communication made seamless
👥 Participant Management
- Panelists Mode — Designate speakers in webinars with audience Q&A
- Individual Permissions — Granular control per-participant (video/audio/screen/chat)
- Group Permissions — Apply permission templates to participant groups
- Waiting room with manual admit
- Co-host delegation with configurable responsibilities
- Breakout rooms for focused discussions
📊 Engagement Tools
- Live polls with real-time results
- In-meeting chat (direct & group)
- Collaborative whiteboards
🎬 Recording & Analytics
- Cloud recording with track-based customization
- Watermarks, name tags, custom backgrounds
- Real-time call analytics
🔒 Security & Control
- End-to-end encryption option
- Managed events with time/capacity limits
- Abandoned participant handling
📖 Table of Contents
- Quick Start
- Installation
- Platform Setup
- Prebuilt Event Rooms
- Modern UI Components
- Usage Examples
- Customization
- Self-Hosting / Community Edition
- Advanced Features
- Detailed Documentation
🚀 Quick Start
flutter pub add mediasfu_sdk
import 'package:flutter/material.dart';
import 'package:mediasfu_sdk/mediasfu_sdk.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MediasfuGeneric(
options: MediasfuGenericOptions(
credentials: Credentials(
apiUserName: "yourUsername",
apiKey: "yourAPIKey",
),
),
),
);
}
}
That's it! You now have a fully-featured video conferencing room.
📦 Installation
flutter pub add mediasfu_sdk
Requirements
- Flutter: 3.3.3 or higher
- Dart: 3.3.3 or higher
Platform Support
| Platform | Supported | Notes |
|---|---|---|
| Android | ✅ | Min SDK 23 |
| iOS | ✅ | iOS 12.0+ |
| Web | ✅ | HTTPS required |
| macOS | ✅ | macOS 10.15+ |
| Windows | ✅ | - |
| Linux | ✅ | - |
🔧 Platform Setup
Each platform requires specific permissions and configurations. See the Platform Setup Guide for detailed instructions:
Quick Platform Checklist
| Platform | Key Requirements |
|---|---|
| Android | Camera, microphone, internet permissions in AndroidManifest.xml |
| iOS | Camera, microphone usage descriptions in Info.plist |
| macOS | Entitlements for camera, microphone, network access |
| Web | HTTPS for production; browser permissions |
| Windows/Linux | Standard Flutter desktop setup |
Optional Dependencies
Some features require platform-specific dependencies. If installing from pub.flutter-io.cn, add these to your app's pubspec.yaml based on your target platforms:
# pubspec.yaml - Add as needed:
# Virtual Backgrounds (Android/iOS only)
google_mlkit_selfie_segmentation: ^0.8.0
# Web platform enhancements (Web only)
web: ^1.1.1
dart_webrtc: ^1.4.6
| Feature | Dependency | Platforms |
|---|---|---|
| Virtual Backgrounds | google_mlkit_selfie_segmentation |
Android, iOS |
| Whiteboard Canvas (Web) | web, dart_webrtc |
Web |
Note: If you clone from GitHub, all dependencies are already included. The pub.flutter-io.cn version excludes platform-specific deps so it shows support for all platforms.
🏛️ Prebuilt Event Rooms
| Component | Use Case | Description |
|---|---|---|
MediasfuGeneric |
Universal | Supports all event types dynamically |
ModernMediasfuGeneric |
Universal (Premium) | Theme-aware, glassmorphism UI |
MediasfuConference |
Meetings | Multi-party video conferencing |
MediasfuWebinar |
Webinars | Presenters + audience model |
MediasfuBroadcast |
Broadcasting | One-to-many live streaming |
MediasfuChat |
Chat Rooms | Text-based with optional media |
All prebuilt components share the same options interface:
MediasfuGenericOptions(
// Authentication
credentials: Credentials(apiUserName: "user", apiKey: "key"),
// Connection
localLink: "", // Self-hosted server URL
connectMediaSFU: true, // Toggle auto-connection
// Customization
preJoinPageWidget: customPreJoin, // Custom pre-join page
customVideoCard: customVideoCard, // Custom video display
customAudioCard: customAudioCard, // Custom audio display
customMiniCard: customMiniCard, // Custom mini display
// Advanced
returnUI: true, // Set false for headless mode
useLocalUIMode: false, // Demo/local mode
seedData: seedData, // Pre-populate for demos
)
🎨 Modern UI Components
ModernMediasfuGeneric is the most advanced, theme-aware variant featuring:
- Premium glassmorphism design with backdrop blur effects
- Dark/Light theme support built-in with automatic detection
- Smooth animations and micro-interactions
- Premium color system with gradient support
- Responsive layouts for all screen sizes
import 'package:mediasfu_sdk/mediasfu_sdk.dart';
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ModernMediasfuGeneric(
options: ModernMediasfuGenericOptions(
credentials: Credentials(apiUserName: "user", apiKey: "key"),
// Theme automatically adapts to system preference
),
);
}
}
Modern Components Available
| Modern Component | Classic Equivalent | Features |
|---|---|---|
ModernVideoCard |
VideoCard |
Glass effect, animated borders |
ModernAudioCard |
AudioCard |
Gradient waveforms, glow effects |
ModernMiniCard |
MiniCard |
Sleek thumbnails with status |
ModernMenuModal |
MenuModal |
Slide animations, blur backdrop |
ModernMessagesModal |
MessagesModal |
Chat bubbles, typing indicators |
ModernRecordingModal |
RecordingModal |
Status animations, progress rings |
ModernParticipantsModal |
ParticipantsModal |
Search, filters, role badges |
ModernBackgroundModal |
BackgroundModal |
Image gallery, blur previews |
ModernPollModal |
PollModal |
Real-time voting, animations |
ModernBreakoutRoomsModal |
BreakoutRoomsModal |
Drag-and-drop, room previews |
ModernPanelistsModal |
— | Panelist management for webinars |
ModernPermissionsModal |
— | Per-participant permission control |
TranslationSettingsModal |
— | Real-time translation configuration |
---
## 💡 Usage Examples
### Basic Conference Room
```dart
import 'package:mediasfu_sdk/mediasfu_sdk.dart';
class ConferenceApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MediasfuConference(
options: MediasfuConferenceOptions(
credentials: Credentials(
apiUserName: "yourUsername",
apiKey: "yourAPIKey",
),
),
);
}
}
Demo/Preview Mode (No Server)
import 'package:mediasfu_sdk/mediasfu_sdk.dart';
class DemoApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MediasfuGeneric(
options: MediasfuGenericOptions(
useLocalUIMode: true,
useSeed: true,
seedData: SeedData(
member: "DemoUser",
eventType: EventType.conference,
),
),
);
}
}
Headless Mode (Custom UI)
import 'package:mediasfu_sdk/mediasfu_sdk.dart';
class CustomApp extends StatefulWidget {
@override
State<CustomApp> createState() => _CustomAppState();
}
class _CustomAppState extends State<CustomApp> {
final ValueNotifier<MediasfuParameters?> _params = ValueNotifier(null);
void _updateParams(MediasfuParameters? params) {
_params.value = params;
}
@override
Widget build(BuildContext context) {
return Stack(
children: [
MediasfuGeneric(
options: MediasfuGenericOptions(
credentials: Credentials(apiUserName: "user", apiKey: "key"),
returnUI: false, // Headless mode
updateSourceParameters: _updateParams,
),
),
// Your custom UI using _params
ValueListenableBuilder<MediasfuParameters?>(
valueListenable: _params,
builder: (context, params, _) {
if (params == null) return CircularProgressIndicator();
return MyCustomMeetingUI(parameters: params);
},
),
],
);
}
}
Custom Video Cards
VideoCardType myCustomVideoCard({
required Participant participant,
required Stream stream,
required double width,
required double height,
// ... other parameters
}) {
return Container(
width: width,
height: height,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
border: Border.all(color: Colors.purple, width: 2),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(16),
child: VideoCard(
options: VideoCardOptions(
participant: participant,
videoStream: stream.stream,
// ... configure as needed
),
),
),
);
}
// Use it
MediasfuGeneric(
options: MediasfuGenericOptions(
credentials: credentials,
customVideoCard: myCustomVideoCard,
),
)
🎨 Customization
UI Overrides
Override specific UI components while keeping the rest:
final uiOverrides = MediasfuUICustomOverrides(
mainContainer: ComponentOverride<MainContainerComponentOptions>(
render: (context, options, defaultBuilder) {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
border: Border.all(color: Colors.purple, width: 3),
),
child: defaultBuilder(context, options),
);
},
),
// Override other components...
);
MediasfuGeneric(
options: MediasfuGenericOptions(
credentials: credentials,
uiOverrides: uiOverrides,
),
)
Available Override Keys
| Category | Keys |
|---|---|
| Layout | mainContainer, mainAspect, mainScreen, mainGrid, subAspect, otherGrid, flexibleGrid, audioGrid, pagination |
| Controls | controlButtons, controlButtonsAlt, controlButtonsTouch |
| Participant | miniAudio, miniAudioPlayer, meetingProgressTimer |
| Modals | loadingModal, alert, menuModal, participantsModal, messagesModal, recordingModal, pollModal, breakoutRoomsModal, and more... |
| Entry | preJoinPage, welcomePage |
| Functions | consumerResume, addVideosGrid, prepopulateUserMedia |
🏠 Self-Hosting / Community Edition
For self-hosted MediaSFU servers:
MediasfuGeneric(
options: MediasfuGenericOptions(
localLink: "https://your-mediasfu-server.com",
connectMediaSFU: false, // Don't connect to cloud
),
)
Hybrid Mode (Local + Cloud)
MediasfuGeneric(
options: MediasfuGenericOptions(
localLink: "https://your-server.com",
connectMediaSFU: true, // Also connect to MediaSFU cloud
credentials: Credentials(apiUserName: "user", apiKey: "key"),
),
)
🌐 Advanced Features
sourceParameters - The Power API
Access all MediaSFU functionality through sourceParameters:
// Get all video/audio streams
final videoStreams = params.allVideoStreams;
final audioStreams = params.allAudioStreams;
// Control media
params.clickVideo(ClickVideoOptions(parameters: params));
params.clickAudio(ClickAudioOptions(parameters: params));
params.clickScreenShare(ClickScreenShareOptions(parameters: params));
// Toggle modals
params.updateIsParticipantsModalVisible(true);
params.updateIsMessagesModalVisible(true);
params.updateIsRecordingModalVisible(true);
// Access room state
final participants = params.participants;
final roomName = params.roomName;
final isRecording = params.recordStarted;
Panelists Mode (Webinars)
In webinar mode, designate specific participants as panelists who can speak, while others remain audience members:
// Access panelists from sourceParameters
final panelists = params.panelists;
final panelistsFocused = params.panelistsFocused;
// Listen for panelist events:
// - panelistsUpdated
// - addedAsPanelist
// - removedFromPanelists
// - panelistFocusChanged
// Toggle panelists modal
params.updateIsPanelistsModalVisible(true);
Individual & Group Permissions
Control each participant's capabilities with granular permissions:
// Permission levels:
// "0" - Standard participant
// "1" - Elevated (co-host level)
// "2" - Host (full control)
// Configure per-participant capabilities:
// - Video on/off
// - Audio on/off
// - Screen sharing
// - Chat access
// Access permission config
final permissionConfig = params.permissionConfig;
// Toggle permissions modal
params.updateIsPermissionsModalVisible(true);
Real-time Translation 🌍
Enable participants to speak in their native language and listen in any language with live AI translation:
// Translation is configured via TranslationSettingsModal
// Available in ModernMediasfuGeneric
// Translation events:
// - translation:roomConfig
// - translation:languageSet
// - translation:subscribed
// - translation:transcript
// - translation:speakerOutputChanged
// Access translation state
final translationMeta = params.translationMeta;
final translationConfig = params.translationConfig;
Translation Features:
- Set your spoken language — The system knows what language you're speaking
- Choose listening language — Hear others translated to your preferred language
- Real-time transcription — See live transcripts during meetings
- 50+ languages supported — Global communication made seamless
- Voice cloning options — Advanced TTS with custom voice configurations
Get Participant Media
Retrieve specific participant streams:
final videoStream = getParticipantMedia(
options: GetParticipantMediaOptions(
participantId: 'producer-123',
mediaType: 'video',
parameters: params,
),
);
// Or by name
final audioStream = getParticipantMedia(
options: GetParticipantMediaOptions(
participantName: 'John Doe',
mediaType: 'audio',
parameters: params,
),
);
Virtual Backgrounds (Android/iOS)
The SDK supports virtual backgrounds on Android and iOS using ML Kit:
// Virtual backgrounds are automatically available in MediaSettingsModal
// Users can select blur or image backgrounds
Note: Virtual backgrounds require an optional dependency. Add to your
pubspec.yaml:# Android/iOS only - for virtual backgrounds google_mlkit_selfie_segmentation: ^0.8.0See Platform Setup for ML Kit configuration.
📖 Detailed Documentation
For comprehensive documentation including:
- Full API reference
- All component props
- 200+ methods documentation
- Socket event handling
- Recording configuration
- Breakout rooms
- Whiteboard integration
- Troubleshooting guide
- And much more...
📄 See README_DETAILED.md
🔗 Links
- Website: mediasfu.com
- Documentation: mediasfu.com/flutter
- API Documentation: mediasfu.com/developers
- MediaSFU Open: github.com/MediaSFU/MediaSFUOpen
- Sandbox: mediasfu.com/sandbox
- Community Forum: mediasfu.com/forums
📄 License
MIT © MediaSFU
Built with ❤️ by MediaSFU
Libraries
- components
- components/background_components/background_components
- Background Components
- components/background_components/background_modal
- components/background_components/background_preview_widget
- components/background_components/background_processor_service
- components/background_components/background_video_display
- components/background_components/compositor
- components/background_components/frame_processor
- components/background_components/mlkit_segmenter_stub
- ML Kit Selfie Segmentation Integration
- components/background_components/native_virtual_background
- components/background_components/processed_video_renderer
- components/background_components/segmenter/segmenter
- Segmenter - Conditional Export Router
- components/background_components/segmenter/segmenter_interface
- Segmenter Interface - Shared Base for All Platforms
- components/background_components/segmenter/segmenter_mobile
- Stub Segmenter - Fallback for Unsupported Platforms
- components/background_components/segmenter/segmenter_stub
- Stub Segmenter - Fallback for Unsupported Platforms
- components/background_components/virtual_background_channel
- components/background_components/virtual_background_processor
- components/background_components/virtual_background_types
- components/background_components/virtual_stream_source
- components/breakout_components/breakout_rooms_modal
- components/co_host_components/co_host_modal
- components/display_components/alert_component
- components/display_components/audio_card
- components/display_components/audio_decibel_check
- components/display_components/audio_grid
- components/display_components/card_video_display
- components/display_components/flexible_grid
- components/display_components/flexible_video
- components/display_components/loading_modal
- components/display_components/main_aspect_component
- components/display_components/main_container_component
- components/display_components/main_grid_component
- components/display_components/main_screen_component
- components/display_components/meeting_progress_timer
- components/display_components/mini_audio
- components/display_components/mini_card
- components/display_components/other_grid_component
- components/display_components/pagination
- components/display_components/participants_counter_badge
- components/display_components/simple_audio_player
- components/display_components/sub_aspect_component
- components/display_components/video_card
- components/display_settings_components/display_settings_modal
- components/event_settings_components/event_settings_modal
- components/exit_components/confirm_exit_modal
- components/media_settings_components/media_settings_modal
- components/mediasfu_components/mediasfu_broadcast
- components/mediasfu_components/mediasfu_chat
- components/mediasfu_components/mediasfu_conference
- components/mediasfu_components/mediasfu_generic
- components/mediasfu_components/mediasfu_webinar
- components/menu_components/meeting_id_component
- components/menu_components/meeting_passcode_component
- components/message_components/message_panel
- components/message_components/messages_modal
- components/misc_components/confirm_here_modal
- components/misc_components/prejoin_page
- components/misc_components/welcome_page
- components/misc_components/welcome_page_qrcode
- components/panelists_components/panelists_components
- components/panelists_components/panelists_modal
- components/participants_components/participant_list
- components/participants_components/participant_list_item
- components/participants_components/participant_list_others
- components/participants_components/participant_list_others_item
- components/participants_components/participants_modal
- components/permissions_components/permissions_components
- components/permissions_components/permissions_modal
- components/polls_components/poll_modal
- components/recording_components/advanced_panel_component
- components/recording_components/recording_modal
- components/recording_components/standard_panel_component
- components/requests_components/render_request_component
- components/requests_components/requests_modal
- components/waiting_components/waiting_modal
- components/whiteboard_components/configure_whiteboard_modal
- components/whiteboard_components/screenboard
- components/whiteboard_components/screenboard_modal
- components/whiteboard_components/whiteboard
- components/whiteboard_components/whiteboard_components
- Whiteboard Components
- components/whiteboard_components/whiteboard_painter
- components/whiteboard_components/whiteboard_shape
- components/whiteboard_components/whiteboard_toolbar
- components_modern/background_components/modern_background_modal
- components_modern/breakout_components/modern_breakout_rooms_modal
- components_modern/co_host_components/modern_co_host_modal
- components_modern/components_modern
- Core theme exports
- components_modern/core/mediasfu_core
- MediaSFU Modern Core
- components_modern/core/theme/mediasfu_animations
- components_modern/core/theme/mediasfu_borders
- components_modern/core/theme/mediasfu_colors
- components_modern/core/theme/mediasfu_spacing
- components_modern/core/theme/mediasfu_theme
- components_modern/core/theme/mediasfu_theme_exports
- MediaSFU Modern Theme System
- components_modern/core/theme/mediasfu_typography
- components_modern/core/theme/modern_style_options
- components_modern/core/widgets/animated_gradient_background
- components_modern/core/widgets/animation_widgets
- components_modern/core/widgets/glassmorphic_container
- components_modern/core/widgets/glow_container
- components_modern/core/widgets/gradient_card
- components_modern/core/widgets/neumorphic_container
- Premium UI widget primitives for the modern MediaSFU UI.
- components_modern/core/widgets/pulse_border
- components_modern/core/widgets/shimmer_loading
- components_modern/core/widgets/skeleton_loader
- components_modern/core/widgets/styled_container
- components_modern/display_components/modern_alert_component
- components_modern/display_components/modern_audio_card
- components_modern/display_components/modern_audio_decibel_check
- components_modern/display_components/modern_card_video_display
- components_modern/display_components/modern_flexible_grid
- components_modern/display_components/modern_flexible_video
- components_modern/display_components/modern_loading_modal
- components_modern/display_components/modern_main_container_component
- components_modern/display_components/modern_meeting_progress_timer
- components_modern/display_components/modern_mini_card
- components_modern/display_components/modern_pagination
- components_modern/display_components/modern_video_card
- components_modern/display_settings_components/modern_display_settings_modal
- components_modern/event_settings_components/modern_event_settings_modal
- components_modern/exit_components/modern_confirm_exit_modal
- components_modern/media_settings_components/modern_media_settings_modal
- components_modern/mediasfu_components/modern_mediasfu_generic
- components_modern/menu_components/modern_meeting_id_component
- components_modern/menu_components/modern_meeting_passcode_component
- components_modern/message_components/modern_message_panel
- components_modern/message_components/modern_messages_modal
- components_modern/misc_components/modern_confirm_here_modal
- components_modern/misc_components/modern_prejoin_page
- components_modern/misc_components/modern_welcome_page
- components_modern/panelists_components/modern_panelists_modal
- components_modern/participants_components/modern_participant_list
- components_modern/participants_components/modern_participants_modal
- components_modern/permissions_components/modern_permissions_modal
- components_modern/polls_components/modern_poll_modal
- components_modern/recording_components/modern_advanced_panel_component
- components_modern/recording_components/modern_recording_modal
- components_modern/recording_components/modern_standard_panel_component
- components_modern/requests_components/modern_requests_modal
- components_modern/translation_components/translation_components
- Translation Components Module
- components_modern/translation_components/translation_settings_modal
- components_modern/utils/modern_mini_audio_player
- Modern Mini Audio Player - Glassmorphic audio player widget
- components_modern/waiting_components/modern_waiting_modal
- components_modern/whiteboard_components/modern_configure_whiteboard_modal
- consumers
- consumers/add_videos_grid
- consumers/auto_adjust
- consumers/calculate_rows_and_columns
- consumers/change_vids
- consumers/check_grid
- consumers/check_permission
- consumers/close_and_resize
- consumers/compare_active_names
- consumers/compare_screen_states
- consumers/connect_ips
- consumers/connect_local_ips
- consumers/connect_recv_transport
- consumers/connect_send_transport
- consumers/connect_send_transport_audio
- consumers/connect_send_transport_screen
- consumers/connect_send_transport_video
- consumers/consumer_resume
- consumers/control_media
- consumers/create_send_transport
- consumers/disconnect_send_transport_audio
- consumers/disconnect_send_transport_screen
- consumers/disconnect_send_transport_video
- consumers/disp_streams
- consumers/generate_page_content
- consumers/get_estimate
- consumers/get_piped_producers_alt
- consumers/get_producers_piped
- consumers/get_videos
- consumers/mix_streams
- consumers/on_screen_changes
- consumers/prepopulate_user_media
- consumers/process_consumer_transports
- consumers/process_consumer_transports_audio
- consumers/re_port
- consumers/re_update_inter
- consumers/readjust
- consumers/receive_all_piped_transports
- consumers/receive_room_messages
- consumers/reorder_streams
- consumers/resume_pause_audio_streams
- consumers/resume_pause_streams
- consumers/resume_send_transport_audio
- consumers/signal_new_consumer_transport
- consumers/socket_receive_methods/join_consume_room
- consumers/socket_receive_methods/new_pipe_producer
- consumers/socket_receive_methods/producer_closed
- consumers/start_consuming_translation
- consumers/stream_success_audio
- consumers/stream_success_audio_switch
- consumers/stream_success_screen
- consumers/stream_success_video
- consumers/switch_user_audio
- consumers/switch_user_video
- consumers/switch_user_video_alt
- consumers/translation_consumer_switch
- Translation Consumer Switch Utilities
- consumers/trigger
- consumers/update_mini_cards_grid
- consumers/update_participant_audio_decibels
- main
- main_broadcast
- main_chat
- main_conference
- main_generic
- main_modern
- main_playbook_core
- main_unique
- main_webinar
- mediasfu_sdk
- methods
- methods/breakout_rooms_methods/breakout_room_updated
- methods/breakout_rooms_methods/launch_breakout_rooms
- methods/co_host_methods/launch_co_host
- methods/co_host_methods/modify_co_host_settings
- methods/display_settings_methods/launch_display_settings
- methods/display_settings_methods/modify_display_settings
- methods/exit_methods/confirm_exit
- methods/exit_methods/launch_confirm_exit
- methods/media_settings_methods/launch_media_settings
- methods/message_methods/launch_messages
- methods/message_methods/send_message
- methods/panelists_methods/focus_panelists
- methods/panelists_methods/launch_panelists
- launchPanelists - Toggles the visibility of the panelists modal.
- methods/panelists_methods/panelists_methods
- methods/panelists_methods/update_panelists
- methods/participants_methods/launch_participants
- methods/participants_methods/message_participants
- methods/participants_methods/mute_participants
- methods/participants_methods/remove_participants
- methods/permissions_methods/launch_permissions
- launchPermissions - Toggles the visibility of the permissions modal.
- methods/permissions_methods/permissions_methods
- methods/permissions_methods/update_participant_permission
- methods/permissions_methods/update_permission_config
- methods/polls_methods/handle_create_poll
- methods/polls_methods/handle_end_poll
- methods/polls_methods/handle_vote_poll
- methods/polls_methods/launch_poll
- methods/polls_methods/poll_updated
- methods/recording_methods/check_pause_state
- methods/recording_methods/check_resume_state
- methods/recording_methods/confirm_recording
- methods/recording_methods/launch_recording
- methods/recording_methods/record_pause_timer
- methods/recording_methods/record_resume_timer
- methods/recording_methods/record_start_timer
- methods/recording_methods/record_update_timer
- methods/recording_methods/start_recording
- methods/recording_methods/stop_recording
- methods/recording_methods/update_recording
- methods/requests_methods/launch_requests
- methods/requests_methods/respond_to_requests
- methods/settings_methods/launch_settings
- methods/settings_methods/modify_settings
- methods/stream_methods/click_audio
- methods/stream_methods/click_chat
- methods/stream_methods/click_video
- methods/stream_methods/switch_audio
- methods/stream_methods/switch_audio_output
- methods/stream_methods/switch_video
- methods/stream_methods/switch_video_alt
- methods/utils/check_limits_and_make_request
- methods/utils/create_join_room
- methods/utils/create_response_join_room
- methods/utils/create_room_on_media_sfu
- methods/utils/format_number
- methods/utils/generate_random_messages
- methods/utils/generate_random_participants
- methods/utils/generate_random_polls
- methods/utils/generate_random_request_list
- methods/utils/generate_random_waiting_room_list
- methods/utils/get_media_devices_list
- Retrieves the list of available media devices.
- methods/utils/get_modal_position
- methods/utils/get_overlay_position
- methods/utils/get_participant_media
- Retrieves the media stream of a participant by ID or name.
- methods/utils/initial_values
- methods/utils/join_room_on_media_sfu
- methods/utils/mediasfu_parameters
- methods/utils/meeting_timer/start_meeting_progress_timer
- methods/utils/mini_audio_player/mini_audio_player
- methods/utils/platform_feature_support
- methods/utils/producer/a_params
- methods/utils/producer/h_params
- methods/utils/producer/screen_params
- methods/utils/producer/v_params
- methods/utils/producer/video_capture_constraints
- methods/utils/sleep
- methods/utils/sound_player
- methods/utils/translation_languages
- Central Language Definitions for Translation Pipeline (Frontend)
- methods/utils/validate_alphanumeric
- methods/waiting_methods/launch_waiting
- methods/waiting_methods/respond_to_waiting
- methods/whiteboard_methods/canvas_capture_stub
- Stub implementation for non-web platforms.
- methods/whiteboard_methods/canvas_capture_web
- Stub implementation for non-web platforms.
- methods/whiteboard_methods/capture_canvas_stream
- methods/whiteboard_methods/launch_configure_whiteboard
- misc
- producer_client/producer_client_emits/create_device_client
- producer_client/producer_client_emits/join_room_client
- producer_client/producer_client_emits/update_room_parameters_client
- producers
- producers/producer_emits/join_con_room
- producers/producer_emits/join_local_room
- producers/producer_emits/join_room
- producers/socket_receive_methods/all_members
- producers/socket_receive_methods/all_members_rest
- producers/socket_receive_methods/all_waiting_room_members
- producers/socket_receive_methods/ban_participant
- producers/socket_receive_methods/control_media_host
- producers/socket_receive_methods/disconnect
- producers/socket_receive_methods/disconnect_user_self
- producers/socket_receive_methods/get_domains
- producers/socket_receive_methods/host_request_response
- producers/socket_receive_methods/meeting_ended
- producers/socket_receive_methods/meeting_still_there
- producers/socket_receive_methods/meeting_time_remaining
- producers/socket_receive_methods/panelist_receive_methods
- Handler for panelist-related socket events.
- producers/socket_receive_methods/participant_requested
- producers/socket_receive_methods/permission_receive_methods
- Handler for permission-related socket events.
- producers/socket_receive_methods/person_joined
- producers/socket_receive_methods/producer_media_closed
- producers/socket_receive_methods/producer_media_paused
- producers/socket_receive_methods/producer_media_resumed
- producers/socket_receive_methods/re_initiate_recording
- producers/socket_receive_methods/receive_message
- producers/socket_receive_methods/recording_notice
- producers/socket_receive_methods/room_record_params
- producers/socket_receive_methods/screen_producer_id
- producers/socket_receive_methods/start_records
- producers/socket_receive_methods/stopped_recording
- producers/socket_receive_methods/time_left_recording
- producers/socket_receive_methods/translation_receive_methods
- Translation Socket Receive Methods
- producers/socket_receive_methods/update_consuming_domains
- producers/socket_receive_methods/update_media_settings
- producers/socket_receive_methods/updated_co_host
- producers/socket_receive_methods/user_waiting
- sockets
- sockets/socket_manager
- types
- types/custom_builders
- types/modal_style_options
- types/types
- types/ui_overrides