feat(playback): client direct-play decode mode (release host transcoding)

Add an admin toggle playback.direct_only that offloads all decoding to the
client. When enabled:
- Emby PlaybackInfo no longer advertises SupportsTranscoding nor a
  TranscodingUrl, forcing Emby/Infuse/Yamby clients to direct play.
- HLS endpoints refuse (ErrTranscodeDisabled) so the host never spawns ffmpeg.
- Web player forces direct play, hides the HLS toggle, and surfaces a hint.
Exposed via /system/info (direct_play_only) and the Settings page.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
soldosluka857
2026-05-30 11:08:59 +00:00
committed by Shuke
parent 48aa08fc94
commit e50282178d
8 changed files with 166 additions and 36 deletions
+1
View File
@@ -13,6 +13,7 @@ export const systemAPI = {
arch: string
data_dir: string
cache_dir: string
direct_play_only?: boolean
}>('/system/info')
.then((r) => r.data),