diff --git a/web_server.py b/web_server.py index 26535fca..7cc6c11e 100644 --- a/web_server.py +++ b/web_server.py @@ -11800,6 +11800,73 @@ def stream_status(): "error_message": str(e) }), 500 +_AUDIO_MIME_TYPES = { + '.mp3': 'audio/mpeg', '.flac': 'audio/flac', '.ogg': 'audio/ogg', + '.aac': 'audio/aac', '.m4a': 'audio/mp4', '.wav': 'audio/wav', + '.opus': 'audio/ogg', '.webm': 'audio/webm', '.wma': 'audio/x-ms-wma', +} + + +def _serve_audio_file_with_range(file_path): + """Serve an on-disk audio file with HTTP range support (HTML5 seeking). + + Shared by /stream/audio (current track) and /stream/library-audio (the + crossfade pre-loader, which plays the NEXT track on a second