TiA4f8R
4d682834c3
Fix localization and update client version
2021-08-01 12:38:03 +02:00
TiA4f8R
f46cfb0f26
Adress reviews and do some improvements
...
Adress changes requested in reviews.
Do some improvements, remove unused imports and format some code to be in the 100 characters line limit.
2021-08-01 12:38:03 +02:00
TiA4f8R
e075dd5a63
Update client version, fix some tests, update mocks and do some improvements
...
Add the origin and the referer headers with the https://www.youtube.com value for YouTube JSON POST requests.
Don't add the consent cookie header for the requests which use the youtubei/innertube API because it's uneeded.
Fix some tests and update YouTube mocks
2021-08-01 12:38:02 +02:00
TiA4f8R
b49ae547a3
Do some improvements to YoutubeStreamExtractor
...
Get the real name of the uploader (for autogenerated channels and music artist channels), like before the migration to the JSON pbj.
Do some other improvements, especially reformatting some code to be in the 100 characters line limit and use final where possible.
2021-08-01 12:38:01 +02:00
TiA4f8R
58ce9b04a1
Fix channel extraction when channel URL is youtube.com/c/username
2021-08-01 12:38:01 +02:00
TiA4f8R
991b2c7d73
Use lightweight requests when getting and checking YouTube API key and client version
2021-08-01 12:38:01 +02:00
TiA4f8R
9ab9c66ddf
Use the youtubei.googleapis.com domain for YouTube Music searches + change a check + update client version and mocks
...
Change the domain from music.youtube.com to youtubei.googleapis.com.
Use a lightweight request to check if the hardcoded YouTubeMusic keys are valid. Increase the length of the response to 500 because if the key is invalid, the length of the response returned is higher than 250 and the response when the key is valid is higher than 1500.
Format the YoutubeMusicSearchExtractor file.
Update YouTube web client version and mocks
2021-08-01 12:37:56 +02:00
TiA4f8R
77c031a88a
Use the youtubei API for YouTube trends
2021-08-01 12:36:28 +02:00
TiA4f8R
f461224b2b
Use the youtubei API for YouTube searches + update mocks
...
Add getSearchParameter, a new method in YoutubeSearchQueryHandlerFactory class which returns the params field for a search, or an empty string if there is no one.
Update mocks of YoutubeSearchExtractorTest.
2021-08-01 12:36:28 +02:00
TiA4f8R
a12c69da7d
Use the youtubei API for YouTube channels
2021-08-01 12:36:27 +02:00
TiA4f8R
5794eb2350
Use the youtubei API for YouTube playlists
2021-08-01 12:36:12 +02:00
Stypox
c97a19d719
Merge pull request #696 from XiangRongLin/decrypt_pattern
...
Expand regex to match n param decrypt function
2021-08-01 10:24:22 +02:00
XiangRongLin
37df225556
Remove length check from StringUtils.matchToClosingParenthesis
2021-07-31 16:05:24 +02:00
FireMasterK
f4aad8b014
Fix tests again.
2021-07-31 14:40:51 +05:30
FireMasterK
88c11db4c5
Fix isCorrectedSearch test.
2021-07-31 02:18:18 +05:30
FireMasterK
fd19c53f65
Fix search suggestions test.
2021-07-31 02:08:50 +05:30
FireMasterK
a685941bba
Fix YouTube music search.
2021-07-31 01:33:38 +05:30
XiangRongLin
852a65ff18
Add tests for StringUtils
2021-07-30 19:56:57 +02:00
XiangRongLin
48d897e6ad
Add final and adjust utils class name
2021-07-29 21:33:45 +02:00
XiangRongLin
60794aea31
[YouTube] Add parenthesis matching as way to parse decrypt function
...
From @Stypox
2021-07-29 21:23:00 +02:00
XiangRongLin
2967d1ae6a
[YouTube] Compile YoutubeThrottlingDecrypter pattern statically
2021-07-29 20:27:29 +02:00
XiangRongLin
1c78976900
[YouTube] Expand regex to match n param decrypt function
...
Temporary solution
2021-07-29 20:26:36 +02:00
Tobi
14c179f343
Merge pull request #692 from TeamNewPipe/fix/sc/id
...
[SoundCloud] Fix hardcoded client id
2021-07-28 18:28:07 +02:00
Tobi
394c02ad06
Merge pull request #683 from XiangRongLin/yt_throttling
...
[YouTube] Fix buffering by decoding n parameter of stream urls
2021-07-28 18:01:57 +02:00
TobiGr
785ff4aa32
[SoundCloud] Fix hardcoded client id
2021-07-28 17:02:56 +02:00
TobiGr
79f2d74b04
Fix test
...
The decryption code changes over time. Only check whether the n parameter was changed in the URL
2021-07-28 16:45:31 +02:00
TobiGr
d70adfdb8f
Add methods for cache control to YoutubeThrottlingDecrypter.
2021-07-27 20:32:22 +02:00
TiA4f8R
d13f531b6f
Use YoutubeThrottlingDecrypter also in getAudioStreams and getVideoOnlyStreams methods of YoutubeStreamExtractor
...
Without this commit, the n param is only decrypted for streams extracted in getVideoStreams (so only for streams in the formats object of the player response).
2021-07-27 17:28:32 +02:00
TiA4f8R
32055147e0
Do some code improvements
...
Use final where possible, annotate some methods and parameters as Nonnull and format new code to be in the 100 characters limit per line.
2021-07-27 17:24:27 +02:00
TobiGr
1c30a2725e
Cache nParams to prevent executing the JavaScript function for the same nParam multiple times.
...
Closes #689
2021-07-22 19:40:12 +02:00
XiangRongLin
3a3d1d7f2b
Make YoutubeJavaScriptExtractor and JavaScript methods static
...
Also address review and rewrite some comments
2021-07-20 20:48:11 +02:00
XiangRongLin
a683c8d278
Delete duplicated code to load youtube javascript file
2021-07-17 19:14:57 +02:00
XiangRongLin
a02ee2e952
Rewrite youtube throttling solution and add tests
2021-07-17 19:10:09 +02:00
litetex
0c12b396e5
Review changes
2021-07-17 16:41:12 +02:00
litetex
ecf4232ce3
Using `Collections.emptyList()
`
2021-07-17 16:41:12 +02:00
litetex
0f9ed020a4
Frameset has to implement Serializable or NewPipe fails
...
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = org.schabi.newpipe.extractor.stream.StreamInfo)
...
Caused by: java.io.NotSerializableException: org.schabi.newpipe.extractor.stream.Frameset
...
2021-07-17 16:41:11 +02:00
litetex
17ccaf4b87
Update YoutubeStreamExtractor.java
...
To fix ``java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference``
2021-07-17 16:41:10 +02:00
litetex
4e41e172ea
Update Frameset.java
...
Reformatted code
2021-07-17 16:41:10 +02:00
litetex
09b670d745
Renamed frames to previewFrames (so it's better understandable)
2021-07-17 16:41:09 +02:00
litetex
b086655d54
Reverted useless change
2021-07-17 16:41:08 +02:00
litetex
93b0c5b15f
Added seekbar data
2021-07-17 16:41:08 +02:00
XiangRongLin
6956b72af7
Fix YoutubeThrottlingDecoder.replaceNParam
...
Previously it replaced the parameter itself not the value of the parameter.
2021-07-17 10:05:14 +02:00
XiangRongLin
a189f685dc
cache player js code
2021-07-16 19:20:40 +02:00
XiangRongLin
fcdb9bdbeb
add url to sout
2021-07-15 20:05:26 +02:00
XiangRongLin
80cf8b3acd
Extract separate YoutubeThrottlingDecoder
2021-07-15 20:05:25 +02:00
XiangRongLin
a86a30103f
[Youtube] bare bones version to solve throttling
...
Done by transforming the parameter "n" from videoplayback urls
https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-865985377
2021-07-15 20:05:25 +02:00
c38a06e8dc
Merge pull request #661 from B0pol/peertube-livestreams
...
[PeerTube] Support livestreams
2021-07-13 15:48:13 +02:00
litetex
fdebf3c6cd
Added javadoc warnings
2021-07-07 20:41:59 +02:00
litetex
6860543b07
Added more doc
2021-07-06 21:16:31 +02:00
litetex
a59fead0d7
Fixed typos
2021-07-06 21:16:30 +02:00