All notable changes to the FastPix Player is documented below.
@fastpix/video-data-core dependency range updated to ^1.0.7.stream-type="live-stream", the duration-style time readout stays hidden so the experience matches open-ended live viewing.setAudioTrack(...), the built-in audio menu stays aligned with fewer redundant updates.— New attribute: hide-native-subtitles
When present, the internal subtitle container never paints text, so the built‑in overlay stays visually hidden even when a track is enabled.
All subtitle APIs still work as usual: fastpixsubtitlecue continues to fire with { text, language, startTime, endTime } and the native TextTrack state is unchanged.
Recommended when you render subtitles in your own UI (React overlay, custom HTML) and want to guarantee there is no duplicate text from the built‑in overlay.
Clarified behavior: disable-hidden-captions
fastpixsubtitlechange.setSubtitleTrack(...); the internal overlay is allowed to show again unless hide-native-subtitles is also set.seekForward(seconds) and seekBackward(seconds) – New methods on the <fastpix-player> element to jump the playhead forward or back by a given number of seconds (clamped to the media range). Use them for custom “+10s” / “−10s” buttons or app shortcuts; the built-in skip buttons still follow forward-seek-offset / backward-seek-offset when set. Documented in README (Programmatic playback control and section 1.3 custom-controls example).setAudioTrack(languageName) / setSubtitleTrack(languageName | null) switch tracks by label/name (no numeric ids required).default-audio-track="French"default-subtitle-track="English"getAudioTracks() / getSubtitleTracks() now avoid duplicate entries when multiple tracks share the same label.fastpixtracksready includes the full current track objects (currentAudioTrackLoaded, currentSubtitleLoaded) in addition to the track lists.fastpixaudiochange / fastpixsubtitlechange include the current track object (currentTrack) so you can log/update UI easily.dist/player.esm.js), so import '@fastpix/fp-player' works in React, Vite, and other bundlers without “Could not resolve ./utils/…” errors. CDN build stays at dist/player.js for backward compatibility with existing script-tag and CDN URLs."import" resolves to player.esm.js; "require" and main resolve to player.js (IIFE).play(), pause(), mute(), and unmute() for controlling playback and volume from your code (e.g. custom controls, Shorts-style UI, or framework integrations). mute()/unmute() sync with Chromecast when casting.--seekbar-bottom (e.g. 0px) to move the progress bar to the very bottom. Thumbnail preview stays above it.--progress-bar-invisible: 1 to hide the bar visually while keeping hover thumbnail/timestamp preview and click-to-seek. Use your own progress bar on top.--progress-bar-track-unfilledto style the track.autoplay-shorts for muted autoplay, loop, and feed-friendly behavior.disable-keyboard-controls so your app can use Arrow Up/Down (e.g. next/prev) without the player capturing them.accent-color or CSS --accent-color for theming; your app can read it to match a custom progress bar.skip-intro-start and skip-intro-end and next-episode-button-overlay buttons support.player-buttons slotaddPlaylist(playlist), next(), previous(), selectEpisodeByPlaybackId(playbackId)default-playback-id, hide-default-playlist-panel, loop-nextplaybackidchange, playlisttogglecustomNext(handler), customPrev(handler); call i.next()/i.previous() inside your handlersslot="playlist-panel"destroy() for lightweight teardown before custom source-switching flowsplaylisttoggleshoppable-video-player theme with full-featured product sidebar, interactive hotspots, and comprehensive product catalog functionalityshoppable-shorts theme for simplified external link integration optimized for social media and mobile-first contentBeta Feature: Chromecast Integration
Enhancements & Bug Fixes:
Initial Release: