XiangRongLin
7b06c696e2
Use Page.body for YoutubeChannelExtractor
2021-04-06 18:14:38 +02:00
XiangRongLin
eda1b6e199
Use Page.body for YoutubePlaylistExtractor
2021-04-06 18:14:38 +02:00
XiangRongLin
1925dcf4dc
Merge pull request #597 from fynngodau/related-items
...
Rename getRelatedStreams to getRelatedItems and change return type
2021-04-02 19:54:22 +02:00
Fynn Godau
14f6f1b7c3
Generify related streams calls and rename method
2021-03-31 20:24:40 +02:00
TobiGr
1498e1905e
Reduce number of type conversions in YouTubeSearchExtractor.collectStreamsFrom by introducing new variable
2021-03-31 13:30:38 +02:00
Stypox
b4dee6d08f
Merge pull request #306 from B0pol/metadata
...
Extract metadata for youtube, soundcloud & mediaccc
2021-03-27 08:45:47 +01:00
TobiGr
070a40e181
[YouTube] Mix Playlist - Fix getting name
2021-03-25 21:47:16 +01:00
Tobi
12835bfae1
Merge pull request #551 from FireMasterK/ff-privacy
...
Change UA to privacy.resistFingerprinting.
2021-03-24 17:58:34 +01:00
Stypox
ce7cbbc9a0
[YouTube] Fix trending getName()
2021-03-24 09:14:09 +01:00
bopol
8806fb4e6b
address reviews
2021-03-19 10:14:43 +01:00
bopol
c47cc54908
Extract metadata for YouTube, SoundCloud & MediaCCC
2021-03-19 10:14:43 +01:00
TiA4f8R
e55284bb8f
Code style improvements
...
Use final where possible in YoutubeStreamExtractor and do some other code style improvements
2021-03-05 16:38:53 +01:00
TobiGr
d0a1041afd
Prevent NullPointerException and use equalsIgnorecase
2021-03-05 16:38:52 +01:00
TiA4f8R
890cbba625
Update PaidContent exception
2021-03-05 16:38:51 +01:00
TobiGr
da3cfa967d
Handle age-restricted videos
2021-03-05 16:38:50 +01:00
TiA4f8R
448b68700c
Use final in exceptions and add AgeRestrictedException
...
AgeRestrictedException will be thrown only if the reason message equals to "Sign in to confirm your age" and if the age limit is 18.
2021-03-05 16:38:49 +01:00
TiA4f8R
59d6d3f04e
Fix YouTube tests
2021-03-05 16:38:42 +01:00
TiA4f8R
771bb1a2cb
Add three new exceptions for unavailable YouTube contents
...
These exceptions are thrown on a test with the error messages text, because YouTube returns only "UNPLAYABLE" status in most error cases.
Tests are based with English strings, so changing the lang used by
extractor will throw the generic exception (ContentNotAvailableException).
2021-03-05 16:38:39 +01:00
Tobi
bc0cda68d1
Merge pull request #570 from TiA4f8R/fix-yt-channels-playlists
...
Fix YouTube channels contination
2021-03-05 15:26:49 +01:00
bopol
ff5273b882
Update extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java
...
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2021-03-05 14:39:01 +01:00
bopol
ed850d0688
[youtube] improve comments extraction performance
...
- do not parse responseBody twice for continuation
instead try to get commentsTokenInside with the new pattern ("sectionListRenderer")
and try again with the old pattern ("commentSectionRenderer") on failure
- do not unescape responseBody multiple times
-> parse responseBody less times
2021-03-05 13:37:08 +01:00
golfinq
05213175cd
minor edit, made variable final
2021-03-05 02:49:15 -05:00
golfinq
8bceb57a6c
formatting fix
2021-03-05 02:46:06 -05:00
golfinq
ae48bdea4c
Updated to reflect variable name change
2021-03-05 02:40:36 -05:00
TiA4f8R
b27efdc9a4
Remove clickTrackingParams in getNextPage method of YoutubeChannelExtractor
...
Because it's unused with the new request.
Co-authored-by: bopol <bopol@e.email>
2021-03-04 22:50:20 +01:00
TobiGr
2b671b15ce
[YouTube] Use new continuation API for channels
...
Co-authored-by: TiA4f8R <74829229+tia4f8r@users.noreply.github.com>
2021-03-04 21:47:16 +01:00
XiangRongLin
03b00ff1d6
Move toJsonArray and toJsonObject to JsonUtils
2021-03-04 18:58:51 +01:00
FireMasterK
668b080b3a
Use dynamic key.
2021-03-04 08:45:14 +01:00
XiangRongLin
43b46bd408
Use new youtube continuations api for playlists
...
Requires sending a POST request instead of GET.
clientName and clientVersion, which were required as headers previously now need to be part of the request payload.
continuation id also needs to be part of request body.
quick and dirty solution.
2021-03-03 19:49:26 +01:00
FireMasterK
e8bccfaf5d
Change UA to privacy.resistFingerprinting.
2021-02-20 17:14:41 +05:30
FireMasterK
5333d8a98b
Add more data.
2021-02-19 00:55:03 +05:30
bopol
1a322ad8ed
Add uploader verified by service extraction
2021-02-18 16:36:40 +01:00
FireMasterK
5b70645d85
Add data to muxed streams aswell.
2021-02-18 20:16:53 +05:30
FireMasterK
f31b2a68fd
use getters/setters.
2021-02-18 20:16:53 +05:30
FireMasterK
a7c9905183
Fix requested changes.
2021-02-18 20:16:52 +05:30
FireMasterK
d1054338d3
Fix error with livestreams.
2021-02-18 20:16:52 +05:30
FireMasterK
11eb4932f4
Add data to respective classes.
2021-02-18 20:16:52 +05:30
FireMasterK
e844d2aed3
Add dash fields to the ItagItem.
2021-02-18 20:16:52 +05:30
bopol
557934cb17
use EMPTY_STRING
2021-02-15 18:51:46 +01:00
bopol
9ca52ca68a
use only one constant UTF-8
2021-02-15 18:47:54 +01:00
bopol
a931e31239
fix tests
2021-02-12 22:36:18 +01:00
TobiGr
d116680ea3
Merge branch 'master' into dev
2021-02-12 22:26:35 +01:00
bopol
b0f356dd76
YT channels: fix continuation
2021-02-12 14:39:09 +01:00
TiA4f8R
1414a6f178
Fix extraction of YouTube chapters ( #531 )
...
YouTube changed the name of the chapters in the JSON from engagement-panel-macro-markers to engagement-panel-macro-markers-description-chapters, so extracting chapters doesn't work.
2021-02-03 22:07:34 +01:00
Stypox
a64dfd7343
[YouTube Music] Fix extracting search item view/subscriber count when = 0
2021-01-29 16:44:24 +01:00
bopol
2662ceca22
rename getHeartedByCreator and getPinned to isPinned and isHeartedByCreator
2021-01-23 13:06:07 +01:00
bopol
66e4eb2f96
extract whether the comment is pinned
2021-01-22 23:59:22 +01:00
Tobias Groza
cc51c5f6a3
Merge pull request #507 from vkay94/add-interval-to-stream-frames
...
Add durationPerFrame to Frameset
2021-01-14 20:27:40 +01:00
vkay94
11dcfe638b
Add durationPerFrame to Frameset and getFrameBoundsAt method
2021-01-14 20:01:06 +01:00
bopol
f3c22da618
comments: add heartedByCreator and extract it for youtube
2021-01-11 18:48:08 +01:00
TiA4f8R
d30caeb091
Fix YouTube player JavaScript URL redirection
2020-12-27 15:55:03 +01:00
TobiGr
b62144b49d
[YouTube] Music: Fix search extraction caused by changed JSON response
2020-12-23 21:08:36 +01:00
TobiGr
bc6de14952
Extract stream and search meta info for YouTube
...
Add method to extract Google webcache URLs.
2020-12-22 18:19:26 +01:00
Tobias Groza
22a415156f
Merge pull request #479 from vkay94/stream-segments
...
Extract stream segments for YouTube
2020-12-19 11:12:22 +01:00
Stypox
85fa006214
Merge pull request #280 from XiangRongLin/mixPL
...
Extractor for youtube mix (auto-generated playlist)
2020-12-14 18:11:07 +01:00
Xiang Rong Lin
a338e4e08e
[Youtube] Apply review suggestions and avoid channel mix edge case
2020-12-12 20:32:43 +01:00
Xiang Rong Lin
22d2f7e400
[Youtube] Add cookies to youtube mix request
...
This way youtube wont return duplicates when getting more items of the mix (but youtube can also track us)
2020-12-12 20:32:40 +01:00
Stypox
421935401f
[Youtube] Add subchannel functions to mix and fix imports
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
3ff8619bcc
[Youtube] apply wb9688 suggestion (mix)
...
Channel mix adjusments and test
Don't accept youtube music mix urls as playlist
Don't override playlistData to keep getInitialPage()
Remove json constants
Indentation
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
822cf307f7
[Youtube] Add _ITEMS constants and improve code style
...
Move thumbnail id exctraction code to getThumbnailUrlFromId
Add test for "My mix" detection to service tests
Use ITEM_COUNT_UNKNOWN everywhere instead of -1 and add some tests
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
df38b1926c
[Youtube] Add tests and take thumbnail image always from first video of mix
...
Also fix getThumbnailUrl for "My Mix"
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
68a3948af6
[Youtube] Fix get banner url
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
ec6b99c082
[Youtube] Adjust mix extractor to new user agent
...
Also extract continuation now
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
0ff054acb4
[Youtube] Extract initial playlist info
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
327a5730a8
[Youtube] Add some comments to mix
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
d74265c846
[Youtube] Extract getThumbnailUrl into method and change getUploaderName
2020-12-12 20:30:57 +01:00
Xiang Rong Lin
0efb854d27
[Youtube] Implement mix extractor for auto-generated playlists.
...
-New YoutubeMixPlaylistExtractor, that extracts from a mix (auto-generated playlist).
-The url has the format of "youtube.com/watch?v=videoID&playlistID",
where playlistID always starts with "RD" and usually followed by the videoID.
-Change YoutubePlaylistLinkHandlerFactory to create a linkhandler with the given url if it is a mix.
-Change YoutubeService to return YoutubeMixPlaylistExtractor if the url is a mix.
2020-12-12 20:30:57 +01:00
vkay94
2ba27b39af
Stream segments: Remove replaceAll from setPreviewUrl
2020-12-12 15:00:45 +01:00
vkay94
d3eea4f4be
Add stream segments to StreamInfo
2020-12-12 10:24:29 +01:00
Isira Seneviratne
4c19a88612
Use Objects.toString().
2020-12-11 06:09:50 +05:30
vkay94
9dbacbc618
Fix comments parsing
2020-12-09 14:57:38 +01:00
XiangRongLin
5bceff0083
[YouTube] Fix extraction of next page url for the last page of playlist
2020-11-18 19:03:12 +01:00
XiangRongLin
8347e14952
[YouTube] Fix playlist continuations extraction
2020-11-17 21:04:53 +01:00
Stypox
89a77ae74a
[YouTube] Fix detection of ended livestreams and parse livestream upload date
2020-11-04 16:03:08 +01:00
Stypox
827f7bd137
[YouTube] Cache deobfuscation and improve requests made
...
Fix age restriction extraction
Automatically fixes more things
2020-11-04 16:02:12 +01:00
Isira Seneviratne
fe31a90cb3
Remove DateTimeFormatter.ISO_OFFSET_DATE_TIME usage.
2020-11-04 05:49:41 +05:30
Stypox
501ec30152
Implement youtube subscription import from Google takeout
2020-11-02 11:04:48 +01:00
Isira Seneviratne
4f04cfccca
Switch from Calendar to OffsetDateTime in DateWrapper.
2020-11-01 06:28:54 +05:30
Stypox
30ed4f2d63
Remove any reference to decrypt and improve error message
2020-10-28 20:26:00 +01:00
TobiGr
62912ee834
Merge branch 'master' into dev
2020-10-28 14:28:06 +01:00
bopol
6dc5ab4015
find playerUrl in another place when assetsPattern regex fails
2020-10-27 13:48:58 +01:00
bopol
db0ef83d6b
fix youtube decryption and three attemps bug
...
fixes teamnewpipe/newpipe#4572 fixes #439
2020-10-27 13:40:24 +01:00
bopol
c1e9857960
fix subscriber count when subscribe is disabled
...
fixes #305
2020-10-26 19:06:01 +01:00
bopol
a39a2cca82
fix redirect channels
2020-10-26 19:05:19 +01:00
bopol
01f49e8f66
polish strings
2020-10-26 16:32:39 +01:00
Stypox
57e7994c9e
Add some missing finals, nullables and comments
2020-10-25 08:12:41 +01:00
Stypox
68d23defba
[YouTube] Do not catch every exception on getErrorMessage
...
@B0pol suggestion
2020-10-24 18:39:55 +02:00
Stypox
3191bd6c70
[YouTube] Use final when possible
2020-10-24 18:39:55 +02:00
Stypox
3b2cfb4ca2
[SoundCloud] Return empty video stream list instead of null
...
Also replace every instance of `return new ArrayList<>();` with `return Collections.emptyList();`
2020-10-24 18:23:46 +02:00
Stypox
072bae321f
[YouTube] Fix frame extraction for livestreams
...
Use saved playerResponse instead of parsing json every time
2020-10-24 18:23:46 +02:00
Stypox
7cd410f3fc
[YouTube] Return 0 when there is no timestamp, not -2, as per javadoc
2020-10-24 18:23:45 +02:00
Stypox
7fb867c166
[YouTube] Fix error message obtaining when there is none
2020-10-24 18:22:44 +02:00
Stypox
19e862657a
[YouTube] Fix some decryption exceptions by retrying
2020-10-15 20:16:44 +02:00
wb9688
ebbfe7f6d4
Skip YouTube's OTF streams
2020-09-29 10:48:02 +02:00
wb9688
7657c2ed1a
Use initSafeStandardsObjects()
2020-08-15 17:08:07 +02:00
TobiGr
0fb73301e3
[YouTube] Fix crash on empty comment
...
Closes #380
2020-08-05 18:25:40 +02:00
TobiGr
5ac80624a4
Fix detection of YouTube's decryption function
...
Closes TeamNewPipe/NewPipe#3951
2020-07-28 01:01:10 +02:00
Tobias Groza
32dff1541f
Merge pull request #370 from wb9688/fix-yt-age-restricted
...
Fix age restricted YouTube videos
2020-07-26 14:17:19 +02:00
TobiGr
ec778200d9
Add comments to the code
2020-07-26 14:15:13 +02:00
wb9688
f345f667e2
Extract YouTube's key
2020-07-26 12:01:59 +02:00
wb9688
4c987a5302
Support YouTube's new continuations for search
2020-07-26 10:01:03 +02:00
wb9688
81459e289f
Fix age restricted YouTube videos
2020-07-18 19:52:54 +02:00
wb9688
ff560e907a
Remove getNextStream() from StreamExtractor
2020-07-15 18:48:37 +02:00
Tobias Groza
a70cb0283f
Merge pull request #314 from wb9688/remove-getnextpageurl
...
Next page stuff
2020-07-07 20:49:38 +02:00
wb9688
0a5a905bc7
Add final at more places
2020-07-07 20:45:47 +02:00
wb9688
17ba8a57fa
Clean up the code
2020-07-06 20:19:31 +02:00
wb9688
9b6fe1dea6
Throw IllegalArgumentException when Page is invalid
2020-07-06 20:19:31 +02:00
wb9688
4cc312086a
Introduce Page class
2020-07-06 20:19:31 +02:00
wb9688
e3bfdba135
Remove getNextPageUrl() function from ListExtractor
2020-07-06 20:11:40 +02:00
wb9688
156a26b64b
Support start= timestamps for YouTube
2020-07-06 14:08:40 +02:00
wb9688
98055a3c3c
Revert "Add more decryption function regexes"
...
This reverts commit 384d6acd5d
.
2020-05-29 18:41:40 +02:00
Tobias Groza
bdb0f2ae6b
Merge pull request #332 from wb9688/learning-playlist
...
Support YouTube's learning playlists
2020-05-29 10:11:08 +02:00
Tobias Groza
cf18cdb2f5
Merge pull request #329 from wb9688/decryption-regexes
...
Add more decryption function regexes
2020-05-29 10:10:50 +02:00
wb9688
ab77961b0a
Extract trailer thumbnail in YT learning playlists
2020-05-29 09:55:24 +02:00
wb9688
4d683e7655
Support YouTube's learning playlists
2020-05-29 09:17:03 +02:00
wb9688
384d6acd5d
Add more decryption function regexes
2020-05-28 11:40:38 +02:00
wb9688
7ef3e80493
Extract dashManifestUrl in playerResponse
2020-05-15 12:07:26 +02:00
wb9688
baf5dd3e8f
Merge pull request #311 from B0pol/fixSearchSuggestion
...
Search: add isCorrectedSearch() and fix YoutubeSearchExtractor#getSea…
2020-05-12 09:29:15 +02:00
Tobias Groza
b40ccb5075
Merge pull request #307 from B0pol/playlists_peertube
...
[PeerTube] playlist support
2020-05-11 20:53:03 +02:00
bopol
de26e00079
changed all == null || isEmpty() to isNullOrEmpty()
2020-05-11 11:40:24 +02:00
bopol
202a73516c
refactor: add Utils.isNullOrEmpty()
2020-05-11 11:26:18 +02:00
wb9688
1de0876fb4
Fix #327
2020-05-09 20:06:50 +02:00
bopol
1a6e92ebf6
add getSubChannel Name, Url and AvatarUrl for playlists
2020-05-09 09:52:24 +02:00
wb9688
7320108c66
Rename SubChannel in channels back to ParentChannel
2020-05-08 16:02:59 +02:00
Roy Yosef
a408661771
Fix PR review
...
Rename "ParentChannel" to "SubChannel"
Add Tests for sub-channel info fetching
2020-05-07 20:20:12 +02:00
Roy Yosef
1de1f97cf1
Add parent channel info to StreamExtractor: name, url & avatar url
2020-05-07 20:20:12 +02:00
Roy Yosef
4234740baa
Add parent channel info to ChannelExtractor: name, url & avatar url
2020-05-07 20:20:12 +02:00
bopol
5760366d70
use JsonObject#isEmpty instead of JsonObject#equals(JsonUtils.EMPTY_OBJECT)
2020-05-07 15:40:41 +02:00
bopol
3757541a9c
adapt new nanojson version
2020-05-07 15:40:41 +02:00
bopol
e8d58e09c9
getSearchSuggestion now returns the corrected query if isCorrectedSearch() is true
2020-05-07 15:40:41 +02:00
bopol
5d1c3b3fa2
Use setters in SearchInfo
2020-05-07 15:39:57 +02:00
bopol
29b639b454
Search: add isCorrectedSearch() and fix YoutubeSearchExtractor#getSearchSuggestion()
...
isCorrectedSearch: see the javadoc
getSearchSuggestion: in YoutubeSearchExtractor, it was giving the corrected search query. It now gives the suggested query, as it should
2020-05-07 15:39:57 +02:00
bopol
bc13e0c616
Merge remote-tracking branch 'upstream/dev' into soundcloudComments
2020-05-05 14:49:21 +02:00
wb9688
a1eabc7589
Return null instead of "" in getTextFromObject()
2020-05-02 08:02:25 +02:00
bopol
2564bcf399
refactor comments
...
rename methods in CommentsInfoItemExtractor interface to match the other method names across NewPipeExtractor
remove getName in (Youtube|SoundCloud|Peertube)CommentsExtractor and move it up in CommentsExtractor, return "Comments" instead
2020-04-21 20:05:54 +02:00
wb9688
b51699a20e
Implement @TobiGr's suggestions
2020-04-20 14:27:33 +02:00
wb9688
979c5a7502
Use our fork of nanojson
2020-04-17 19:36:42 +02:00
bopol
636c430743
refactor: create extractors and linkHandler packages for SoundCloud, move YoutubeParsingHelper to youtube package (not linkhandler anymore)
2020-04-10 10:51:05 +02:00
bopol
9a7c6b7ab0
use ContentNotSupportedException for channels without tabs
2020-04-07 14:33:43 +02:00
wb9688
bce27a0e22
Rename getValidResponseBody() to getValidJsonResponseBody()
2020-04-03 17:23:18 +02:00
wb9688
8a9e137385
Extract some code to getValidResponseBody()
2020-04-01 16:01:21 +02:00
wb9688
c7f7bd2442
Fix error when YT Music videos has no uploader URL
2020-04-01 10:30:51 +02:00
wb9688
ac15df4548
Move YouTube Music search to its own class
2020-04-01 10:30:51 +02:00
wb9688
cf0f2aff3e
Extract uploader url from certain YouTube Music videos
2020-04-01 10:30:51 +02:00
wb9688
aa8cea47f3
Refactor YouTube Music search tests
2020-04-01 10:30:51 +02:00
wb9688
dd434cca01
Fix issue when there is no didYouMeanRenderer in itemSectionRenderer
2020-04-01 10:30:51 +02:00
wb9688
5a775a4bbe
Use new way of specifying stream count
2020-04-01 10:30:51 +02:00
wb9688
d58c0f230d
Improve code for YouTube Music search
2020-04-01 10:30:51 +02:00
wb9688
dc29d87962
Extract YouTube search suggestions
2020-04-01 10:30:51 +02:00
wb9688
c852b13d5a
Add Referer header so that it also works with HttpsUrlConnection
2020-04-01 10:30:51 +02:00
wb9688
2b9b2a78e8
Handle 100+ items in playlist
2020-04-01 10:30:51 +02:00
wb9688
1762a527c9
Add support for YouTube Music search
2020-04-01 10:30:51 +02:00
Tobias Groza
e4874d554e
Merge pull request #296 from mauriciocolli/fix-search-errors-detection
...
Fix search errors detection and refactor search tests
2020-03-24 21:53:32 +01:00
Tobias Groza
8a9ae32e6b
Merge pull request #292 from wb9688/fix-yt-no-views
...
Fix YouTube videos with no views
2020-03-24 20:27:08 +01:00
Mauricio Colli
c921e5d6a5
Remove unnecessary collector creation function from search extractor
2020-03-23 18:08:51 -03:00
Tobias Groza
6fd9b38ad9
Merge pull request #287 from mauriciocolli/fix-channel-redirect
...
[YouTube] Fix channel with redirects directly in the response
2020-03-23 18:41:56 +01:00
Mauricio Colli
921bf30bb7
[YouTube] Add check for channel items with no video count in search
2020-03-21 15:55:39 -03:00
Mauricio Colli
b7f8001a49
[YouTube] Add check for channel items without description in search
2020-03-21 15:55:38 -03:00
Mauricio Colli
9b7999fe54
[YouTube] Check if channel item has subscription count in search
2020-03-21 15:55:37 -03:00
wb9688
904c9d681f
Fix YouTube videos with no views
2020-03-18 10:07:49 +01:00
Tobias Groza
9edd0f2675
Merge pull request #288 from Stypox/fix-unlisted-video
...
[YouTube] Fix videos without next stream throwing error and add test for unlisted videos
2020-03-14 21:36:13 +01:00
Stypox
325a51f73a
[YouTube] Do not crash if there is no next stream, but return null
...
Like every other extractor does if there is no next stream
2020-03-14 14:02:48 +01:00
Mauricio Colli
b086e9db3f
[YouTube] Fix id extraction for some channels
...
Some channels had no reliable way to get the redirected id in the response,
so saving it for later was a valid alternative.
2020-03-14 02:39:49 -03:00
Mauricio Colli
00d1ed439b
[YouTube] Fix channel extraction when redirects are in the response
...
Some redirects were embed directly into the response as instructions
for the page, instead of the usual http redirects.
2020-03-14 02:39:48 -03:00
Mauricio Colli
70abd57852
[YouTube] Cache commonly used stream type result
2020-03-07 16:48:32 -03:00
Mauricio Colli
1ef706f567
[YouTube] Detect LIVE videos in the trending page
2020-03-07 16:48:31 -03:00
Mauricio Colli
cfc278317d
[YouTube] Fail-fast if status exist and is anything other than "OK"
2020-03-01 10:29:29 -03:00
TobiGr
35252235b0
Go through all badges when checking if a StreamInfoItem is a live stream
2020-03-01 12:52:37 +01:00
Mauricio Colli
5686a6f562
[YouTube] Detect when a stream is deleted or doesn't exist
...
Added a test case as well.
2020-03-01 12:49:13 +01:00
Mauricio Colli
e65333c3ce
[YouTube] Detect deleted/nonexistent/invalid channels and playlists
...
- Added tests for these cases.
2020-03-01 12:49:13 +01:00
Mauricio Colli
408f042127
[YouTube] Fix bug when url isn't present in the browseEndpoint object
2020-03-01 12:49:13 +01:00
Mauricio Colli
e9644e6216
[YouTube] Handle video premiere's date and duration
2020-03-01 12:49:13 +01:00
Mauricio Colli
2a470ac4f7
[YouTube] Handle videos with no views or with "Recommended to you" text
2020-03-01 12:49:13 +01:00
Mauricio Colli
da2c562eb0
[YouTube] Take into account videos that have their views hidden
...
Also remove catch because it may hide bugs when the page changes.
2020-03-01 12:49:13 +01:00
wb9688
2807079531
Catch NumberFormatException instead of checking whether viewCount equals "Recommended for you"
2020-02-29 21:28:38 +01:00
wb9688
bfe3eb1409
Use suggested try-if code style
2020-02-29 17:18:50 +01:00
wb9688
45df8248bf
Use Localization in getJsonResponse()
2020-02-29 16:55:07 +01:00
wb9688
157055fbfd
Create getJsonResponse() function
2020-02-29 16:42:04 +01:00
wb9688
4f406512c2
Use YoutubeChannelLinkHandlerFactory
2020-02-29 16:26:28 +01:00
wb9688
4ff655352d
Reimplement getAgeLimit()
2020-02-28 17:14:26 +01:00
wb9688
6ba03e542b
Cache getVideoTab()
2020-02-28 17:05:31 +01:00
wb9688
8bfbae904d
Cache getVideo(Primary|Secondary)InfoRenderer()
2020-02-28 17:03:21 +01:00
wb9688
0b940f5cf4
Use "getAgeLimit() != NO_AGE_LIMIT" instead of "getAgeLimit() == 18"
2020-02-28 16:40:50 +01:00
wb9688
7898ba230d
Use pbj in YoutubeStreamExtractor
2020-02-28 15:17:47 +01:00
wb9688
612ec06839
Actually fix thumbnail URLs starting with //
2020-02-28 09:36:33 +01:00
wb9688
f946310af5
Fix search queries with a promotedSparklesTextSearchRenderer returning 0 results
2020-02-28 08:57:44 +01:00
wb9688
94a2d5be46
Fix thumbnail URLs starting with //
2020-02-27 19:08:46 +01:00
wb9688
838d834ce2
Get Uploads view of Videos tab
2020-02-27 18:54:27 +01:00
wb9688
365b0329f3
Implement getTextFromObject() function
2020-02-27 17:39:23 +01:00
wb9688
0798bdd5cd
Fix getSubscriberCount() for 0 subscribers
2020-02-27 16:26:22 +01:00
wb9688
8ebd971648
Fix channel descriptions consisting of multiple parts
2020-02-27 10:06:35 +01:00
wb9688
880b951088
Fix getUploaderAvatarUrl() in YoutubeStreamExtractor
2020-02-27 09:53:59 +01:00
wb9688
8aa560bef4
Fix video titles consisting of multiple parts due to @
2020-02-27 09:42:22 +01:00
wb9688
951ed9f0d8
Don't call getUploaderInfo() in onFetchPage() for playlists
...
This way YouTube Music playlists will keep working in NewPipe
2020-02-27 09:27:56 +01:00
wb9688
2399d46ab0
Fix YoutubeChannelExtractor for channels without videos
2020-02-27 09:21:25 +01:00
wb9688
cdbc751b87
Fix getUploaderUrl() in YoutubeStreamInfoItemExtractor
2020-02-27 09:05:41 +01:00
wb9688
db305408e9
Get all expandedShelfContentsRenderers in YoutubeTrendingExtractor
2020-02-26 20:37:20 +01:00
wb9688
a2d8489e16
Parse timestamps in description
2020-02-26 20:27:30 +01:00
wb9688
8d503407ef
Parse browseEndpoint and watchEndpoint in descriptions
2020-02-26 19:37:58 +01:00
wb9688
88282761f4
Fix YoutubeStreamExtractor not being able to getAgeLimit() in onFetchPage()
2020-02-26 16:19:42 +01:00