- Detect decoder hangs via AnalyticsListener (onVideoDecoderInitialized → onRenderedFirstFrame gap, confirmed by DecoderCounters) - Detect deselected video tracks and trigger immediate MPV fallback - Use reinhard tone-mapping on GPUs without compute shaders