inotia00 / ReVanced_Extended

ReVanced Extended Issues/Request repo
714 stars 29 forks source link

bug(YouTube): Quality dips automatically and quality menu gets greyed out #2442

Closed ILoveOpenSourceApplications closed 2 hours ago

ILoveOpenSourceApplications commented 3 hours ago

Type

Error at runtime

Tools used

RVX Manager

Application

YouTube v19.16.39

Bug description

While running on the latest dev release, YouTube starts playing without an issue, but in between will buffer and the quality will dip and the quality menu gets greyed out, locking the user to watch in low quality instead.

https://github.com/user-attachments/assets/a8563b47-b0bd-4ce0-bcae-6e5ee0576e8a

The issue isn't present in the last stable patches version.

Error logs

No response

Solution

No response

Additional context

No response

Device Environment

No response

Acknowledgements

ILoveOpenSourceApplications commented 3 hours ago

I forgot to mention but, using v4.15.1-dev.2 also didn't have this issue. So changes made in v4.15.1-dev.3 is causing something. P.S: I don't use spoof streaming data.

inotia00 commented 2 hours ago

This may be related to https://github.com/inotia00/ReVanced_Extended/issues/2419#issuecomment-2424322396

  1. Exclude the Spoof app version patch (and re-patch)
  2. Reinstall RVX (Or delete app data)
  3. Report back if the issue is reproduced
ILoveOpenSourceApplications commented 2 hours ago

This may be related to #2419 (comment)

  1. Exclude the Spoof app version patch (and re-patch)

I don't use spoof app version.

  1. Reinstall RVX (Or delete app data)

I did uninstall RVX. Then patched and installed using the stable release, and updated later to the dev release but the issue still persisted.

  1. Report back if the issue is reproduced

Yes, I can reproduce the issue.

ILoveOpenSourceApplications commented 2 hours ago

Here's the list of patches that I use: 1000073244

inotia00 commented 2 hours ago

Does the issue reproduce even if you only include the GmsCore support patch?

inotia00 commented 2 hours ago

Ah, I can reproduce this on my side If you turn on Stats for nerds, you will see that this is just a playback issue

This can be resolved by using Spoof streaming data

ILoveOpenSourceApplications commented 2 hours ago

Does the issue reproduce even if you only include the GmsCore support patch?

Yes.

ILoveOpenSourceApplications commented 2 hours ago

Ah, I can reproduce this on my side If you turn on Stats for nerds, you will see that this is just a playback issue

This can be resolved by using Spoof streaming data

But I don't have this issue on 4.14.2 or on v4.15.1-dev.2.

inotia00 commented 2 hours ago

This issue is probably being reproduced after https://github.com/inotia00/revanced-patches/commit/f999aead6bdfd8040a5fdbd9f380c0dc6f79a5bc

Reverting the commit will fix the issue, but it may cause memory leaks or battery drain due to services not implemented in GmsCore

This is not a big problem, as the Spoof streaming data patch was added to fix the playback issue

ILoveOpenSourceApplications commented 2 hours ago

From the changelogs, I'm only seeing two things that can cause this issue for me. This is my speculation.

1) chore(YouTube/PlayerType): supplement PlayerType limits under certain conditions 2) fix(YouTube/YT Music - GmsCore support): unimplemented service in GmsCore causes memory leak ReVanced/revanced-patches#3768

ILoveOpenSourceApplications commented 2 hours ago

This issue is probably being reproduced after inotia00/revanced-patches@f999aea

Reverting the commit will fix the issue, but it may cause memory leaks or battery drain due to services not implemented in GmsCore

This is not a big problem, as the Spoof streaming data patch was added to fix the playback issue

Is there a way to better implement this so that a user who didn't have any playback issue can continue without 'spoof streaming data'.

inotia00 commented 2 hours ago

From the changelogs, I'm only seeing two things that can cause this issue for me. This is my speculation.

  1. chore(YouTube/PlayerType): supplement PlayerType limits under certain conditions
  2. fix(YouTube/YT Music - GmsCore support): unimplemented service in GmsCore causes memory leak bug: (YouTube)Too many Binders sent to SYSTEM ReVanced/revanced-patches#3768

If you only include the GmsCore support patch, then the PlayerTypeHook patch or the LithoFilter patch will not be applied

So 1 is not the cause of the issue

inotia00 commented 2 hours ago

The Spoof streamind data patch was added for the playback issue, and since the warning - Turning off this setting may cause video playback issues. - is already shown to the user, I don't think it is an issue

inotia00 commented 1 hour ago

Is there a way to better implement this so that a user who didn't have any playback issue can continue without 'spoof streaming data'.

Although not ideal, there is a way to add the patch option EnableGmsServiceBroker to the GmsCore support patch

Reverting the commit will fix the issue, but it may cause memory leaks or battery drain due to services not implemented in GmsCore

It may have side effects like the above, but it uses the old hooking method

ILoveOpenSourceApplications commented 1 hour ago

Is there a way to better implement this so that a user who didn't have any playback issue can continue without 'spoof streaming data'.

Although not ideal, there is a way to add the patch option EnableGmsServiceBroker to the GmsCore support patch

Reverting the commit will fix the issue, but it may cause memory leaks or battery drain due to services not implemented in GmsCore

It may have side effects like the above, but it uses the old hooking method

I would appreciate if this possible as I or anybody who didn't depend on 'Spoof streaming data' wouldn't be forced to use .

ILoveOpenSourceApplications commented 1 hour ago

What about these changes? https://github.com/ReVanced/revanced-patches/compare/v4.17.0-dev.12...v4.17.0-dev.13

inotia00 commented 1 hour ago

What about these changes? ReVanced/revanced-patches@v4.17.0-dev.12...v4.17.0-dev.13

For the GmsCore support patch in revanced-patches-4.15.1-dev.3, the changes in ReVanced 4.17.0-dev.13 and the changes in 0xrxL/uDrop are already included

inotia00 commented 1 hour ago

Patch options are as follows:

title:

Disable GmsService Broker

description:

Disabling GmsServiceBroker will somewhat improve crashes caused by unimplemented GmsCore services.
For YouTube, the 'Spoof streaming data' setting is required.

The default is OFF, and only when the user manually changes it to ON will the same result as revanced-patches-4.15.1-dev.3 be achieved.

ILoveOpenSourceApplications commented 1 hour ago

Thank you, @inotia00!