{#if showKeybinds}
{keybindDesc ?? 'Drag and drop binds to change them'}
{ keybindDesc = null }} pointerOver={item => { keybindDesc = item?.desc }}> {#if item?.type}
{#if item.icon} {/if}
{:else}
{item?.id ?? ''}
{/if}
{:else} {#if 'audioTracks' in HTMLVideoElement.prototype} Audio {#each Object.entries(normalizeTracks(video.audioTracks ?? [])) as [lang, tracks] (lang)} {lang} {#each tracks as track (track.id)} { selectAudio(track.id); open = false }}> {track.label} {/each} {/each} {/if} {#if 'videoTracks' in HTMLVideoElement.prototype} Video {#each Object.entries(normalizeTracks(video.videoTracks ?? [])) as [lang, tracks] (lang)} {lang} {#each tracks as track (track.id)} { selectVideo(track.id); open = false }}> {track.label} {/each} {/each} {/if} {#if subtitles} Subtitles { $current = -1; open = false }}> OFF {#each Object.entries(normalizeSubs($tracks)) as [lang, tracks] (lang)} {lang} {#each tracks as { number, name }, i (i)} { $current = number; open = false }}> {name} {/each} {/each} { subtitles.pickFile(); open = false }}> Add Subtitle File
Delay
sec
{/if} Chapters {#each chapters as { text, start }, i (i)} { seekTo(start); open = false }}>
{text || '?'} {toTS(start || 0)}
{/each}
Playback Rate { playbackRate = 0.5; open = false }}> 0.5x { playbackRate = 0.75; open = false }}> 0.75x { playbackRate = 1; open = false }}> 1x { playbackRate = 1.25; open = false }}> 1.25x { playbackRate = 1.5; open = false }}> 1.5x { playbackRate = 1.75; open = false }}> 1.75x { playbackRate = 2; open = false }}> 2x Playlist {#each videoFiles as file, i (i)} selectFile(file)}> {file.name} {file.name} {/each} (showKeybinds = !showKeybinds)}> Keybinds Fullscreen { pip.pip(); close() }} active={!!$pipElement}> Picture in Picture Deband
{/if}