← API Reference · Back to README · Development →
The provider exposes seven settings in the Music Assistant UI under Settings → Providers → MSX Bridge.
| Key | Default | Description |
|---|---|---|
http_port |
8099 |
Port for the embedded HTTP server |
output_format |
mp3 |
Audio format sent to TVs: mp3, aac, or flac |
player_idle_timeout |
30 |
Minutes before an idle (unconnected) TV player is unregistered |
show_stop_notification |
false |
Show a confirmation dialog on MSX when MA stops playback |
abort_stream_first |
false |
When stopping: abort the stream connection before sending the WebSocket stop signal (may reduce stop delay on some TVs) |
enable_player_grouping |
true |
Allow grouping multiple MSX TVs for synchronized playback (experimental) |
group_stream_mode |
independent |
How audio is streamed to grouped players (see below) |
| Format | Bitrate estimate | Content-Length | Notes |
|---|---|---|---|
mp3 |
~320 kbps (40,000 B/s) | ✅ Set | Best compatibility; MSX progress bar works |
aac |
~256 kbps (32,000 B/s) | ✅ Set | Good quality, slightly smaller |
flac |
varies | ❌ Omitted | Lossless; MSX progress bar may not work |
MP3 is recommended for most TVs because the Content-Length header enables the MSX progress bar and seek. FLAC omits Content-Length (size is non-deterministic) which may prevent the progress bar from working.
TVs are registered as MA players on their first request. The idle timeout controls when those players are cleaned up:
- Activity resets the timer (any HTTP request from the TV)
- WebSocket connection counts as activity; disconnection starts the timer
- Playing players are never cleaned up regardless of timeout
- Set to
0to disable automatic cleanup (players persist until MA restarts)
When enable_player_grouping is true and TVs are grouped in MA:
| Mode | Description | CPU |
|---|---|---|
independent |
Each grouped TV gets its own ffmpeg process | Higher (one per TV) |
shared |
One ffmpeg process, output broadcast to all TVs via a catch-up buffer | Lower |
shared mode is experimental. Late-joining TVs receive buffered audio and may hear a brief gap at join time.
| Action | Effect on TV | Effect in MA |
|---|---|---|
| Stop | Closes MSX player immediately | Sets player state to Stopped |
| Pause | Pauses playback, keeps MSX player open | Sets player state to Paused |
| Play (after pause) | Resumes from paused position | Sets player state to Playing |
| Quick Stop | Aborts stream + double WS stop broadcast | Stops immediately |
show_stop_notification: when enabled, MSX shows a confirmation dialog before closing the player. Useful to prevent accidental stops when controlling playback from MA.
abort_stream_first: if your TV takes ~30 seconds to close after a stop command, enable this. It aborts the HTTP stream connection first, then sends the WebSocket stop — some TVs respond faster to stream loss.
- Getting Started — initial setup
- Architecture — how config values affect streaming behavior
- API Reference — quick-stop endpoint and playback control