()
| 283 | seekToStart(); |
| 284 | }; |
| 285 | const handleLoadedData = () => { |
| 286 | setIsLoading(false); |
| 287 | // hls.js applies its `startPosition` after MEDIA_ATTACHED, which can |
| 288 | // run later than `loadedmetadata`. Re-seek here as a safety net so a |
| 289 | // hls.js live playlist doesn't snap to the live edge after our first |
| 290 | // seek attempt happened against an empty seekable range. |
| 291 | seekToStart(); |
| 292 | }; |
| 293 | const handleCanPlay = () => { |
| 294 | setIsLoading(false); |
| 295 | // Final fallback for the Safari native-HLS path where seekable.start(0) |
nothing calls this directly
no test coverage detected