Commit Graph

18 Commits

Author SHA1 Message Date
hibna 9ab429b5c0 release: v3.0.0 2026-02-13 04:59:21 +03:00
hibna 58a405d895 feat: add configurable props for DX improvements
- Configurable keyboard shortcuts (seekSmall, seekLarge, volumeStep, disabled keys)
- Configurable touch gestures (maxSeekSeconds, maxVolumeChange, doubleTapSeekSeconds)
- Configurable auto-hide timeout via controlsAutoHideDelay prop
- Configurable playback rates via playbackRates prop
- Aspect ratio support (16:9, 4:3, 21:9, 1:1, 9:16, custom)
- Extended theme system (fontFamily, borderRadius, overlayOpacity, controlsBackground, etc.)
- Custom translations support via translations prop
- Children/slot system (children, controlsLeftExtra, controlsRightExtra)
- Ref forwarding with VideoPlayerHandle imperative API
- Analytics events (onFirstPlay, onBufferStart, onBufferEnd, onQualityChange)
- iOS Safari volume slider auto-hiding
- SSR guards for feature detection utilities
- prefers-reduced-motion CSS media query support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 19:23:54 +03:00
hibna fcd2a14a05 feat: apply phase1 DX cleanup for private registry 2026-02-12 18:27:50 +03:00
hibna 8a32c5c1b3 Some fixes 2026-02-12 17:54:16 +03:00
hibna b0e278afb5 Add MPEG-TS support and related utilities
Introduces MPEG-TS streaming support by adding mpegts.js as an optional dependency, updating keywords, and implementing new utility modules for MPEG-TS loading and setup. Updates VideoElement and videoProtocol logic to handle MPEG-TS streams, adds corresponding tests and mocks, and improves local settings for npm install.
2025-11-04 06:36:21 +03:00
hibna 38295bdf9c Update MPEG-TS IPTV detection to use native playback
Changed protocol detection for .ts IPTV streams to prefer native playback instead of HLS.js, reflecting modern browser support for MPEG-TS. Updated related tests to match new behavior.
2025-11-04 06:09:26 +03:00
hibna 5555dad083 Update MPEG-TS detection to use HLS.js transmuxing
Changed MPEG-TS (IPTV) stream detection to use HLS.js for transmuxing instead of native playback, as browsers do not natively support MPEG-TS. Updated related tests and marked 'needsSpecialPlayer' as true. Also configured Vite to treat 'hls.js' and 'flv.js' as external dependencies.
2025-11-04 05:43:18 +03:00
hibna c5ca776a60 Update MPEG-TS IPTV handling to use native playback
Changed protocol detection for direct .ts IPTV streams from 'hls' to 'native', reflecting that modern browsers can play MPEG-TS streams without a special player. Updated documentation, README, and tests to clarify browser support and recommend requesting .m3u8 links for best compatibility.
2025-11-04 05:34:29 +03:00
hibna becc9efc7f Add IPTV (.ts) stream support and tests
Introduced detection and support for MPEG-TS (.ts) IPTV streams in videoProtocol, updated documentation and examples to reflect IPTV support, and added comprehensive tests for protocol detection. Mock implementations for flv.js and hls.js were added for testing, and vitest config now aliases these libraries to their mocks.
2025-11-04 05:24:21 +03:00
hibna 36f83ff72c Add SRT/FLV/RTMP support and update documentation
Introduced Python scripts for SRT subtitle checking and fixing, and added comprehensive documentation covering advanced features such as protocol detection, subtitle/audio/quality management, keyboard shortcuts, and touch gestures. Updated local settings to allow new build and Python commands, added TypeScript definitions for FLV, and implemented RTMP/FLV protocol support in the player. Removed CHANGELOG.md and made various improvements to styles and example app.
2025-11-03 02:35:56 +03:00
Mert Uyanık a508919d20 Fix SRT subtitle conversion and default selection 2025-10-29 14:22:08 +03:00
Mert Uyanık 044183cd61 Fix lint issues in tests 2025-10-29 13:13:47 +03:00
hibna bad1cc6ca0 Add i18n, tests, and update documentation
Introduces internationalization (i18n) support with English and Turkish, adds unit tests and test setup with Vitest and React Testing Library, and updates documentation including README and changelog. Removes legacy publishing and usage guides, refactors components to use translation system, and updates build and test scripts in package.json. Also adds new utility modules for HLS and CORS, and improves PlayerContext and SettingsMenu for language support.
2025-10-29 13:10:07 +03:00
Mert Uyanık 002ec26b30 feat: add resolution selection to settings 2025-10-29 09:45:02 +03:00
Mert Uyanık 3ccdd55bdf Fix TypeScript ref typings and lint errors 2025-10-29 09:32:44 +03:00
Mert Uyanık 60adb36721 refactor: strip debug noise to reduce bundle 2025-10-29 09:06:29 +03:00
Mert Uyanık f26a76836f Fix lint issues and improve type safety 2025-10-29 08:40:19 +03:00
hibna b57b24d051 Initial commit: modern React video player library
Add all source files for a feature-rich, reusable video player built with React, TypeScript, and Vite. Includes core components, context, hooks, utilities, styles, demo app, and configuration files.
2025-10-29 07:49:06 +03:00