Detection only runs once playback has actually been observed (a playing event) and is
suspended on pause/seeking/emptied until playback is observed again — so a stall is never
reported during initial loading or while awaiting a seek. A detected stall ends when the play
head advances again (playing) or playback stops for another reason (pause/seeking/
emptied); StallEndedInfo.duration is measured from the last timeUpdate before the
freeze, so it reflects the full frozen time rather than only the time past the threshold.
Watches a ReadonlyPlaybackController for stalls while playing: the play head freezing (no
timeUpdate) for longer than StallMonitorOptions.stallThreshold seconds.Detection only runs once playback has actually been observed (a
playingevent) and is suspended onpause/seeking/emptieduntil playback is observed again — so a stall is never reported during initial loading or while awaiting a seek. A detected stall ends when the play head advances again (playing) or playback stops for another reason (pause/seeking/emptied); StallEndedInfo.duration is measured from the lasttimeUpdatebefore the freeze, so it reflects the full frozen time rather than only the time past the threshold.Returns a function that stops the monitor.