Skip to content

Conversation

@Car-Role
Copy link

@Car-Role Car-Role commented Nov 28, 2025

What is it?

  • Bugfix (user facing)
  • Feature (user facing) ⚠️ Your PR must target the refactor branch
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

  • Add tap and hold gesture to increase playback speed to 2x while held
  • Add settings toggle in Video & Audio settings to enable/disable the feature
  • Feature is enabled by default and respects user preference
  • record videos
  • create clones
  • take over the world

Before/After Screenshots/Screen Record

  • Before:
image

Fixes the following issue(s)

Relies on the following changes

APK testing

The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.

Due diligence

@github-actions github-actions bot added the size/medium PRs with less than 250 changed lines label Nov 28, 2025
@TobiGr TobiGr added feature request Issue is related to a feature in the app player Issues related to any player (main, popup and background) template ignored The user didn't follow the template/instructions (or removed them) labels Nov 28, 2025
@TobiGr
Copy link
Contributor

TobiGr commented Nov 28, 2025

please fill out the template properly and add screen recordings

@Car-Role
Copy link
Author

Car-Role commented Nov 28, 2025

Video

https://streamable.com/41d1x4

@Car-Role
Copy link
Author

Car-Role commented Nov 28, 2025

please fill out the template properly and add screen recordings

I'm not sure what the create clones sections means

Or relies on the following changes? That's my entire pr so I'd be restating my pr

@Blui42
Copy link

Blui42 commented Nov 28, 2025

In the section "Description of the changes in your PR" you should replace the bullet points with your own (The ones you wrote at the very top).

"Relies on the following changes" is only relevant when you need a different PR to be merged first, so you can leave it empty.

@Car-Role
Copy link
Author

please fill out the template properly and add screen recordings

This should be completed properly now

In the section "Description of the changes in your PR" you should replace the bullet points with your own (The ones you wrote at the very top).

"Relies on the following changes" is only relevant when you need a different PR to be merged first, so you can leave it empty.

Thank you, appreciate the clarification

Appreciate the patience

@TobiGr TobiGr removed the template ignored The user didn't follow the template/instructions (or removed them) label Nov 28, 2025
@Car-Role
Copy link
Author

I don't know if some of these tests failing means this can't be merged; I'm not sure what's going wrong. If it would prevent a merge, I will investigate further

@TobiGr
Copy link
Contributor

TobiGr commented Nov 28, 2025

Task :app:runKtlint
/home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:151:85: Unnecessary semicolon (no-semi)
/home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:152:72: Unnecessary semicolon (no-semi)

@Car-Role
Copy link
Author

Task :app:runKtlint
/home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:151:85: Unnecessary semicolon (no-semi)
/home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:152:72: Unnecessary semicolon (no-semi)

The PlayerService.kt lint errors were not from my changes. They came from when I rebased on PR #12838 to work around the JitPack dependency issue (Could not find com.github.TeamNewPipe:NewPipeExtractor:0023b22...).

I've now rebased back to the current upstream/refactor. The CI will likely fail due to the JitPack issue, but my actual code changes don't touch PlayerService.kt at all.

Once PR #12838 is merged, I can rebase on the updated refactor branch and CI should pass.

@TobiGr
Copy link
Contributor

TobiGr commented Nov 29, 2025

I fixed this in 40caeb4 so a rebase should make the checks pass.

Carl Miller added 2 commits November 30, 2025 10:06
- Add tap and hold gesture to increase playback speed to 2x while held
- Add settings toggle in Video & Audio settings to enable/disable the feature
- Add visual indicator overlay showing '2x Speed' when feature is active
- Feature is enabled by default and respects user preference
@Car-Role
Copy link
Author

I fixed this in 40caeb4 so a rebase should make the checks pass.

Great, thank you!

@Car-Role
Copy link
Author

I fixed this in 40caeb4 so a rebase should make the checks pass.

is there anything stopping this from being merged?

originalPlaybackSpeed = player.playbackSpeed

// Set playback speed to 2x
player.setPlaybackSpeed(fastForwardSpeed)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be more generally helpful if it didn't set the speed to 2.0, but to twice the originalPlaybackSpeed? I'm thinking about cases like this:
I'm playing a video on 2.5 speed and then use this feature. I would be very confused if this led to a slower temporary playback speed of 2.0.
For the majority of people only ever watching on 1.0 speed, it would be the exact same behavior as your current PR has.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a copy paste from how the YouTube functionality works and other video services. I think there is some benefit to doing a 2x original source but may be too fast if you're watching at 1.5x and hold to get 3x instead of 2x.

I think just going with the industry standard would be fine imo

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On YouTube, the case I mentioned can't occur, though, because their max speed is 2.0.

Copy link
Author

@Car-Role Car-Role Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They just recently added higher speed for premium users. It makes sense too, wanting to increase speed momentarily while above 2x Speed would be exceedingly rare. There is value too in having a consistent known value too I know I will always get 2x speed regardless of which speed I'm currently watching at

Screenshot_20260114-105750.png

Copy link

@graue70 graue70 Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you're saying that YouTube actually slows down when you do this while being on 3x speed? 😮

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not verified if it slows down or does nothing but I think this is a pretty extreme edge case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature request Issue is related to a feature in the app player Issues related to any player (main, popup and background) size/medium PRs with less than 250 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants