mirror of
https://github.com/jellyfin/jellyfin-android.git
synced 2026-11-13 09:33:38 +00:00
Instead of hardcoding H264 level "41" in nativeshell.js, query the actual device max AVC level at runtime via NativeInterface.getCodecCapabilities(). This lets devices that support H264 level 4.2, 5.0, etc. direct-play content that was previously forced to transcode. The profile list (high/main/baseline/constrained baseline) is left hardcoded deliberately: Chromium's <video> pipeline in the WebView does not decode the full set of H264 profiles MediaCodec advertises (notably 10-bit), so advertising them would risk regressions. Fixes #1921 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>