Commit graph

1060 commits

Author SHA1 Message Date
ThetaDev
cba0eb35e2 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-21 23:32:33 +02:00
ThetaDev
a7a0811dec fix: small codestyle fixes 2023-04-21 23:15:37 +02:00
ThetaDev
e2bb4082bb Merge branch 'dev' into alang-selector 2023-04-17 23:01:07 +02:00
TobiGr
7a85c08b68 Apply new itag filter only to YouTube streams 2023-04-17 13:10:29 +02:00
TobiGr
672093ad7a Use a whitelist to filter all streams retrieved by the extractor.
NewPipe Extractor now extracts all YouTube Itags and therefore only those which can be handled by the player need to be retrieved from the list of all available streams.
2023-04-17 13:00:11 +02:00
Stypox
727de29bd6 Merge pull request #10021 from Isira-Seneviratne/PendingIntentCompat
Switch to AndroidX's PendingIntentCompat.
2023-04-14 14:20:47 +02:00
Isira Seneviratne
c91ffa4863 Use AndroidX's PendingIntentCompat class. 2023-04-13 10:53:46 +05:30
AudricV
445b0380b4 [Android 6+] Add ability to always use ExoPlayer's MediaVideoCodecRenderer setOutputSurface workaround
As some devices not present in ExoPlayer's list may not implement
MediaCodec.setOutputSurface(Surface) properly, this workaround could be useful
on these devices.

It forces ExoPlayer to fall back on releasing and re-instantiating video codec
instances, which is always used on Android 5 and lower due to addition of this
method in Android 6.

To do so, a CustomMediaCodecVideoRenderer, based on ExoPlayer's
MediaVideoCodecRenderer which always return true for the
codecNeedsSetOutputSurfaceWorkaround method has been added, which is used in
CustomRenderersFactory, a class based on DefaultRenderersFactory which always
returns our CustomMediaCodecVideoRenderer as the video renderers.

CustomRenderersFactory replaces DefaultRenderersFactory in the player, in the
case this setting is enabled.
2023-04-10 17:39:27 +02:00
AudricV
bc7758d29f Move media tunneling setting to ExoPlayer settings and make this setting available on release builds
Media tunneling may be not supported by more devices than the ones we
whitelisted before.

As a matter of fact, the list of devices on which media tunneling is disabled
could be not maintainable in the future, especially if the list of devices
grows more and more.

A preferable solution is to allow users to configure this setting themselves,
allowing them to not wait for their device(s) to be whitelisted in a future
NewPipe update.

This solution has been applied in this commit and works on every build type.

The corresponding preference in the debug settings has been of course removed
and the code used to prevent media tunneling activation on specific devices has
been removed.
2023-04-10 17:37:30 +02:00
AudricV
04ddd39233 Add ability to use ExoPlayer's decoder fallback option
This option could help to avoid decoder initialization issues, which falls back
to lower-priority decoders if decoder initialization fails. This may result in
poor playback performance than when using primary decoders.

