Commit graph

8727 commits

Author SHA1 Message Date
AudricV
c3e9768b94 Improve dialog of streams for external players and fix use of the wrong codec in the list of available streams in it after a codec change in Video and Audio settings
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
2022-06-17 22:00:50 +02:00
AudricV
f7d2975ad1 Add support of other delivery methods than progressive HTTP (in the player only)
Detailed changes:

- External players:

  - Add a message instruction about stream selection;
  - Add a message when there is no stream available for external players;
  - Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.

- Player:

  - Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
  - Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
  - Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
  - Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).

- Download dialog:

  - Add message about support of progressive HTTP streams only for downloading;
  - Remove several duplicated code and update relevant usages;
  - Support downloading of contents with an unknown media format.

- ListHelper:

  - Catch NumberFormatException when trying to compare two video streams between them.

- Tests:

  - Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.

- Other places:

  - Fixes deprecation of changes made in the extractor;
  - Improve some code related to the files changed.

- Issues fixed and/or improved with the changes:

  - Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
  - Crash when loading PeerTube streams with a separated audio;
  - Lack of some streams on some YouTube videos (OTF streams);
  - Loading times of YouTube streams, after a quality change or a playback start;
  - View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
  - Watchable time of YouTube ended livestreams;
  - Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
2022-06-17 22:00:22 +02:00
Stypox
4fb953c068 Merge pull request #8340 from litetex/fix-add-to-playlist
Fix "Add to playlist" not working and cleanup "RouterActivity" choice handling
2022-06-05 11:47:51 +02:00
litetex
08c75f5c5e Made statusbar color transparent for RouterActivity (Android 5+)
Fix for https://github.com/TeamNewPipe/NewPipe/pull/8332
2022-06-04 15:22:36 +02:00
Stypox
cb6f1340b6 Merge pull request #8404 from Isira-Seneviratne/Use_AppCompatResources
Use AppCompatResources.
2022-05-30 15:42:04 +02:00
litetex
481152acdd Bonus fix: Made `single_choice_dialog_view` scrollable + use viewbinding 2022-05-28 00:46:28 +02:00
litetex
5c1d5341ff Code cleanup 2022-05-28 00:46:27 +02:00
litetex
d624bce55e Improved docs, format and code style 2022-05-28 00:46:27 +02:00
litetex
201acb9347 Reworked incorrect choice handling and centralized it 2022-05-28 00:39:13 +02:00
litetex
6d53fe1339 Fix add to playlist 2022-05-28 00:39:13 +02:00
Stypox
044aae5c02 Merge pull request #8382 from Isira-Seneviratne/Remove_compat_methods
Remove unnecessary compat method calls.
2022-05-22 21:59:04 +02:00
Stypox
4a6654fbb8 Merge pull request #8391 from Isira-Seneviratne/Use_JvmOverloads
Use JvmOverloads.
2022-05-22 21:56:17 +02:00
Stypox
6217af6acb Merge pull request #8143 from TiA4f8R/image-preview-sharesheet
Add image preview of the content shared where possible in Android share sheet (for Android 10+ devices only)
2022-05-22 21:45:53 +02:00
Stypox
9ee456b908 Improvements to sharing content with thumbnail 2022-05-22 21:34:10 +02:00
litetex
2266b00ca8 Merge pull request #8406 from TacoTheDank/bumpPlugins
Update AGP and Kotlin
2022-05-18 19:56:32 +02:00
TacoTheDank
4ee77d9249 Update Groupie and ACRA libraries 2022-05-16 11:45:56 -04:00
TacoTheDank
3b5ed53326 Fix AndroidX library order 2022-05-16 10:54:44 -04:00
Isira Seneviratne
761f066ff6 Merge branch 'dev' into Use_JvmOverloads 2022-05-16 12:43:24 +05:30
Isira Seneviratne
11bc5177b8 Merge branch 'dev' into Remove_compat_methods 2022-05-16 12:36:46 +05:30
Isira Seneviratne
c06115fc85 Merge branch 'dev' into Use_AppCompatResources
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java
2022-05-16 12:36:00 +05:30
Isira Seneviratne
d02b988138 Use AppCompatResources. 2022-05-16 12:27:44 +05:30
TiA4f8R
f1307b32a3 [Android 10+] Add image preview of the content shared where possible
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
2022-05-14 16:53:24 +02:00
Isira Seneviratne
50922d2f29 Use JvmOverloads. 2022-05-13 07:46:02 +05:30
Stypox
28a6d30488 Merge pull request #7458 from litetex/rework-subscription-import-export-ui
Moved subscription import/export options to (overflow) menu
2022-05-12 13:03:12 +02:00
petlyh
ac5cf455d2 Add a "Add to playlist" item to the remote playlist menu 2022-05-10 08:48:21 +02:00
Isira Seneviratne
37fdd548c9 Remove unnecessary compat method calls. 2022-05-10 07:45:01 +05:30
iTrooz_
d80d522838 Make volume progress bar match system volume when we start sliding 2022-05-09 21:40:13 +02:00
litetex
300349ade2 Use better way to get services 2022-05-09 20:58:10 +02:00
litetex
388fa300ed Remove not required use of supplier
from code review
2022-05-07 15:08:38 +02:00
litetex
ed6af3d94e Removed placeholder prefix 2022-05-07 15:08:37 +02:00
litetex
4a5e5e1b87 Use material icon 2022-05-07 15:08:37 +02:00
litetex
89d4d1d777 Icons for import/export 2022-05-07 15:08:36 +02:00
litetex
8f0e71e6fb Used service icons for import 2022-05-07 15:08:36 +02:00
litetex
0dee6f9fd5 Converted placeholders to svg
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
  * Bandcamp: Was facing in the wrong direction and used an incorrect logo
  * Media CCC: Update logo
  * YT: Added NewPipe logo so that it's not just a rectangle
