teamnewpipe / newpipe-legacy Goto Github PK
View Code? Open in Web Editor NEWNewPipe with support for older devices
License: GNU General Public License v3.0
NewPipe with support for older devices
License: GNU General Public License v3.0
Dear developer
In the process of using, I found a bug in layout / display. There is text occlusion at the top of the sidebar of the application. The lower part of "Legacy" in "Newpipe Legacy" is blocked, which may be an adaptation problem.
App version is 0.18.6, my mobile phone is Google nexus 6, screen resolution setting is 1440 * 2560, font size is the largest, Android system is 8.0.
The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply.
Thank you!
Playing any video, the pause/play button has a strange symbol behind. It also is unresponsive unless you tap in the border of the box of the button, if you tap in the center, it does nothing.
It works as always, you can play and pause without issue.
Button is unresponsive unless you press the border of the box.
This is like i see when the pause symbol is shown. With the play symbol is behind, but you almost can't see it, but is there behind.
This is a screenshot of the symbol behind along i managed to do.
The red part is the aprox. responsive part of the button, if you press in the middle, it does nothing (as pause or as play) but you can push the red part and it does the job.
If needed...
Hey,
I wanted to remind you that we use StandardCharsets in the downloader. StandardCharsets have been introduced with KitKat. You need to replace this with "utf-8"
to not get crashes.
"NewPipe Legacy" never worked for me - any version, from wherever - GitHub, F-Droid or a Modded one from 4PDA !
Here's the crash log captured with "Logcat Extreme Pro" (I don't know what "ACRA" is, is it a "firebase" analytics issue or whatever, or maybe the issue is in the build-in updates check):
---- Sep 13, 2020 8:11:21 PM ----
09-13 20:10:09.830 2454 3905 D Prevent : allow start activity org.schabi.newpipelegacy/.MainActivity
09-13 20:10:09.885 2454 3900 V Prevent : launch, current: [org.schabi.newpipelegacy]
09-13 20:10:09.890 2454 3900 D Prevent : action: start activity, package: org.schabi.newpipelegacy, count: 1
09-13 20:10:10.135 6125 6125 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.setUpUpdateNotificationChannel
09-13 20:10:10.140 6125 6125 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.initNotificationChannel
09-13 20:10:10.205 6125 6125 I ACRA : ACRA is enabled for org.schabi.newpipelegacy, initializing...
09-13 20:10:10.945 6125 6125 E ACRA : ACRA caught a RuntimeException for org.schabi.newpipelegacy
09-13 20:10:10.945 6125 6125 E ACRA : java.lang.RuntimeException: Unable to create application org.schabi.newpipelegacy.App: java.lang.NullPointerException
09-13 20:10:10.945 6125 6125 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.getCertificateSHA1Fingerprint(Unknown Source)
09-13 20:10:10.945 6125 6125 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.isGithubApk(Unknown Source)
09-13 20:10:10.945 6125 6125 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.onPreExecute(Unknown Source)
09-13 20:10:10.945 6125 6125 E ACRA : at org.schabi.newpipelegacy.App.onCreate(Unknown Source)
09-13 20:10:11.090 2454 3564 D Prevent : action: app died, package: org.schabi.newpipelegacy--org.schabi.newpipelegacy, count: 1
09-13 20:10:11.090 2454 3564 D Prevent : allow start activity org.schabi.newpipelegacy/.MainActivity
09-13 20:10:11.090 2454 3564 I ActivityManager: Process org.schabi.newpipelegacy (pid 6125) (adj 0) has died.
09-13 20:10:11.125 2454 12209 V Prevent : launch, current: [org.schabi.newpipelegacy]
09-13 20:10:11.130 2454 12209 V Prevent : pid 6125 is not for org.schabi.newpipelegacy
09-13 20:10:11.130 2454 12209 D Prevent : action: start activity, package: org.schabi.newpipelegacy, count: 1
09-13 20:10:11.230 6170 6170 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.setUpUpdateNotificationChannel
09-13 20:10:11.235 6170 6170 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.initNotificationChannel
09-13 20:10:11.260 6183 6183 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.setUpUpdateNotificationChannel
09-13 20:10:11.260 6183 6183 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.initNotificationChannel
09-13 20:10:11.325 6183 6183 I ACRA : ACRA is enabled for org.schabi.newpipelegacy, initializing...
09-13 20:10:11.445 6170 6170 E AndroidRuntime: java.lang.RuntimeException: Unable to create application org.schabi.newpipelegacy.App: java.lang.NullPointerException
09-13 20:10:11.445 6170 6170 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.getCertificateSHA1Fingerprint(Unknown Source)
09-13 20:10:11.445 6170 6170 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.isGithubApk(Unknown Source)
09-13 20:10:11.445 6170 6170 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.onPreExecute(Unknown Source)
09-13 20:10:11.445 6170 6170 E AndroidRuntime: at org.schabi.newpipelegacy.App.onCreate(Unknown Source)
09-13 20:10:19.400 6183 6183 E ACRA : ACRA caught a RuntimeException for org.schabi.newpipelegacy
09-13 20:10:19.400 6183 6183 E ACRA : java.lang.RuntimeException: Unable to create application org.schabi.newpipelegacy.App: java.lang.NullPointerException
09-13 20:10:19.400 6183 6183 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.getCertificateSHA1Fingerprint(Unknown Source)
09-13 20:10:19.400 6183 6183 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.isGithubApk(Unknown Source)
09-13 20:10:19.400 6183 6183 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.onPreExecute(Unknown Source)
09-13 20:10:19.400 6183 6183 E ACRA : at org.schabi.newpipelegacy.App.onCreate(Unknown Source)
09-13 20:10:19.415 2454 2637 D CrashAnrDetector: processName: org.schabi.newpipelegacy:acra
09-13 20:10:19.705 2454 2464 D Prevent : action: app died, package: org.schabi.newpipelegacy--org.schabi.newpipelegacy, count: 1
09-13 20:10:19.705 2454 2464 I ActivityManager: Process org.schabi.newpipelegacy (pid 6183) (adj 0) has died.
09-13 20:10:19.840 2454 2464 D Prevent : allow start activity org.schabi.newpipelegacy/.MainActivity
09-13 20:10:19.905 2454 4548 V Prevent : launch, current: [org.schabi.newpipelegacy]
09-13 20:10:19.905 2454 4548 V Prevent : pid 6183 is not for org.schabi.newpipelegacy
09-13 20:10:19.905 2454 4548 D Prevent : action: start activity, package: org.schabi.newpipelegacy, count: 1
09-13 20:10:20.050 6348 6348 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.setUpUpdateNotificationChannel
09-13 20:10:20.050 6348 6348 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.initNotificationChannel
09-13 20:10:20.100 6348 6348 I ACRA : ACRA is enabled for org.schabi.newpipelegacy, initializing...
09-13 20:10:20.565 6348 6348 E ACRA : ACRA caught a RuntimeException for org.schabi.newpipelegacy
09-13 20:10:20.565 6348 6348 E ACRA : java.lang.RuntimeException: Unable to create application org.schabi.newpipelegacy.App: java.lang.NullPointerException
09-13 20:10:20.565 6348 6348 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.getCertificateSHA1Fingerprint(Unknown Source)
09-13 20:10:20.565 6348 6348 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.isGithubApk(Unknown Source)
09-13 20:10:20.565 6348 6348 E ACRA : at org.schabi.newpipelegacy.CheckForNewAppVersionTask.onPreExecute(Unknown Source)
09-13 20:10:20.565 6348 6348 E ACRA : at org.schabi.newpipelegacy.App.onCreate(Unknown Source)
09-13 20:10:20.700 2454 2464 D Prevent : action: app died, package: org.schabi.newpipelegacy--org.schabi.newpipelegacy, count: 1
09-13 20:10:20.700 2454 2464 I ActivityManager: Process org.schabi.newpipelegacy (pid 6348) (adj 0) has died.
09-13 20:10:20.700 2454 2464 W ActivityManager: Force removing ActivityRecord{444d5c68 u0 org.schabi.newpipelegacy/.MainActivity}: app died, no saved state
09-13 20:10:21.485 2454 3906 V Prevent : pid 6348 is not for org.schabi.newpipelegacy
09-13 20:10:21.485 2454 3906 D Prevent : action: app died, package: org.schabi.newpipelegacy--org.schabi.newpipelegacy, count: 0
09-13 20:10:21.485 2454 3906 I ActivityManager: Process org.schabi.newpipelegacy:acra (pid 6170) (adj 0) has died.
09-13 20:10:42.600 6449 6449 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.setUpUpdateNotificationChannel
09-13 20:10:42.600 6449 6449 E dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method org.schabi.newpipelegacy.App.initNotificationChannel
09-13 20:10:42.825 6449 6449 E AndroidRuntime: java.lang.RuntimeException: Unable to create application org.schabi.newpipelegacy.App: java.lang.NullPointerException
09-13 20:10:42.825 6449 6449 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.getCertificateSHA1Fingerprint(Unknown Source)
09-13 20:10:42.825 6449 6449 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.isGithubApk(Unknown Source)
09-13 20:10:42.825 6449 6449 E AndroidRuntime: at org.schabi.newpipelegacy.CheckForNewAppVersionTask.onPreExecute(Unknown Source)
09-13 20:10:42.825 6449 6449 E AndroidRuntime: at org.schabi.newpipelegacy.App.onCreate(Unknown Source)
09-13 20:10:50.775 2454 2637 D CrashAnrDetector: processName: org.schabi.newpipelegacy:acra
09-13 20:10:52.380 2454 4586 D Prevent : action: app died, package: org.schabi.newpipelegacy--org.schabi.newpipelegacy, count: 0
09-13 20:10:52.380 2454 4586 I ActivityManager: Process org.schabi.newpipelegacy:acra (pid 6449) (adj 0) has died.
09-13 20:10:52.385 2454 4586 W ActivityManager: Service crashed 2 times, stopping: ServiceRecord{44a8cc78 u0 org.schabi.newpipelegacy/org.acra.sender.LegacySenderService}
---- Sep 13, 2020 8:11:21 PM ----
Umm the issue is that you have DOS endlines (the red
^M
) in https://github.com/TeamNewPipe/NewPipe-legacy/blob/master/gradle/wrapper/gradle-wrapper.properties not 6.1.1 (which is available in F-Droid FYI)
Originally posted by @licaon-kter in #29 (comment)
Apparently this is the issue, it's a matter of just replacing those for UNIX line endings.
Basically, $subject. I just started NewPipeLegacy on an old phone I have and the app notified me about an update to version 0.19.5.
No update notification should appear.
NewPipeLegacy notifies about NewPipe app updates.
It says that it could not parse website
The functionality of watching video or audio is ceased to exist as it crashes every time in youtube. However searching videos works fine . I have cleared data and cache. Moreover, I also uninstalled and reinstalled the apk but still I can't use newpipe. Its's not newpipe but other youtube alternatives are crashing. MAYBE, YouTube changed their setup.Please fix it as soon as you can. Currently I am using version 17.1 of the legacy app if this helps.
Hello NewPipe Team,
Sorry for posting a crash in here. Unfortunately my device is not able to send the automatic reports. I'm using NewPipe-legacy on my car's head-unit (Android 4.2.2 / no email client). Unfortunately since a few days since a few days NewPipe crashes when opening YouTube videos. When you e.g. choose a title in the search, the following screen crashes with an URL parse exception. It started intermittently but now seems to impacts almost all video files.
Is this an issue with has been addressed with the latest 0.19.x release of the main application, or is this something completely new? Let me know if I should provide a "screenshot".
Thank you in advance for taking a look.
Thanks,
Alex
It is nice to have Fallback Mode on extractor decryption errors to open requested videos in WebView as embedded video frame or/end external web browser without extra bloatware on main YouTube page. You know Legacy devices is limited by resources.
Also nice to have ability to share that embedded video link not main at least.
I'm just happy to have local bookmarks/search for yt without any other providers. Keep it lite for legacy.
Thank you very much!
The F-Droid link for "legacy" needs to be fixed in "ReadMe.md" because it mirrors the regular file and leads to the wrong ver. in F-Droid.
This is the log from Newpipe in aLogCat, during the bug with the mentioned playlist:
alogcat.2020-12-11-21-32-18+0100_Bug.txt
Also, this is the log when using that short playlist which doesn't do that problem:
alogcat.2020-12-11-21-17-51+0100_noBug.txt
I like that Newpipe released a legacy app, unfortunately it doesn't cover my Kindle and Motorola phone which both currently run a version of ice cream sandwich
My kindle is as up to date as it can be, version 7.5.1 which is based on android 4.0.3 ICS
My Motorola Atrix 2 also runs 4.0.3 ICS
I don't know the probability for compatibility, but it doesn't hurt to request. Who knows, maybe it could be picked up. Thanks, J.
I know merging all the changes in NewPipe 0.16.2 could take some time, but for now a new release be made just to update NewPipeExtractor to fix this bug TeamNewPipe/NewPipeExtractor#163
Dear developer!
In the process of using, I found a bug in layout / display. As shown in the figure, in the first page, the text in the red box overlap with each other. This may be an adaptation problem. I suspect it is because display and font size are set to large (mainly due to display size).
Because of some problems with my eyesight, I often use the largest font and display.
App version is 0.20.2, my mobile phone is Google nexus 6, screen resolution setting is 1920* 1080, font size and display size are the largest ! ! !, Android system is 8.0.
The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply.
Thank you!
use the largest font and display.
Hope to solve the problem of overlap.
Looks like dynamic loading on scroll event doesn't work here because there is no scroll at all - just 1.5 rows filled in the grid.
Gives this error on every video:
Could not analyse website.
org.schabi.newpipe.extractor.exceptions.ParsingException: YouTube did not provide player config even after three attempts
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:664)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:56)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:68)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:116)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$i-hFeJnSJwqTaktlkxwfnGBKECA.call(Unknown Source:4)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$i-hFeJnSJwqTaktlkxwfnGBKECA.call(lambda)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4154)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4154)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern ";([A-Za-z0-9_\$]{2})\...\( inside of var lea=function(a){a=a.split("");var b=[function(c,d){d=(d%c.length+c.length)%c.length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};"
at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)
at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)
at org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)
... 31 more
Since 0.18.6 F-droid versions are labeled as "android 4.4+" but they work on api16(4.1).
Current F-droid version for 4.1 is completely broken.
Can you please add IssueHunt or Bountysource to this repo?
They allow to put donations on specific issues, so everyone implementing them can get the money.
For Bountysource it currently point to the base project, not the legacy one.
Bountysource integration is more bugged in general, IssueHunt seems better.
Summary: I have BB z30 device qnx Android 4.3-18
. Was using NewPipe 0v0.14.2
but yesterday stopped playing videos. Found @friendlyanon NewPipeLegacy version installed from fdroid. Works!. Thanks for much for maintaining legacy version. Can do future testing if you want.
I have a Blackberry z30. I used to use SuperTube, a native BB YouTube application but it stopped working due to decrypt error. I used NewPipe by installing the APK. It works very well with all the features including background play. The OS Version gives: qnx Android 4.3-18
.
I was using NewPipe 0v0.14.2
. Yesterday the decrypt error started and I came across your Legacy version through TeamNewPipe/NewPipe#2259 while searching for a solution. I never knew NewPipe stopped supported 4.1-4.3
I'm so glad that @friendlyanon is maintaining a legacy version. It works on the Blackberry. Hope the legacy project will continue for a long time. I can be available if you want to test on blackberry device. Thanks a lot!
As a person who have an older budget device and have to stick with it for a long time to go, I found NewPipe Legacy very interesting as a good alternative towards the official YouTube app. The main reason is because NewPipe happens to include external player support and while the official app and other alternatives struggle to run smoothly at my device, NewPipe work smooth as silk.
But this method of using external video player comes with a cost. The app was unable to make video player run 144p, 240p, 480p with sound. Secondly, due to integrated video player doesn't support SW acceleration, whenever I tried to run a video in PiP mode, it just became a mess much like how the official app didn't work with my phone in the first place.
Please integrate SW acceleration option for your built-in video player. That should make many legacy devices work with the app better.
Hey @friendlyanon!
I just wanted to come across and say thanks for maintaining the legacy version! I'd like to propose a new icon, because the "legacy" lettering of the current icon is hard to read when it is displayed on a white background. I could not find the perfect font for my icon variation though.
Old | New |
When the main screen / home page is set to the subscriptions feed it takes a while to load, and crashes the UI occasionally.
Tapping the feed icon from the subscriptions page loads the feed almost instantly, and without issues.
java.lang.IllegalArgumentException: Called attach on a child which is not detached: ViewHolder{37933c90 position=0 id=-1, oldPos=-1, pLpos:-1 not recyclable(1)} android.support.v7.widget.RecyclerView{375cd198 VFED.V.. .F....ID 0,0-800,591 #7f090119 app:id/items_list}, adapter:org.schabi.newpipelegacy.info_list.InfoListAdapter@37591f40, layout:android.support.v7.widget.LinearLayoutManager@375d46d0, context:org.schabi.newpipelegacy.MainActivity@37192970
at android.support.v7.widget.RecyclerView$5.attachViewToParent(RecyclerView.java:915)
at android.support.v7.widget.ChildHelper.attachViewToParent(ChildHelper.java:239)
at android.support.v7.widget.RecyclerView.addAnimatingView(RecyclerView.java:1431)
at android.support.v7.widget.RecyclerView.animateDisappearance(RecyclerView.java:4161)
at android.support.v7.widget.RecyclerView$4.processDisappeared(RecyclerView.java:612)
at android.support.v7.widget.ViewInfoStore.process(ViewInfoStore.java:240)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3994)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3652)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1775)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14310)
at android.view.ViewGroup.layout(ViewGroup.java:4562)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1978)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1732)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1006)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5550)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5121)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Hi @TobiGr sorry for disturbing, NewPipe-legacy 0.19.9 not have apk on release page, can you upload apk ?
I have remove my name from the tester newpipe (normal version) because my android 4.4 custom rom is bad.
It would be nice if you used Conscrypt in NewPipe Legacy, so that you could use TLS 1.2-only services on Android devices that don't support TLS 1.2. It'll add a few MBs to the APK size though.
This is not a bug but just a compatibility query.
I tried exporting my database from Newpipe v0.19.3 and import them to Newpipe Legacy v0.18.6 but they don't import anymore. The last database I tried to do this with worked which is dated 16/02/2020 but I don't know what versions both of them were on at the time.
Do you think it's possible to add this again? I primarily use Newpipe on my main device and occasionally use Newpipe Legacy on my other device but when I use Legacy I'd like to transfer my current settings from my main device.
Background playback does not work.
Newpipe legacy 0.19.5
I am in Android version 4.2.2 - 17
every time i try the app crashes
When loading a Video, I get this error, which causes the comments not to load. In the non legacy version, the video doesn't even load.
{"user_action":"requested comments","request":"https://m.youtube.com/watch?v=fge84-mH_uM","content_language":"de-DE","content_country":"DE","app_language":"de_DE","service":"YouTube","package":"org.schabi.newpipelegacy","version":"0.20.2","os":"Linux Android 10 - 29","time":"2020-12-28 16:46","exceptions":["org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse json data for comments\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getPage(YoutubeCommentsExtractor.java:97)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getInitialPage(YoutubeCommentsExtractor.java:52)\n\tat org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)\n\tat org.schabi.newpipe.extractor.comments.CommentsInfo.getInfo(CommentsInfo.java:40)\n\tat org.schabi.newpipe.extractor.comments.CommentsInfo.getInfo(CommentsInfo.java:25)\n\tat org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getCommentsInfo$7(ExtractorHelper.java:155)\n\tat org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$Q3aiO7F5MGsHd2cKQH1lfXvfZpA.call(Unknown Source:4)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3666)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3666)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4290)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14935)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4290)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3666)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat java.lang.Thread.run(Thread.java:919)\nCaused by: com.grack.nanojson.JsonParserException: Unexpected character: < on line 1, char 1\n\tat com.grack.nanojson.JsonTokener.createParseException(Unknown Source:44)\n\tat com.grack.nanojson.JsonTokener.advanceToToken(Unknown Source:118)\n\tat com.grack.nanojson.JsonParser.advanceToken(Unknown Source:12)\n\tat com.grack.nanojson.JsonParser.parse(Unknown Source:1)\n\tat com.grack.nanojson.JsonParser$JsonParserContext.from(Unknown Source:19)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getPage(YoutubeCommentsExtractor.java:95)\n\t... 30 more\n"],"user_comment":""}
When we try to play YouTube videos, the playback audio is so choppy it can't be understood. This is on a Kindle Fire HD 7 3rd Generation with the TI OMAP 4470. See info below.
org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse json data for comments
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getPage(YoutubeCommentsExtractor.java:97)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getInitialPage(YoutubeCommentsExtractor.java:52)
at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
at org.schabi.newpipe.extractor.comments.CommentsInfo.getInfo(CommentsInfo.java:40)
at org.schabi.newpipe.extractor.comments.CommentsInfo.getInfo(CommentsInfo.java:25)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getCommentsInfo$7(ExtractorHelper.java:155)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$Q3aiO7F5MGsHd2cKQH1lfXvfZpA.call(lambda)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: com.grack.nanojson.JsonParserException: Unexpected character: < on line 1, char 1
at com.grack.nanojson.JsonTokener.createParseException(Unknown Source)
at com.grack.nanojson.JsonTokener.advanceToToken(Unknown Source)
at com.grack.nanojson.JsonParser.advanceToken(Unknown Source)
at com.grack.nanojson.JsonParser.parse(Unknown Source)
at com.grack.nanojson.JsonParser$JsonParserContext.from(Unknown Source)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor.getPage(YoutubeCommentsExtractor.java:95)
... 31 more
I'm very happy to report that the latest NewPipe Legacy v0.19.8
works properly with my Blackberry. OS Version 10.3.2
& BB Android Version: qnx Android 4.3-18
Very heartfelt thanks to all the people involved in this project. ๐ I hope you all can continue to support this unique device combination.
I just wanted to put it here that if you all want to test any aspect of the app, my device is available.
This will help make the app more robust for legacy devices and unsupported OSes.
Version 0.20.2 is still the most recent release.
Version 0.20.5 expected to be seen as the latest.
Hi
As of today there are two new releases on fdroid, Newpipe 16.0 and this new Newpipe Legacy 15.1.
To the user they look the same, use the same database and seem to be developed by the same team. I don't know the differences and can't decide which app to keep. Please add some information for the normal user, I would suggest to the fdroid app description. (Or here?)
Thx
Is it possible implement youtube personal api key, as the kodi plugin do?
Hi. As far as I can understand, the NewPipe-legacy requires Android 4.1. Is it possible to make it work on Android 4.0.4 as well?
See https://f-droid.org/wiki/page/org.schabi.newpipelegacy/lastbuild_70. To fix, just downgrade to a lower Gradle version, like the one used by non-Legacy NewPipe.
On my Redmi note 7 the comments' font size is way too small, but I'd also scale up the whole interface, for a better experience.
It would be nice to add an option to scale the interface's elements as wished.
I just want to know when will the latest version will be released. There are many errors and its a pain. Please release it as quickly as possible. Thanks
org.schabi.newpipe.extractor.exceptions.ParsingException: Could not load decryption code for the Youtube service.
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getPlayerUrl(YoutubeStreamExtractor.java:706)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:656)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:56)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:68)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:116)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$i-hFeJnSJwqTaktlkxwfnGBKECA.call(lambda)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NullPointerException
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getPlayerUrl(YoutubeStreamExtractor.java:701)
... 31 more
org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get ytInitialData
at org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getInitialData(YoutubeParsingHelper.java:203)
at org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.extractClientVersionAndKey(YoutubeParsingHelper.java:222)
at org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getKey(YoutubeParsingHelper.java:298)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.getNewNextPageFrom(YoutubeSearchExtractor.java:233)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.getInitialPage(YoutubeSearchExtractor.java:127)
at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:55)
at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:30)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$searchFor$0(ExtractorHelper.java:81)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$-8aHvL55sR85zE6IsKXH93CdRds.call(Unknown Source:8)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern "window\["ytInitialData"\]\s*=\s*(\{.*?\});
at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:72)
at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)
at org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)
at org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getInitialData(YoutubeParsingHelper.java:200)
... 20 more
I don't know how to reproduce this.
java.lang.IllegalStateException: ViewHolder views must not be attached when created. Ensure that you are not passing 'true' to the attachToRoot parameter of LayoutInflater.inflate(..., boolean attachToRoot)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7080)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:288)
at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:345)
at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:361)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:368)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:399)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
The video does not play and I get an error message saying that it could not parse the website.
The video to start playing.
org.schabi.newpipe.extractor.exceptions.ParsingException: YouTube did not provide player config even after three attempts
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:664)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:56)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:68)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:116)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$i-hFeJnSJwqTaktlkxwfnGBKECA.call(Unknown Source:4)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
When More than 2 Videos are enqued as Background playback, The video after the second one doesn't play and is stuck at loading.
Is it possible to merge/port that fix for legacy too?
Thanks for your hard work!
Load feed list from news feeds section, open an video and enjoy bug message :)
The video won't load because the app shows a bug report, I close it and try again until the app shows the video.
App show log report when i press to open an video.
N/A
org.schabi.newpipe.extractor.exceptions.ParsingException: YouTube did not provide player config even after three attempts
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:664)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:56)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:68)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
at org.schabi.newpipelegacy.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:116)
at org.schabi.newpipelegacy.util.-$$Lambda$ExtractorHelper$i-hFeJnSJwqTaktlkxwfnGBKECA.call(lambda)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3666)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:838)
As the title suggest the app crashes when the app is started without Internet Access.
please fix this. NewPipe Legacy error on "ANDROID BOX SH940C-LN" android versi jelly bean
java.lang.NoSuchMethodError: android.view.ViewGroup.getOverlay
at org.schabi.newpipelegacy.views.FocusOverlayView.setupOverlay(FocusOverlayView.java:203)
at org.schabi.newpipelegacy.views.FocusOverlayView.setupFocusObserver(FocusOverlayView.java:198)
at org.schabi.newpipelegacy.MainActivity.onCreate(MainActivity.java:143)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
On the most recent version of Newpipe-Legacy, I've noticed that any video I try to play now just shows "Content unavailable" in the place of where there used to be the video frame. This effectively makes the app unusable, as it can no longer be used to watch any videos. It doesn't crash so I don't think there's a crash dump to upload, but I'm happy to assist with whatever information could be helpful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.