It is disabled by default, but can be enabled in ExoPlayer settings.
2023-04-10 17:37:30 +02:00
ThetaDev
bd9c130fef Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-05 14:06:14 +02:00
ge78fug
f8bd9ac05f Changed the naming 2023-04-04 09:57:06 +02:00
Marius Wagner
24036fa27e Made the requested changes 2023-04-04 09:57:06 +02:00
ge78fug
1908a477d3 Made two list options 2023-04-04 09:57:06 +02:00
ge78fug
f62884f0a1 Fixed a bug 2023-04-04 09:57:06 +02:00
ge78fug
a9a151f58b Updated the gesture-switch-toggle 2023-04-04 09:57:06 +02:00
ge78fug
1154e6acc9 Changed to val 2023-04-04 09:57:06 +02:00
Marius Wagner
9afaf13dcf Update app/src/main/java/org/schabi/newpipe/player/gesture/MainPlayerGestureListener.kt
Co-authored-by: Stypox <stypox@pm.me>
2023-04-04 09:57:06 +02:00
ge78fug
c9b3dfda7e Created a setting to switch the sides of volume and brightness 2023-04-04 09:57:06 +02:00
ThetaDev
d982079070 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-03 22:13:16 +02:00
Stypox
ab22704796 Merge pull request #9812 from TeamNewPipe/revert-8894-WindowCompat
Revert "Use WindowCompat."
2023-04-03 14:23:17 +02:00
ThetaDev
8749eb9f15 fix: sonarcloud lint 2023-03-19 22:55:37 +01:00
ThetaDev
2bdbdd243c feat: add external audio playback language selector 2023-03-19 21:05:48 +01:00
ThetaDev
58cb6a99f9 feat: add prefer original option, improve audio stream ordering 2023-03-19 20:40:27 +01:00
ThetaDev
69b6ad8505 feat: localized audio track names 2023-03-19 15:45:52 +01:00
ThetaDev
079f78a339 feat: add language selector to audio player 2023-03-19 01:15:36 +01:00
ThetaDev
051b64cd17 fix: reduce complexity 2023-03-18 16:29:22 +01:00
ThetaDev
bc2e82eadc fix: remove todo 2023-03-18 16:14:07 +01:00
ThetaDev
4f15c6f49d feat: add audio language selector 2023-03-17 21:51:40 +01:00
Stypox
e71374c024 Merge pull request #9847 from Redirion/exo183
Update to ExoPlayer 2.18.3
2023-02-26 19:16:25 +01:00
Stypox
d54f9d7e30 Listen to ignore hardware buttons pref changes 2023-02-26 14:28:57 +01:00
Nyan Cat
686a079531 Implement Ignore hardware media button events option 2023-02-26 14:02:50 +01:00
Stypox
529c09e32c Merge pull request #8180 from Trust04zh/fix-4053-8176
Make UI behavior for playback information display more consistent
2023-02-26 13:22:13 +01:00
Stypox
de067fe798 Correctly open urls in browser on Android 11+
- Fix misconfiguration in manifest ('http|https|market' is not valid)
- Split ShareUtils functions taking a boolean parameter into pairs of functions with better names and less runtime checks
- Move all Kore-related functions to KoreUtils
- Remove the toast_no_player string
2023-02-25 09:13:59 +01:00
Robin
0f460841d8 Update to ExoPlayer 2.18.3 2023-02-23 12:46:05 +01:00
Stypox
d0ca51e954 Revert "Use WindowCompat." 2023-02-14 08:27:04 +01:00
Stypox
a17c32fada Merge branch 'master' into dev 2023-02-08 22:48:14 +01:00
Trust_04zh
62a906bb73 Make positions in list depend on watch history, remove confusing animations
The following is the list of all commits squashed together:

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix #8176 by eliminating exit delay

Regain function for option `Positions in lists`

update code with developer's comments

 apply static import to methods in util class DependentPreferenceHelper

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix behavior for displaying progress bar when autoplay off but video resume on

not to retrieve unnecessary states when position in lists disabled

fix mistake in code

simplify conditional logic

update doc comment and remove unused method

Fix not showing duration if position indicators disabled

Positions in lists only depends on watch history
2023-02-07 09:48:18 +01:00
Tobi
324cfcc0a3 Revert "Update ExoPlayer to 2.18.2"
This commit reverts ae0f0b9
2023-02-03 18:33:35 +01:00
Stypox
d8319716fc Merge pull request #9706 from Jared234/9131_bug_background_player
Fixed a bug that caused the background player to stop working
2023-01-28 21:56:00 +01:00
Jared Fantaye
e119fa40de Replaced the equals method 2023-01-21 14:56:55 +01:00
Jared Fantaye
6a6d4736d9 Fixed the bug 2023-01-17 22:31:22 +01:00
Robin
ece0975478 Orientation is locked if there is no sensor for it 2023-01-16 13:56:45 +01:00
Stypox
a1a98b9723 Merge pull request #9671 from Stypox/fix-toast-crash-api33
Fix popup enablement toast crash on API 33
2023-01-15 21:05:05 +01:00
Stypox
29fcae2325 Merge pull request #8894 from Isira-Seneviratne/WindowCompat
Use WindowCompat.
2023-01-15 15:14:05 +01:00
Isira Seneviratne
f7e0df8fb5 Replace the system UI visibility flags with WindowCompat calls. 2023-01-15 05:44:45 +05:30
Stypox
55726df2c4 Merge pull request #8886 from Isira-Seneviratne/Remove_Runnable_variables
Remove Runnable variables for Handlers.
2023-01-12 15:34:12 +01:00
Isira Seneviratne
f8e6962849 Remove Runnable variables for Handlers. 2023-01-12 15:30:19 +01:00
Stypox
2def965f65 Fix toast crash on API 33
You shouldn't call getView() on toasts.
Also simplified some duplicate code.
2023-01-12 11:39:25 +01:00
Stypox
b6b09b68af Actually there is no need to use flatMap
`null` values returned in the lambda are converted to empty `Optional`s in the `map` method: https://developer.android.com/reference/java/util/Optional#map(java.util.function.Function%3C?%20super%20T,%20?%20extends%20U%3E)
2023-01-11 15:26:46 +01:00