Skip to content

Commit

Permalink
Clarify comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Tyrrrz committed Sep 27, 2024
1 parent 6d1fb0b commit 9a5ba50
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions YoutubeExplode/Videos/VideoController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,15 @@ public async ValueTask<PlayerResponse> GetPlayerResponseAsync(
CancellationToken cancellationToken = default
)
{
// The most optimal client to impersonate is the Android client, because
// it doesn't require signature deciphering (for both normal and n-parameter signatures).
// However, the regular Android client has a limitation, preventing it from downloading
// multiple streams from the same manifest (or the same stream multiple times).
// As a workaround, we're using ANDROID_TESTSUITE which appears to offer the same
// functionality, but doesn't impose the aforementioned limitation.
// The most optimal client to impersonate is any mobile client, because they
// don't require signature deciphering (for both normal and n-parameter signatures).
// However, we can't use the ANDROID client because it has a limitation, preventing it
// from downloading multiple streams from the same manifest (or the same stream multiple times).
// https://github.com/Tyrrrz/YoutubeExplode/issues/705
// Previously, we were using ANDROID_TESTSUITE as a workaround, which appeared to offer the same
// functionality, but without the aforementioned limitation. However, YouTube discontinued this
// client, so now we have to use IOS instead.
// https://github.com/Tyrrrz/YoutubeExplode/issues/817
using var request = new HttpRequestMessage(
HttpMethod.Post,
"https://www.youtube.com/youtubei/v1/player"
Expand Down

0 comments on commit 9a5ba50

Please sign in to comment.