-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.21.2 video playback performance regression #6207
Comments
Maybe this was caused with the last ExoPlayer update (#5856)? @Redirion What do you think? From a personnal note, on my device, an Honor 9X running EMUI 10, I can't play smoothly videos in 1080p60 with WEBM but I can with MP4. This happens before this release and is related to my device and its performances. |
@TiA4f8R |
I always think it's a problem with ExoPlayer. |
@TiA4f8R Actions performed in log in chronological order: I opened NewPipe Debug, opened a video, changed to 1080p60, NewPipe Debug crashed, misclicked and opened for a splitsecond the releasebuild of Newpipe, opened NewPipe Debug again, started the video again, changed to 1080p60, watched the video in the 10fps slideshow lag awfulness and finally closed the app. If by "capture logs from a debug APK with ADB" you were not referring to logcat, pls elaborate and tell me how to capture the log in the format you asked for. |
I was indeed refering to Android's logcat, thank you! Now you will need to a wait that a developer checks what's wrong (I am not one). This can take some time. |
I can onyl make guesses, but that's what I've found: FramedropsWe are getting a bunch of lines which are similar to this one:
These are always preceeded by some kind of Log 1
Log 2
BufferingI did not yet compare the log with a "normal" log, but your log contains the word "buffer" very often: In the ~7000 lines, we got ~1800 lines with info about buffer stuff.
I do not have time to look into this, but my next steps would be:
|
it looks like the development of your Lineageos version for your device has advanced to a new version. 18.1. But yes please also try the updated ExoPlayer to see if that makes a difference |
ah @TobiGr you have linked the wrong update. @FrostKiwi please try that ExoPlayer version and please comment on my Lineageos question |
Tried the debug build provided by PR #6206 I am on the 11th April build of LineageOS 17.1 as provided by this ROM |
MediaCodecInfo: NoSupport [codec.profileLevel, avc1.64002A, video/avc] [OMX.qcom.video.decoder.avc, video/avc] [bacon, A0001, OnePlus, 29] VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2 Can you please try if it works better with webm? |
this is curious: |
@Redirion Good catch! |
I have tested the APK as provided in the PR.
On all version, v0.21.1, v0.21.2 and v0.21.2 "fixfragmentsize" the playback of WebM 720p60 and WebM 1080p60 is equally a single-digit fps slideshow. This kinda leads me to believe that my Device has stopped providing Hardware decoding for MPEG-4 with v0.21.2 maybe? Is there a way to check that? For reference, here is a video showing off all symptoms in all versions, captured externally, as not to fudge the results: 00006.mp4In chronological order:
|
Thank you for the video! |
Just wanted to add my 2 cents here, maybe it helps tracking down the problem/bug. NewPipe version: 0.21.2 For me happened the same after updating to 0.21.2. Changing to WEBM changed nothing. One line that sticks out when opening a 1080p60 video is: Situation: If I can help/ test with anything let me know. Edit: Commented before finishing comment... |
I also have a OnePlus 2 (A2003) (but running LineageOS 17.1) and can confirm the 1080p60 behavior. The comment above caught my attention since the lags started to occur at roughly the same time I installed the ViperFX equalizer Magisk module. However, even after making sure every last file was removed after deinstallation of the module, the performance remained the same. What's interesting about this regression is the difference in performance between 1080p60 (slideshow) and 720p60 (perfectly smooth). I would at least expect some lagging. |
I wanted to clean flash my Phone before posting again, but since we are here:
As @matterharz reported, I disabled that audio effects and there was no change either. |
I found thesesn lines in @FrostKiwi's and @Mr-Mime's log:
@Mr-Mime I think you did not use a debug version to create the crash log, did you? Can you please create a more detailed log with the latest dev version? |
@TobiGr, this time I used the lastest dev version you linked. I also set the logcat output level to "Debug", last time it was set to "Info". Here are the new logs. I also see these lines, which were also in @FrostKiwi's log...
BTW my lineage is degoogled, not that I think it is related to this issue, but who knows :) |
Please check with the apk from this PR #6288 if it works for you. It could be that there is an issue with media tunneling where syncing audio and video timestamps is being offloaded to the device if the device claims support for that. In the event that media tunneling is broken on the device sync timestamps might be missing / incorrect and could lead to stutter or low fps. |
@Redirion the apk from the PR did nothing for me. Turned tunneling off and still had stuttering video. (MP4 and WEBM) However I can say that 4a9d210 introduced the stuttering on my device. I built the app locally. |
@Mr-Mime That looks like a wrong conclusion. The history is not linear. ad8f3aa is directly based on the 0.21.0 release (464d0e5). So when you do not experience the problem with ad8f3aa, that only tells us, that the problem did not exist in the 0.21.0 release. However, 4a9d210 has a bunch more commits which made changes to the player. I really do not believe that the performance regression was introduced by preventing a single device from using media tunneling. Can you test 5739caa? |
the first commit was based on an outdated dev branch at that time it appears. |
For me with the downgrade the stuttering is gone. |
Damn you guys are fast 0.0
Can confirm aswell with my OnePlus One. #6294 runs smoothly, #6295 is a slideshow. |
Huhuhu. One of our devs had something like 30+ Newpipes installed at one point. But keep trying. ;P |
I kinda have the same problem(?) |
my guess is that it all boils down to this issue and its fix in ExoPlayer that is present since 2.13: ExoPlayer checks decoder capabilities and dismisses probable decoders as they do not correctly announce profileLevel support for what is needed for Youtube 1080p60
so the normally well performing decoder gets dismissed and another, inferior, software decoder like Googles own gets used instead resulting in sluggish performance. In my opinion this should be an issue of LineageOS and can be fixed by correctly reporting supported h264 codec profile levels. |
Just as a note: I updated my OnePlus One to the latest LineageOs 18.1 build. Thus I think the issue described by @Redirion should be reported to LineageOs. |
We will downgrade ExoPlayer for the next version |
FYI: Created a issue at LineageOs's issue tracker here. |
@Mr-Mime Might be a good idea to also submit a post to their subreddit. Quite a few devs are active there, so it might increase the chances of someone having a look at this. |
This clears the issue for now then. |
Let's keep it open to keep track of LineageOS developments. |
ᕕ( ᐛ )ᕗ |
@Mr-Mime any news regarding avc profile level support for your chipset? I don't see any recent patch in https://review.lineageos.org/q/project:LineageOS%252Fandroid_hardware_qcom_media |
Lost focus on this in summer... |
sounds good! Can you confirm that the issue is not present in the current NewPipe release with the latest LinageOS? |
I am on the latest LineageOS and have NewPipe 21.15 installed. I see no stuttering.
Edit: Just wanted to mention that I tested it with an 1080p60 video, just to be clear. |
perfect! I will close this issue then :) |
With the update to v0.21.2 my OnePlus One is unable to playback 1080p60 videos smoothly any more. Instead it drops it's framerate to below 10fps and becomes a slide show. Going down to 720p60 solves the issue.
This was not the case before v0.21.2.
Anyone else having this experience or is it just my device?
Checklist
Device info
The text was updated successfully, but these errors were encountered: