We should release bug fixes from time to time... :)
Please test and share new crashes and bugs witch us below. Corresponding pull request: #2312
newpipe_0.16.2_rc2_debug.apk.zip (by @TobiGr)
On the last stable, in the What's New page only shows some videos and then just sits there with the loading icon. Is that a known bug?
version in RC1 is reported incorrectly as 0.16.0
not entirely sure which steps led to this, hence unable to replicate, but sharing just in case:
Crash log
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.schabi.newpipe.debug/org.schabi.newpipe.about.AboutActivity}: java.lang.ClassCastException: android.os.Parcelable[] cannot be cast to org.schabi.newpipe.about.SoftwareComponent[]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5219)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.ClassCastException: android.os.Parcelable[] cannot be cast to org.schabi.newpipe.about.SoftwareComponent[]
at org.schabi.newpipe.about.LicenseFragment.onCreate(LicenseFragment.java:49)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.schabi.newpipe.about.AboutActivity.onCreate(AboutActivity.java:64)
at android.app.Activity.performCreate(Activity.java:5976)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
... 11 more
java.lang.ClassCastException: android.os.Parcelable[] cannot be cast to org.schabi.newpipe.about.SoftwareComponent[]
at org.schabi.newpipe.about.LicenseFragment.onCreate(LicenseFragment.java:49)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.schabi.newpipe.about.AboutActivity.onCreate(AboutActivity.java:64)
at android.app.Activity.performCreate(Activity.java:5976)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5219)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Crash log
org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get channel name
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getName(YoutubeChannelExtractor.java:100)
at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:62)
at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:49)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelInfo$4(ExtractorHelper.java:123)
at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$u5W7VszTe8AoEexIsFM9huQfbkM.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.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4154)
at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38)
at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
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)
Caused by: java.lang.NullPointerException
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getName(YoutubeChannelExtractor.java:98)
... 28 more
@TobiGr @theScrabi
From time-to-time I'm visiting NewPipe's repo and can't find a player inside fragment feature implemented. Is it really non-important for everyone?
I'm comparing current version and 2017 year's version I use everyday. And it looks a bit different but no major changes in features list (except comments support and some other cool things).
For me it's pretty strange to not have the player that works inside a window with comments, description, etc.
@avently
Also, many things have been added. They just aren't front end things. Better downloaders, more stable players, and other things have all been added. These things aren't really visible to the end user, but make for a more stable experience, which imo is better than willy nilly adding new features.
@gkeegan
838 If you allow people access to use this it may speed up the process
Everyone can use my code from that PR without restrictions. I only said the PR shouldn't be reopened since no decisions were made for a long time. If a strategy doesn't work, make a new strategy:)
Anyway, I have been using the code for years but not without problems. They are not critical and can be fixed easily.
The idea behind the code is good but result could be better. And one large PR is a bad idea - multiple small pull requests is better in this case.
@avently
From that PR,
And for the record, you are not allowed to reopen this PR. Create your own. This will be the history of my fail.
Sorry for the misunderstanding. I thought that "create your own" meant that people couldn't use it.
I'm experiencing a problem in playing specific videos on the background player.
It just doesn't load.
The problem is span across many versions of the app.
An example of a video like this:
https://www.youtube.com/watch?v=EWSNOSv9TAs
It happens quite often.
I tried forcing shutdown of the app and trying to load it again, I tried even uninstalling the app and downloading it again, and the same song still won't load (but only on background mode).
I know with a problem so unspecific like this I'm not helping you much.
I assume the problem is specific to me since it happens so often if it was happening for everyone it for sure would've been reported and fixed already.
I have it running in background now.
downloading videos stuck at "post processing"

Thanks you all for testing!
@AnotherLife This is an old bug and will be fixed in #2309 (not in this release)
@zmrh I couldn't reproduce this either. Maybe on of these annoying Android 5 bugs? :)
@Brimont This is an extractor exception. But we didn't touch any related code. So I guess this was either a temporary bug or it exists in other versions, too.
@avently It's good to hear from you! Welcome back. An embedded player is definetely on our list.
Everyone can use my code from that PR without restrictions.
That's good to hear. I also thought we weren't allowed to reuse the code. I guess parts of it are very useful for us.
The idea behind the code is good but result could be better. And one large PR is a bad idea - multiple small pull requests is better in this case.
Yes, splitting this up into small PRs makes much sense and reviewing, testing and QA faster.
@shmil111 Yes, me too. But this is not related to this PR as I have problems with it on both versions. We should track this down in #2336 and #2337.
@zmrh will be fixed in #2149 (next release)
@TobiGr could you make a new issue with todo list related to an embedded player implementation?
I want to adapt the embedded player to new codebase. Maybe other devs will be glad to help too
Thanks to @Stypox, we can ship two more fixes with 0,16.2:
Here is the new RC: newpipe_0.16.2_rc2_debug.apk.zip
@avently Sure, but this might take a while as I would like to release the new version first and then review the three large PRs. I hope, I have some time in between, because I'd like to take a look at the old code, too. @theScrabi, @mauriciocolli In case you have some spare time, feel free to contribute to the list.
I didn't test it with v0.16.2 too, but I witness issues with some SoundCloud streams (not all of them) since yesterday (https://github.com/TeamNewPipe/NewPipe/issues/2344 & https://github.com/TeamNewPipe/NewPipeExtractor/issues/166). It may be release-blocking?
Crash log
org.schabi.newpipe.extractor.exceptions.ParsingException: Attempt to invoke virtual method 'java.lang.String org.jsoup.nodes.Node.attr(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudStreamLinkHandlerFactory.getUrl(SoundcloudStreamLinkHandlerFactory.java:25)
at org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory.fromUrl(LinkHandlerFactory.java:47)
at org.schabi.newpipe.extractor.StreamingService.getStreamExtractor(StreamingService.java:288)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:59)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)
at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)
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: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)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.jsoup.nodes.Node.attr(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper.resolveUrlWithEmbedPlayer(SoundcloudParsingHelper.java:104)
at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudStreamLinkHandlerFactory.getUrl(SoundcloudStreamLinkHandlerFactory.java:23)
... 29 more
The SoundCloud issues are there with 0.16.2 RC2 too.
We didn't change anything related to SoundCloud in this release. It looks like the SoundCloud API changed. a bunch of SoundCloud tests are failing (see extractor). As long as nobody takes a look at it, this will be unfixed in 0.16.2. But be assured, that we will dive into it soon.
Add a recommendation tab
@Paris302 You could open an issue for that
Most helpful comment
Thanks you all for testing!
@AnotherLife This is an old bug and will be fixed in #2309 (not in this release)
@zmrh I couldn't reproduce this either. Maybe on of these annoying Android 5 bugs? :)
@Brimont This is an extractor exception. But we didn't touch any related code. So I guess this was either a temporary bug or it exists in other versions, too.
@avently It's good to hear from you! Welcome back. An embedded player is definetely on our list.
That's good to hear. I also thought we weren't allowed to reuse the code. I guess parts of it are very useful for us.
Yes, splitting this up into small PRs makes much sense and reviewing, testing and QA faster.
@shmil111 Yes, me too. But this is not related to this PR as I have problems with it on both versions. We should track this down in #2336 and #2337.
@zmrh will be fixed in #2149 (next release)