Stypox
9e629e37ee
Add MediaBrowserPlaybackPreparer
...
This class will receive the media URLs generated by [MediaBrowserImpl] and will start playback of the corresponding streams or playlists.
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
Co-authored-by: Profpatsch <mail@profpatsch.de>
2025-02-16 21:43:35 +01:00
Stypox
4030befcea
Add StreamHistoryEntry.toStreamInfoItem()
...
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:40:55 +01:00
Stypox
f31414f26c
Add getThumbnailUrl() to PlaylistLocalItem interface
...
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:40:48 +01:00
Stypox
6972384ec9
Allow creating PlayQueue from ListInfo and index
2025-02-16 21:40:47 +01:00
Stypox
2bd2aaac9d
Add getPlaylist(id) to RemotePlaylistManager
...
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:40:36 +01:00
Stypox
76a0c7f9d8
Add MediaBrowserCommon with info item's and pages' IDs
...
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:40:29 +01:00
Stypox
e09add8704
Instantiate media session and connector in PlayerService
...
This changes significantly how the MediaSessionCompat and MediaSessionConnector objects are used:
- now they are tied to the service and not to the player, and so they might be reused with multiple players (which should be allowed)
- now they can exist even if there is no player (which is fundamental to be able to answer media browser queries)
2025-02-16 21:40:13 +01:00
Stypox
ce16c542a2
Have PlayerService implement MediaBrowserServiceCompat
...
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:36:59 +01:00
Stypox
3210e00b57
Disable logs about view animations by default
2025-02-16 10:31:42 +01:00
Stypox
f0dcb0f8f8
Drop some assumptions on how PlayerService is started and reused
...
Read the comments in the lines changed to understand more
2025-02-15 17:48:19 +01:00
Thiago F. G. Albuquerque
6c778e453e
[ #11930 ] Share as YouTube temporary playlist
...
Initial commit.
2025-02-14 21:14:42 -03:00
Stypox
c1a804f60f
Use WebSettingsCompat.setSafeBrowsingEnabled
2025-02-04 21:50:10 +01:00
Stypox
b2ef2899b0
Reorder functions in PoTokenWebView
2025-02-04 21:38:01 +01:00
Stypox
10943c587c
Make JavaScript code compatible with older WebViews
2025-02-04 21:38:01 +01:00
Stypox
55b893b9a4
Detect when WebView is broken and return null poToken
...
Some old Android devices have a broken WebView implementation, that can't execute the poToken code. This is now detected and the getWebClientPoToken return null instead of throwing an error in such a case, to allow the extractor to try to extract the video data even without a poToken.
2025-02-04 11:22:50 +01:00
Stypox
45ba43fd6e
Use Runnable instead of () -> Unit if converted to Runnable anyway
2025-02-04 10:23:45 +01:00
Stypox
1e99f6bcf6
Use "this" instead of "globalThis" as global scope
...
globalThis was introduced only on newer versions of JS
2025-02-04 10:22:10 +01:00
AudricV
6ee778d6b0
[YouTube] Change BotGuard endpoint to youtube.com's one
...
This prevents non-abilities to fetch BotGuard challenge and send its
result with the jnn-pa.googleapis.com domain (domain block like done
on Pi-hole lists or DNS servers).
That's what the official website uses to send the challenge execution
result, however it uses InnerTube to fetch the challenge. Embeds
still use the jnn-pa.googleapis.com domain.
Also rename the makeJnnPaGoogleapisRequest method appropriately.
2025-02-03 13:05:39 +01:00
AudricV
1355bf4d6a
[YouTube] Clarify BotGuard API key's origin and disable related Sonar warning
2025-02-01 15:40:16 +01:00
AudricV
7fc3269fe7
[YouTube] Get visitorData from the service to get valid responses
2025-02-01 15:39:07 +01:00
AudricV
828c9ce100
Adapt YoutubeHttpDataSource to extractor changes and improve requests
...
Always use POST requests and the same body that official HTML5 clients
use for a while.
2025-01-31 22:50:10 +01:00
Stypox
7be0d2d75c
Make sure downloadAndRunBotguard() is called after <script> loaded
2025-01-31 21:47:46 +01:00
Stypox
93e0a2984c
Wrap logs in BuildConfig.DEBUG
2025-01-31 21:47:46 +01:00
Stypox
1c486b4168
Recreate poToken generator if current is broken
...
This will be tried only once, and afterwards an error will be thrown
2025-01-31 21:47:45 +01:00
Stypox
cece308d3f
Unify running on main thread
2025-01-31 21:47:45 +01:00
Stypox
b78cde7911
Fix checkstyle
2025-01-31 21:47:45 +01:00
Stypox
937a1a9f13
Connect poToken generation to extractor
2025-01-31 21:47:45 +01:00
Stypox
7332d32de3
Interfaces for poTokens + WebView implementation
2025-01-31 21:47:44 +01:00
Bertrand Jaunet
1949c1ad9b
DownloaderImpl: Auto-close resources and simplify header setting
...
The headers should be overwritten in the same way, based on how
`.header` is the same as `.removeHeader().addHeader()`.
We weren’t closing the request resources after using them, potentially
leaking file handles. This will add autoclosing for both the request
and the body objects.
2025-01-31 12:36:27 +01:00
Stypox
b659bd1deb
Merge pull request #11959 from Stypox/fix-loading-stream-twice
...
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-27 14:56:51 +01:00
Stypox
85c0f8c270
Fix naming in VideoDetailFragment: video->stream, videoUrl->url
2025-01-27 14:52:35 +01:00
Profpatsch
f2fbcc7d3d
Merge pull request #11870 from TeamNewPipe/sidebar_donations
...
Add link to donation page on app drawer
2025-01-27 13:59:29 +01:00
Christian Schabesberger
9c7128850e
Sidebar: Add donation link to app drawer
...
This creates a donation link that leads to our donation page on the
NewPipe website.
2025-01-27 13:43:34 +01:00
Stypox
0b7d9783db
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-26 12:39:07 +01:00
Stypox
e994ec1fd0
Merge pull request #11806 from Thompson3142/fix_subtitle_size
...
Fix caption sizes not being changed
2025-01-25 18:10:56 +01:00
Profpatsch
fa2196415a
Merge pull request #11887 from Nikunj-Aggarwal/bg-iso-timestamp
...
Convert error report timestamps to ISO format
2025-01-23 19:51:18 +01:00
Thompson3142
919c590e77
MainPlayer/PopupPlayer: Use system settings for subtitle size
...
This will use the exact subtitle sizes the user requested, both for
the main and the popup player. They will always be the same fraction
of the video, even if the popup player is resized.
2025-01-21 17:23:08 +01:00
Profpatsch
25c0c0405e
ErrorActivity: add Timestamp and Package/Service to markdown export
...
These were displayed in the UI, but not added into the markdown export
string.
2025-01-21 16:25:54 +01:00
Nikunj-Aggarwal
e33b6da6a5
ErrorActivity: Use a proper zoned ISO timestamp
...
Will have a timezone offset and be parsable as valid ISO8601
timestamp.
Also change the label in the UI to just say “Timestamp”
2025-01-21 16:24:07 +01:00
LeMeuble
0e8b90d776
Fix issue of checksum for removed file
2025-01-16 10:46:25 +01:00
Stypox
ea2143ca23
Merge pull request #11738 from cillyvms/a13-player-notifs
...
Always allow changing player notification preferences on Android 13+
2024-11-27 19:12:19 +01:00
Stypox
ada3f5b073
Merge pull request #11734 from Thompson3142/fix_timestamp_popup_time
...
Fix player resuming from start when clicking on a timestamp
2024-11-27 18:38:49 +01:00
Stypox
7e4cf82b9d
Add comments to explain why openAndTruncateStream()
2024-11-27 16:34:50 +01:00
Thompson3142
fa0a009f1a
Removed call to setRecovery() entirely
2024-11-24 22:12:25 +01:00
Stypox
c80c378398
Fix downloading/exporting when overwriting file would not truncate
2024-11-24 18:36:54 +01:00
Stypox
8af786f26d
Merge branch 'master' into dev
2024-11-24 17:43:45 +01:00
AudricV
0cd8b9a919
Add support for secondary audio track type
2024-11-24 16:43:22 +01:00
Stypox
5866c578b3
Only throttle YouTube feed loading
2024-11-24 16:22:19 +01:00
Stypox
25a047045c
Throttle loading subscriptions feed to avoid YouTube rate limits
2024-11-24 14:06:53 +01:00
cillyvms
79253948a0
Allow changing player notification preferences regardless of system settings on Android 13 and above.
2024-11-22 14:21:46 +01:00