libre-tube / LibreTube

An alternative frontend for YouTube, for Android.
https://libretube.dev
GNU General Public License v3.0
8.71k stars 447 forks source link

Downloads not only slow but buggy #3426

Closed ghost closed 1 year ago

ghost commented 1 year ago

Steps to reproduce

  1. Initiate a download (or god forbid multiple).
  2. Go to sleep.
  3. Wake up, expecting the downloads to be completed, only to find them paused shortly after starting.

Expected behavior

For downloads to automatically resume if for some reason interrupted. Ideally they should not be constantly interrupted in the first place. Should be able to set and forget.

Actual behavior

Downloads constantly get interrupted and paused. They require constant attention to keep resuming manually.

LibreTube version

0.13.1

Android version

Android 13 GrapheneOS

Other details

No response

Acknowledgements

rozari0 commented 1 year ago

Turn off battery optimization.

ghost commented 1 year ago

Turn off battery optimization.

Doesn't help.

meiphoo7-Mae commented 1 year ago

This sounds like your phone disconnects from Wifi when unattended for some time. My phone does too and after a while it reconnects again. Turning off battery optimization does not help for some reason. I'm not aware of a solution to prevent the phone from disconnecting.

ghost commented 1 year ago

This sounds like your phone disconnects from Wifi when unattended for some time. My phone does too and after a while it reconnects again. Turning off battery optimization does not help for some reason. I'm not aware of a solution to prevent the phone from disconnecting.

Yeah, nah. My phone is completely fine, my wifi/mobile data connection is fast and reliable. In the same scenario, Newpipe performs much better, without "wifi" affecting it. I appreciate you taking time to try help me with advice, but it seems the bug is genuine with the app.

PS: larger audio files (30 min plus) tend to be a lot more buggy. But smaller files also not great.

Sf298 commented 1 year ago

Hi, I am also experiencing this problem. I believe I may be able to elaborate a bit more. I am running the latest LineageOS on a OnePlus 8 pro.

1) speed of downloads When active and in the foreground, downloads appear to be limited to 0.1Mbps per video even though I can then go and stream the video at the same resolution where it will use over 8Mbps.

2) download interruptions Video downloads seem exceedingly sensitive to network interruptions. I might start a download and come back in 5 minutes to find it has failed and needs to be restarted. Interruptions can also happen while I'm streaming another video. (The app has full, unrestricted network access, and battery optimization is also set to 'unrestricted').

I second the suggestion of auto-retries. Either when a network changed event has triggered or repeatedly on a backoff (or maybe both?). If retries are not possible I would at least suggest a notification to tell me that the download failed

Bnyro commented 1 year ago

Concerning download speed: We made it! :tada: (#3957)

BlazeJatin commented 1 year ago

Downloads are slow and I can't even resume them . Each time I hit resume the app crashes. Why don't you try something else for downloading? Like newpipe's code or yt-dl but similar to the way it is implemented in snaptube or vidmate I get this error each and every time i tap the resume download button.

java.lang.RuntimeException: Error receiving broadcast Intent { act=com.github.libretube.services.DownloadService.ACTION_SERVICE_STARTED flg=0x10 } in org.chromium.base.PowerMonitor$1@3e7dfa at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1676) at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.github.libretube/com.github.libretube.ui.activities.MainActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2078) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1727) at android.app.Activity.startActivityForResult(Activity.java:5377) at androidx.activity.ComponentActivity.startActivityForResult(SourceFile:2) at android.app.Activity.startActivityForResult(Activity.java:5335) at androidx.activity.ComponentActivity.startActivityForResult(SourceFile:1) at android.app.Activity.startActivity(Activity.java:5721) at android.app.Activity.startActivity(Activity.java:5674) at org.chromium.base.PowerMonitor$1.onReceive(SourceFile:70) at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1666) ... 8 more