Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio player slider reached a negative value #7026

Open
3 tasks done
Alexthemediocre opened this issue Jan 26, 2025 · 1 comment
Open
3 tasks done

Audio player slider reached a negative value #7026

Alexthemediocre opened this issue Jan 26, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@Alexthemediocre
Copy link

Steps to reproduce

This may not be particularly reproducible (it may have been some freak combination of circumstances), but I'll write what I did. First, I clicked on and opened a (online) video in LibreTube, which then started loading and played automatically. Then, I pressed the "audio" button to switch the video into audio-only mode. Once the slider got to ~15 seconds, I pressed the back-by-10-seconds button twice in quick succession, which somehow landed the slider at -3 seconds (which is what was displayed in the UI).

Expected behavior

The slider should have been clamped at 0, rather than going to a negative value.

Actual behavior

The slider went to a negative value, displaying a time of -3 seconds briefly before the app crashed. The next time I opened up the app, it displayed the below error and stack trace:

java.lang.IllegalStateException: Slider value(-3.535) must be greater or equal to valueFrom(0.0), and lower or equal to valueTo(2550.0)
	at com.google.android.material.slider.BaseSlider.validateConfigurationIfDirty(SourceFile:225)
	at com.google.android.material.slider.BaseSlider.onDraw(SourceFile:9)
	at android.view.View.draw(View.java:25194)
	at android.view.View.updateDisplayListIfDirty(View.java:24053)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:872)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:6121)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5776)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4858)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3345)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11437)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1690)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1699)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1154)
	at android.view.Choreographer.doFrame(Choreographer.java:1080)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1647)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:230)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:9063)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
    

LibreTube version

0.27.0

Android version

Android 14

Other details

If needed, I can provide the video I was attempting to play.

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
  • I have written a short but informative title.
  • I will fill out all of the requested information in this form.
@Alexthemediocre Alexthemediocre added the bug Something isn't working label Jan 26, 2025
@Alexthemediocre
Copy link
Author

Happened again, on a download that had audio but no video. Time to the left said -8 seconds before crashing, similarly to last time.

java.lang.IllegalStateException: Slider value(-8.216) must be greater or equal to valueFrom(0.0), and lower or equal to valueTo(439.0)
	at com.google.android.material.slider.BaseSlider.validateConfigurationIfDirty(SourceFile:225)
	at com.google.android.material.slider.BaseSlider.onDraw(SourceFile:9)
	at android.view.View.draw(View.java:25194)
	at android.view.View.updateDisplayListIfDirty(View.java:24053)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4788)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4760)
	at android.view.View.updateDisplayListIfDirty(View.java:23999)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:872)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:6121)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5776)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4858)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3345)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11437)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1690)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1699)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1154)
	at android.view.Choreographer.doFrame(Choreographer.java:1080)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1647)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:230)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:9063)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
    

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant