Improve playback, preroll and TV experience
This commit is contained in:
@@ -1180,6 +1180,18 @@ pays DNS, TCP, TLS and Emby's file open. Pre-warming that connection is the open
|
||||
opportunity. Two things that look like causes and are not: the subtitle auto-selection
|
||||
costs 20–200 ms, not seconds, and the seek itself is about 900 ms.
|
||||
|
||||
**The local Memby preroll is prepared while Home is idle.** `PrerollPreloader` owns one
|
||||
process-scoped ExoPlayer for `res/raw/emby_preroll.mp4`; `MembyApp` queues its first prepare
|
||||
on the main queue's idle handler, so decoder construction and the local resource read never
|
||||
sit in `Application.onCreate` or in front of launcher composition. When a fresh playback
|
||||
requires the preroll, `PlayerActivity` borrows that player and shows it in the pre-roll video
|
||||
frame while the requested title negotiates and prepares, paused at zero, behind the overlay.
|
||||
Three details preserve the performance claim: the clip's actual duration owns the hand-off
|
||||
rather than a stale configured estimate; the old paused-content-frame path remains the
|
||||
failure fallback; and the preroll player is stopped and parked at hand-off so it releases its
|
||||
hardware decoder while HEVC content plays. Returning to Home prepares the same instance again
|
||||
in the next idle window rather than constructing one per title.
|
||||
|
||||
**Next up / auto-advance.** 30 s before an episode ends, `PlayerActivity` slides up
|
||||
`player_next_up_banner.xml` and rolls into the next episode when it reaches zero (Settings
|
||||
→ Playback turns it off; `Settings.autoPlayNextEpisode`). Which episode that is comes from
|
||||
|
||||
Reference in New Issue
Block a user