Commit f49f44f
committed
fix(core): never pre-roll a segment whose roll-in sits at/past the media end
play() on an element at its media end rewinds to the beginning
(HTMLMediaElement spec). When a clip's in-point lies at/past the end of
its source, the pre-roll's currentTime assignment clamps to duration,
ended stays true, and play() silently rewinds — the hidden element plays
the source's HEAD and the boundary flip flashes it for ~2-3 frames while
the activation seek recovers. Skip the roll for that shape (parked at the
end is the element's best readiness; the active tick holds the last
frame). A roll-in before the end stays safe even on an ended element:
the assignment clears the ended state before play() runs.1 parent c0a2f89 commit f49f44f
2 files changed
Lines changed: 43 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1149 | 1149 | | |
1150 | 1150 | | |
1151 | 1151 | | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
1152 | 1178 | | |
1153 | 1179 | | |
1154 | 1180 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
195 | 210 | | |
196 | 211 | | |
197 | 212 | | |
| |||
540 | 555 | | |
541 | 556 | | |
542 | 557 | | |
543 | | - | |
| 558 | + | |
| 559 | + | |
544 | 560 | | |
545 | 561 | | |
546 | 562 | | |
| |||
0 commit comments