{ started = true; failed = false; session(); wake(); }} onwaiting={() => (waiting = true)} onplaying={() => (waiting = false)} oncanplay={() => (waiting = false)} onerror={() => (failed = true)} > {@render children?.()} {#if message}

{message}

{:else if waiting} {:else if !started} {/if}
seek(+e.currentTarget.value)} onkeydown={scrubKeys} />
{ volume = +e.currentTarget.value; muted = volume === 0; }} /> {clock(time)} / {clock(duration)} {@render controls?.()} {#snippet trigger(props)} {/snippet} {#each rates as r (r)} (speed = r)}> {#if r === speed}{/if} {r === 1 ? 'Normal' : `${rate.format(r)}×`} {/each} {#if hasCaptions} {/if} {#if canPip} {/if}