seekExact

open override fun seekExact(time: Double)

SDK-owned post-break resume seek: keyframe-aligned via CLOSEST_SYNC, the same parameters as seek.

The history matters, because both alternatives shipped and both failed on devices:

  • EXACT (PLAYG-496, beta.224): decodes from the preceding keyframe to the target — the measured ~1.4-2.2s post-break hole ("content is PAUSED at end of window" across D1/D5/D7/E7, F8 past the window).

  • NEXT_SYNC (beta.227): never lands before the cue, but has NO CLAMP at the media end — a resume point past the last sync sample snaps into STATE_ENDED and the following play() is a no-op (12 scenarios red: D3/D4/D6/D7/F8/J5/P-SHAKA-HLS/J1/J6, "content never resumes").

CLOSEST_SYNC lands at-or-before the target on the nearest keyframe: fast (~0.3-0.7s resume), can never overshoot the media end, and the one property it gives up — "never before the cue" — is already covered by the cross-core scheduler's resume-seek guard, which tolerates a keyframe-snapped undershoot without re-arming the completed break (PLAYG-371/PLAYG-496; the guard is what actually protects rn-video's native adjustments too). Kept as a separate method because other adapters (react-native-video) route their own semantics through the PlayerAdapter.seekExact default.