(
element: Element,
opts?: { includeAuthoredTimingAttrs?: boolean },
)
| 481 | }; |
| 482 | |
| 483 | const resolveDurationForElement = ( |
| 484 | element: Element, |
| 485 | opts?: { includeAuthoredTimingAttrs?: boolean }, |
| 486 | ): number | null => { |
| 487 | const resolver = createRuntimeStartTimeResolver({ |
| 488 | timelineRegistry: (window.__timelines ?? {}) as Record< |
| 489 | string, |
| 490 | RuntimeTimelineLike | undefined |
| 491 | >, |
| 492 | includeAuthoredTimingAttrs: opts?.includeAuthoredTimingAttrs ?? true, |
| 493 | }); |
| 494 | return resolver.resolveDurationForElement(element); |
| 495 | }; |
| 496 | |
| 497 | const resolveMediaStartSeconds = (element: Element, fallback = 0): number => { |
| 498 | if (!element.hasAttribute("data-hf-auto-start") && element.hasAttribute("data-start")) { |
no test coverage detected