2022-05-07 15:08:35 +02:00
litetex
ef7297067c Fix popup-menu expand icon color 2022-05-07 15:08:35 +02:00
litetex
b1196a0c2f Remove unused `dimens` 2022-05-07 15:08:35 +02:00
litetex
e8763e7017 Moved import/export options to menu 2022-05-07 15:08:34 +02:00
Stypox
c623084d1c Merge pull request #8192 from GGAutomaton/fix-6696
Fix crash when rotating device on unsupported channels
2022-05-06 10:58:59 +02:00
Stypox
4a50e9f2a5 Do not call showContentNotSupportedIfNeeded multiple times 2022-05-06 10:40:08 +02:00
Stypox
c8c2dd8ea4 channelContentNotSupported false by default 2022-05-06 10:38:47 +02:00
Stypox
b1fd7292a9 Merge pull request #8259 from LingYinTianMeng/dev
Fix removing only fully watched videos from playlist
2022-05-05 18:08:41 +02:00
Stypox
70bf99810b Readd spaces 2022-05-05 18:04:33 +02:00
Robin
c9a2afd1c5 Merge pull request #8332 from litetex/fix-routeractivity-theming
Fix Routeractivity theming
2022-05-05 14:08:01 +02:00
litetex
47bf94bc15 Merge pull request #8336 from Mamadou78130/fix8330
Fixed viewed counting
2022-05-04 19:33:36 +02:00
litetex
ed2156e3aa Add comment that explains why 0 is used
Co-authored-by: Stypox <stypox@pm.me>
2022-05-04 19:19:45 +02:00
litetex
bb55c420fe Use non-static method 2022-05-04 19:09:41 +02:00
GGAutomaton
9d0fdd1682 Show "content not supported" if needed 2022-05-04 23:34:07 +08:00
Robin
3d65d3e2ab Merge pull request #8315 from ktprograms/fix-media-button-hide-controls
Fix hiding player controls when playing from media button
2022-05-04 11:28:05 +02:00
litetex
2dd5800d73 Fixed accidental reset of `PlaybackParameterDialog` on initialization 2022-05-03 21:42:09 +02:00
LingYinTianMeng
68a2350290 Update LocalPlaylistFragment.java 2022-05-03 09:37:35 +08:00