Skip to content

feat(core): add sub-1x playback rates to defaults#1231

Merged
mihar-22 merged 1 commit intomainfrom
t3code/cea3cfe5
Apr 7, 2026
Merged

feat(core): add sub-1x playback rates to defaults#1231
mihar-22 merged 1 commit intomainfrom
t3code/cea3cfe5

Conversation

@mihar-22
Copy link
Copy Markdown
Member

@mihar-22 mihar-22 commented Apr 7, 2026

Closes #1117


Note

Low Risk
Low risk: change is limited to default playbackRates values and corresponding unit test updates, with no security or data-handling impact.

Overview
Adds sub‑1x playback speeds (0.25, 0.5, 0.75) to the default playbackRates list used by the playbackRate feature.

Updates PlaybackRateButtonCore tests to reflect the new rate list, including wrap-around now returning 0.25 and adding coverage for cycling through the new sub‑1x rates and selecting the next greater rate when the current value isn’t in the list.

Reviewed by Cursor Bugbot for commit 5a58443. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify bot commented Apr 7, 2026

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 5a58443
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/69d48db89d586e00083008f8
😎 Deploy Preview https://deploy-preview-1231--vjs10-site.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v10-sandbox Ready Ready Preview, Comment Apr 7, 2026 4:53am

Request Review

@mihar-22 mihar-22 marked this pull request as ready for review April 7, 2026 04:53
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

📦 Bundle Size Report

🎨 @videojs/html — no changes
Presets (7)
Entry Size
/video (default) 25.01 kB
/video (default + hls) 157.06 kB
/video (minimal) 24.96 kB
/video (minimal + hls) 157.06 kB
/audio (default) 23.16 kB
/audio (minimal) 23.16 kB
/background 6.94 kB
Media (7)
Entry Size
/media/background-video 1.04 kB
/media/container 1.59 kB
/media/dash-video 236.26 kB
/media/hls-video 133.40 kB
/media/mux-video 156.10 kB
/media/native-hls-video 3.54 kB
/media/simple-hls-video 15.06 kB
Players (3)
Entry Size
/video/player 6.65 kB
/audio/player 6.64 kB
/background/player 6.64 kB
Skins (17)
Entry Type Size
/video/minimal-skin.css css 3.42 kB
/video/skin.css css 3.44 kB
/video/minimal-skin js 24.99 kB
/video/minimal-skin.tailwind js 25.28 kB
/video/skin js 25.03 kB
/video/skin.tailwind js 25.39 kB
/audio/minimal-skin.css css 2.48 kB
/audio/skin.css css 2.45 kB
/audio/minimal-skin js 23.16 kB
/audio/minimal-skin.tailwind js 23.39 kB
/audio/skin js 23.13 kB
/audio/skin.tailwind js 23.44 kB
/background/skin.css css 117 B
/background/skin js 1.15 kB
/base.css css 157 B
/shared.css css 88 B
/skin-element js 1.34 kB
UI Components (22)
Entry Size
/ui/alert-dialog 2.23 kB
/ui/alert-dialog-close 1.72 kB
/ui/alert-dialog-description 1.62 kB
/ui/alert-dialog-title 1.61 kB
/ui/buffering-indicator 1.91 kB
/ui/captions-button 2.02 kB
/ui/controls 1.94 kB
/ui/error-dialog 2.46 kB
/ui/fullscreen-button 1.98 kB
/ui/mute-button 2.00 kB
/ui/pip-button 1.98 kB
/ui/play-button 1.98 kB
/ui/playback-rate-button 2.01 kB
/ui/popover 2.70 kB
/ui/poster 1.82 kB
/ui/seek-button 2.00 kB
/ui/slider 1.73 kB
/ui/thumbnail 2.24 kB
/ui/time 1.72 kB
/ui/time-slider 2.10 kB
/ui/tooltip 2.56 kB
/ui/volume-slider 2.40 kB

Sizes are marginal over the root entry point.

⚛️ @videojs/react — no changes
Presets (7)
Entry Size
/video (default) 19.99 kB
/video (default + hls) 152.02 kB
/video (minimal) 20.02 kB
/video (minimal + hls) 152.25 kB
/audio (default) 16.80 kB
/audio (minimal) 16.89 kB
/background 3.16 kB
Media (6)
Entry Size
/media/background-video 476 B
/media/dash-video 236.38 kB
/media/hls-video 133.35 kB
/media/mux-video 156.26 kB
/media/native-hls-video 3.50 kB
/media/simple-hls-video 15.03 kB
Skins (14)
Entry Type Size
/video/minimal-skin.css css 3.35 kB
/video/skin.css css 3.37 kB
/video/minimal-skin js 19.94 kB
/video/minimal-skin.tailwind js 23.42 kB
/video/skin js 19.92 kB
/video/skin.tailwind js 23.56 kB
/audio/minimal-skin.css css 2.38 kB
/audio/skin.css css 2.34 kB
/audio/minimal-skin js 16.79 kB
/audio/minimal-skin.tailwind js 19.25 kB
/audio/skin js 16.72 kB
/audio/skin.tailwind js 19.28 kB
/background/skin.css css 90 B
/background/skin js 272 B
UI Components (19)
Entry Size
/ui/alert-dialog 2.01 kB
/ui/buffering-indicator 1.78 kB
/ui/captions-button 1.83 kB
/ui/controls 1.68 kB
/ui/error-dialog 2.15 kB
/ui/fullscreen-button 1.82 kB
/ui/mute-button 1.85 kB
/ui/pip-button 1.85 kB
/ui/play-button 1.81 kB
/ui/playback-rate-button 1.84 kB
/ui/popover 3.45 kB
/ui/poster 1.54 kB
/ui/seek-button 1.84 kB
/ui/slider 3.69 kB
/ui/thumbnail 1.86 kB
/ui/time 1.91 kB
/ui/time-slider 3.20 kB
/ui/tooltip 2.74 kB
/ui/volume-slider 3.23 kB

Sizes are marginal over the root entry point.

🧩 @videojs/core — no changes
Entries (8)
Entry Size
. 5.29 kB
/dom 9.04 kB
/dom/media/custom-media-element 1.82 kB
/dom/media/dash 235.76 kB
/dom/media/hls 132.94 kB
/dom/media/mux 155.60 kB
/dom/media/native-hls 2.90 kB
/dom/media/simple-hls 14.45 kB
🏷️ @videojs/element — no changes
Entries (2)
Entry Size
. 999 B
/context 943 B
📦 @videojs/store — no changes
Entries (3)
Entry Size
. 1.39 kB
/html 696 B
/react 360 B
🔧 @videojs/utils — no changes
Entries (10)
Entry Size
/array 104 B
/dom 1.53 kB
/events 319 B
/function 327 B
/object 247 B
/predicate 265 B
/string 148 B
/style 190 B
/time 478 B
/number 158 B
📦 @videojs/spf — no changes
Entries (3)
Entry Size
. 40 B
/dom 12.45 kB
/playback-engine 12.41 kB

ℹ️ How to interpret

All sizes are standalone totals (minified + brotli).

Icon Meaning
No change
🔺 Increased ≤ 10%
🔴 Increased > 10%
🔽 Decreased
🆕 New (no baseline)

Run pnpm size locally to check current sizes.

@mihar-22 mihar-22 merged commit c68c1a3 into main Apr 7, 2026
21 checks passed
@mihar-22 mihar-22 deleted the t3code/cea3cfe5 branch April 7, 2026 05:07
@luwes luwes mentioned this pull request Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Add Support for Playback Rates Below 1x on Button

1 participant