You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's not clear whether this was intended or unintentional.
When sending a request for the same Playlist Id, it appears that premium and non-premium accounts receive different responses.
The ideal way to implement this as a patch would be to find the method in YouTube Music that handles the response to the request for Playlist Id and replace it with the response received from the unofficial API.
Unfortunately, despite conducting reverse engineering for a long time, I could not find a method to handle this endpoint in the YouTube Music client.
Reversing engineering is even more difficult on Android clients because they send requests with the application/x-protobuf type.
Instead, it seems possible to send a request to a piped instance using the initial value created in PlaybackStartDescriptor.
It is impossible to apply the method used by ViMusic as it is, but it seems that some similar implementation is possible.
Here's the description of the patch:
When the music starts, send a request to the piped instance to fetch the videoId.
If the current playing status is Music Video (VideoType == MUSIC_VIDEO_TYPE_OMV), prepare to use the videoId fetched from the piped instance.
When the user presses the music button at the top of the player, the videoId fetched from the piped instance is opened.
I plan to exclude this patch by default because of the high probability of bugs
Acknowledgements
I have searched the existing issues and this is a new and no duplicate or related to another open issue.
I have written a short but informative title.
I filled out all of the requested information in this issue properly.
I have written the title and contents in English.
The text was updated successfully, but these errors were encountered:
Application
YouTube Music
Description
This is an issue tracker for the following issues: ReVanced/revanced-patches-template#1353
Since the implementation process is included in the RVX patch, I wrote it here rather than in the ReVanced repo.
Currently, YouTube Music shows different results under 'Albums' for premium and non-premium accounts.
To help you understand, I will cite the example mentioned in vfsfitvnm/ViMusic#88
Open the following album in YouTube Music and play the first song:
Mercury : Acts 1 & 2
Regardless of the 'Don't Play Music Videos' setting, official music will be played on premium accounts and music videos will be played on non-premium accounts
It's not clear whether this was intended or unintentional.
When sending a request for the same Playlist Id, it appears that premium and non-premium accounts receive different responses.
The ideal way to implement this as a patch would be to find the method in YouTube Music that handles the response to the request for Playlist Id and replace it with the response received from the unofficial API.
Unfortunately, despite conducting reverse engineering for a long time, I could not find a method to handle this endpoint in the YouTube Music client.
Reversing engineering is even more difficult on Android clients because they send requests with the
application/x-protobuf
type.Instead, it seems possible to send a request to a piped instance using the initial value created in
PlaybackStartDescriptor
.It is impossible to apply the method used by ViMusic as it is, but it seems that some similar implementation is possible.
Here's the description of the patch:
MUSIC_VIDEO_TYPE_OMV
), prepare to use the videoId fetched from the piped instance.I plan to exclude this patch by default because of the high probability of bugs
Acknowledgements
The text was updated successfully, but these errors were encountered: