maravilla-media-rooms
Maravilla media rooms
Server-managed video/audio rooms backed by LiveKit. The Maravilla runtime exposes a thin platform.media surface that lets your server create rooms, mint participant tokens, and tell clients where to connect — clients then use the LiveKit JS SDK with the issued token to join the room.
platform.media is optional. If the project hasn't been configured with a media provider, getPlatform() returns media: undefined. Always check before using:
import { platform } from '~/lib/platform.server';
if (!platform.media) {
throw new Error('Media not configured for this project');
}
mediaUrl() separately returns string | null — null means "media is supported but no LiveKit URL is configured yet." Treat both as feature gates, not errors.
Surface
MediaService, MediaRoomInfo, MediaRoomInfoSettings, MediaParticipantInfo, MediaTokenResult are exported from @maravilla-labs/platform — import the types and let the IDE / tsc resolve. Method list: