Methods
(static) getPlaybackInfoTask() → {void}
Fetch this device's live session. That is ALL this task does.
It used to build the whole report here — reading user settings, choosing labels, calling translate() — which was the wrong split three times over. The work is pure computation that needed no Task thread; every m.global read it made cost ~93 µs from here against ~2 µs from the render thread; and the built report was then cached for the life of the player, so a DoVi buffer-overflow fallback (transcode -> direct play) left the "i" button still reporting a transcode that had stopped.
Now the network call is the only thing on this thread and PlayerHostView composes the report per press from this plus the cached PlaybackInfo. Rebuilding is cheap enough to do every time, which is what makes the report honest about a stream that changed underneath it.
session is left invalid when the server returns nothing — that is a real state (the server has not registered playback yet), and the renderer says so rather than the task inventing an error section.
- Type:
- void
(static) init() → {void}
- Type:
- void