Newpipe: Release v0.17.0

Created on 1 Aug 2019  路  47Comments  路  Source: TeamNewPipe/NewPipe

New

Playback resume #2288

  • Resume streams where you stopped last time

    Downloader Enhancements #2149

  • Use Storage Access Framework to store downloads on external SD-cards

  • New mp4 muxer
  • Optionally change the download directory before starting a download
  • Respect metered networks

Improved

  • Removed gema strings #2295
  • Handle (auto)rotation changes during activity lifecycle #2444
  • Make long-press menus consistent #2368

Fixed

  • Fixed selected subtitle track name not being shown #2394
  • Do not crash when check for app update fails (GitHub version) #2423
  • Fixed downloads stuck at 99.9% #2440
  • Update play queue metadata #2453
  • [SoundCloud] Fixed crash when loading playlists TeamNewPipe/NewPipeExtractor#170
  • [YouTube] Fixed duration can not be paresd TeamNewPipe/NewPipeExtractor#177
  • [YouTube] Fixed crash on videos which are age restricted TeamNewPipe/NewPipeExtractor#177

Corresponding PR: #2482
Corresponding PR for the extractor: https://github.com/TeamNewPipe/NewPipeExtractor/pull/179

APK for testing and finding bugs

NewPipe-v0.17.0_RC4:

Please report all new bugs below.

Most helpful comment

I thought thats cool :D so you know exaclty the time where you are.

All 47 comments

I'd also open an issue for this, as I think people read more issues than pull requests.

Also remember to merge weblate:

  • [x] Weblate has been merged

Also remember to merge weblate:

Done.

Found an issue, the history does not show up directly after you opened the history view, and if you do anything it will immediately disappear again.

Yes it takes quite way to long to load. But on my device nothing disappears.

I think its a little weird that not even the loading cycle is shown during that time.

export settings database to external sd crashes due to missing permission although write access to storage in general is allowed (Android 6). Maybe also use SAF like when asking for the audio / video download folder?

Exception

  • __User Action:__ ui error
  • __Request:__
  • __Content Language:__ GB
  • __Service:__ none
  • __Version:__ 0.17.0
  • __OS:__ Linux Android 6.0.1 - 23

Crash log

java.io.FileNotFoundException: /storage/8900-7EE7/NewPipeData-20190801_093211.zip: open failed: EACCES (Permission denied)
    at libcore.io.IoBridge.open(IoBridge.java:452)
    at java.io.FileOutputStream.(FileOutputStream.java:87)
    at java.io.FileOutputStream.(FileOutputStream.java:127)
    at java.io.FileOutputStream.(FileOutputStream.java:116)
    at org.schabi.newpipe.settings.ContentSettingsFragment.exportDatabase(ContentSettingsFragment.java:154)
    at org.schabi.newpipe.settings.ContentSettingsFragment.onActivityResult(ContentSettingsFragment.java:139)
    at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:160)
    at android.app.Activity.dispatchActivityResult(Activity.java:6497)
    at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742)
    at android.app.ActivityThread.access$1400(ActivityThread.java:150)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
    at libcore.io.Posix.open(Native Method)
    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
    at libcore.io.IoBridge.open(IoBridge.java:438)
    ... 17 more



I've found an error unfortunately I can't reproduce it :/. I was opening a youtube link in another app with newpipe -> show info and then i went into to the settings and when i went back to the video i got this error:
edit: this was the video url: https://www.youtube.com/watch?v=XrTDkTKkZ0E

Exception

  • __User Action:__ ui error
  • __Request:__ App crash, UI failure
  • __Content Language:__ GB
  • __Service:__ none
  • __Version:__ 0.17.0
  • __OS:__ Linux Android 8.0.0 - 26

Crash log

java.lang.RuntimeException: Unable to resume activity {org.schabi.newpipe/org.schabi.newpipe.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3790)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3830)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
    at org.schabi.newpipe.fragments.detail.VideoDetailFragment.setupActionBar(VideoDetailFragment.java:659)
    at org.schabi.newpipe.fragments.detail.VideoDetailFragment.onResume(VideoDetailFragment.java:250)
    at android.support.v4.app.Fragment.performResume(Fragment.java:2498)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1501)
    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.dispatchResume(FragmentManager.java:3241)
    at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:223)
    at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:538)
    at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:527)
    at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:172)
    at android.app.Activity.performResume(Activity.java:7385)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3765)
    ... 8 more
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
    at org.schabi.newpipe.fragments.detail.VideoDetailFragment.setupActionBar(VideoDetailFragment.java:659)
    at org.schabi.newpipe.fragments.detail.VideoDetailFragment.onResume(VideoDetailFragment.java:250)
    at android.support.v4.app.Fragment.performResume(Fragment.java:2498)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1501)
    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.dispatchResume(FragmentManager.java:3241)
    at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:223)
    at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:538)
    at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:527)
    at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:172)
    at android.app.Activity.performResume(Activity.java:7385)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3765)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3830)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)



I found out why my chonnic is so slow: I have a huge amout of data in there. So its underperforming dramatically. However it used to work well before the update, so there must be something new that has bad runtime. One should run the profiler on this.

[FIXED]

Found another bug:
Importing settings from an exported database file is not getting applied.
As you can see in the video, I've set the default resolution to 720p, and exported the database, and on import I said "yes" when NP asked me to restore the settings, however the 720p did not get restored, which also applied to all other settings:

bla mp4
Download video

First, this update looks great. All these fixes and improvements are very exciting.

Second, is there any way #2309 could be implemented as an experimental setting?

