[YouTube] Fetch the ANDROID client for ended/post livestreams #864
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By default, the
ANDROID
client was only fetched for video contents, where it can be useful on ended/post livestreams, if then
parameter of theWEB
client cannot be decrypted, to avoid throttling issues (because theWEB
client was only used before for ended/post livestreams). With this PR, it is now fetched for ended/post livestreams by default too.Note that this client doesn't return 720p streams where 720p60 streams are present, and these missing streams will so be still the ones from the
WEB
client.It also provides an exclusive 48kbps M4A audio format in the
adaptiveFormats
array of the JSON player response (itag 139), like other mobile clients (which can be also extracted from the response of the DASH manifest URL returned into theWEB
client player's response, but the DASH manifest is not used and parsed anymore by the extractor since #810 for performance purposes and to avoid NewPipe crashes due toTransactionTooLargeException
s which would be created if DASH manifest parsing would be kept and used).This change should have been made in #810, but I forgot to do so.