In "whats new" if the list is loaded quicky (previuosly browing all channels on the feed). The empty list message is displayed
Screenshot_1564852824

In "whats new" if the list is loaded quicky (previuosly browing all channels on the feed). The empty list message is displayed
Screenshot_1564852824

Related issues -

I managed to fix it with https://github.com/yausername/NewPipe/commit/985f5f718051d20e74dd893c4390ff8367671f37 Not sure of any side effects though.
@nv95

What's new list: around the sixth entry a video is always shown twice (only one).

I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.

clip mp4

some nit-picking. Is this watched duration thing really required? The red bar seems good enough to me.
playback-resume

I thought thats cool :D so you know exaclty the time where you are.

@tusch001 what you postet is not a regression and should therefore not be fixed now.

For me the only big issue now is that thing that when you return to the player the possition is lost. Can someone confirm that?

When thats done it consider release. @TobiGr ? What do u think?

@theScrabi I agree. Everything else can be fixed in a future version.

I am not able to clear playback position history. is there any option to do it. And also after turning off this feature the indicator doesn't show in list but when I click on the video it show up.And also video starts from saved position even feature is off.
I tried clearing history and cache(in app info too) but positions doesn't clear up.

is anyone having same problem.

newpipe : 17.0 R3
Android : 8.1
Language: en

I am not able to clear playback position history. is there any option to do it.

@thegodofplay The positions is only deleted when deleting the history.

I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.

@theScrabi I am not able to reproduce this on Android, too. Only with Lineage 15.1. Which Lineage version is on your phone?

@TobiGr @theScrabi
check PR https://github.com/TeamNewPipe/NewPipe/pull/2496. I think this should be part of this release as it is a regression bug.

@TobiGr
My bad. After turning off playback position the position progress bar doesn't show up anywhere, its working fine. But it still logging positions even if feature is off and start showing previous positions(of time when feature is off) when you enable it again. And i mentioned above that i cleared history but it doesn't work. Here is the video:
https://streamable.com/olcvg

I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.

@theScrabi I can reproduce this issue on Lineage 16.0

@TobiGr I have Lineage 16.0 aka Android 9.
More exact: 16.0-20190729-microG-bardock

@thegodofplay I know that some images might have problems, as do all Android phones have. But we try to make it work as well as possible. However Lineage is not one of the least used Roms.

But it still logging positions even if feature is off and start showing previous positions(of time when feature is off) when you enable it again

@thegodofplay This should not happen and is IMO a new blocker @theScrabi
Edit: I am working on a fix

I noticed that to but it happend not always

I was not able to fix the problem mentioned in https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305
@nv95, @theScrabi, @yausername or @Stypox: Can one of you take a look at it please?

Awesome. :D Thx @TobiGr . I will build later. I gat quite some busy day yesterday.

I found another nasty bug: the local playlists content duplicates again and again and this is so bothering
How to reproduce:
1- open a playlist
2- long press the first element and click "enqueue in background"
3- skip the song from the notification
4- you are done ! You have all the songs twice. And i realized it just after skipping 3 songs so my playlists went from 15 songs to 45. But for a reason i still couldnt determine, this doesnt happen all the time, and if you leave the playlist and come back, everything come back as before - but sometimes not.

Edit: i found how i keep the new elements : you just have to delete an element of the playlist after the bug happens, and everything becomes "saved"
Dont try too much because its exponential 馃槀

Uploaded RC4.

@TobiGr the bug from https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305 seems still to be there in RC4.

@justanidea I could not reproduce hits behaviour. Also did you test this with 0.16.4? If the bug exists there it's not a regression and should therefore not be fixed now.

@theScrabi that's why I asked for help

I see, I missread sorry. I was already taking a look into the code but could not find the cause yet as well.

@theScrabi @TobiGr @Stypox https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305 seems to be caused by https://github.com/TeamNewPipe/NewPipe/pull/2482/commits/7c9ef58acd0971ef47c78f4d3247d388991044bc

It is working fine if I revert that commit (https://github.com/TeamNewPipe/NewPipe/pull/2482/commits/7c9ef58acd0971ef47c78f4d3247d388991044bc). Although I can't completely understand the reason behind this commit.

How about we release now, because 0.17.0 is less broken then 0.16.4. We could release now and fix on the master branch later. What do you think about that?

Sounds good!

All right

@theScrabi are you releasing today?

No I'm sick today. @TheAssassin you have the keys could you take care of it, otherwise I will tomorrow.

@yausername That commit fixed this problem. But what I did was just a workaround. I will now try harder and push directly to release_v0.17.0 (as it seems like I have the permission ;-))

Release it babieeeesssssss .

@yausername @theScrabi @nv95 I could not reproduce the issue, but I tried to fix it anyway. I'm now disposing stateLoader when the player is destroyed, and probably this is the correct way to do it. Check https://github.com/Stypox/NewPipe/commit/5191907af0f5abfcb45b6dcb09cc56a8924ce5db ; I will push to release_v0.17.0 after your feedback.

Here is the APK for testing:
app-debug_1.zip

@Stypox you fixed it :D
My machine is ready for take off now. @Stypox commit, and 0.17.0 is as good as launched.

I could not reproduce the issue

It was happening on android P.

Well done. Thank you very much, it has been a pleasure to work with all of you once more. :bowing_man: This is a very nice version :)

Actually the playlist bug doesnt happen anymore, i guess it was linked to the older version of Np 0.17.0, before all these fixes

I had to pull back 0.17.0 due to issues with the documents app on android 5.0, and the slow performance when having old databases that would need to be imported into 0.17.0.

Was this page helpful?
0 / 5 - 0 ratings