Commit graph

627 commits

Author SHA1 Message Date
AudricV
210834fbe9
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
litetex
b3f9f8275d
Merge pull request #8406 from TacoTheDank/bumpPlugins
Update AGP and Kotlin
2022-05-18 19:56:32 +02:00
TacoTheDank
e6f2e9791c Update Groupie and ACRA libraries 2022-05-16 11:45:56 -04:00
TacoTheDank
31b1370270 Fix AndroidX library order 2022-05-16 10:54:44 -04:00
Stypox
b59a601b52
Merge branch 'master' into dev 2022-04-29 16:41:18 +02:00
Stypox
31e762d921
Update NewPipeExtractor to 0.22.1 2022-04-28 11:09:04 +02:00
litetex
671441bdf8
Merge pull request #8206 from TacoTheDank/bumpACRA
Update ACRA library
2022-04-18 16:04:37 +02:00
Stypox
0a2fc08706
Release v0.23.0 (986) 2022-04-16 18:28:23 +02:00
Stypox
0cf412efb3
Merge branch 'master' into dev 2022-04-15 18:46:16 +02:00
Stypox
ffa7efedd6
Hotfix release 0.22.2 (985) 2022-04-15 10:57:55 +02:00
Stypox
5e6752db14
Update NewPipeExtractor for hotfix release 2022-04-15 10:54:31 +02:00
TacoTheDank
248ca5ee12 Update ACRA library 2022-04-14 22:08:42 -04:00
litetex
601bc96734
Updated to latest version of the Extractor-dev-branch 2022-04-12 22:09:45 +02:00
litetex
860d28e16c
Merge pull request #8020 from karyogamy/exo-update-v17
ExoPlayer 2.17.1 update and MediaSource management rework
2022-04-02 14:53:58 +02:00
litetex
cf598dc3cb Update extractor to latest dev-Version 2022-03-26 21:20:41 +01:00
Stypox
6e8c9f92cb
Merge branch 'dev' into pr2335 2022-03-19 22:29:10 +01:00
karyogamy
4e459b3383 updated: ExoPlayer to 2.17.1.
added: MediaItemTag for ManagedMediaSources.
added: silent track for FailedMediaSource.
added: keyframe fast forward at initial playback buffer.
added: error notification on silently skipped streams.
2022-03-19 15:56:45 -04:00
Stypox
710964b47d
Update checkstyle to 10.0 and fix various related issues
- Put checkstyle files into checkstyle/ subfolder so that the gradle task does not implicitly depend on the whole project, fixing many warnings during build and possibly increasing build performance.
- Remove unused SuppressionXpathFilter from config file.
- Remove outdated suppressions from suppressions file.
2022-03-18 19:58:59 +01:00
litetex
2e7503ff78
Merge branch 'dev' into bumpSomeLibraries 2022-03-15 21:34:41 +01:00
TacoTheDank
71f141f3f8 Migrate CheckForNewAppVersion to Worker (and rename it) 2022-03-03 13:26:57 -05:00
TacoTheDank
f85b206bdf Update some AndroidX libraries 2022-03-02 11:01:01 -05:00
litetex
f1c6988552
Merge pull request #7952 from TacoTheDank/bumpKotlin
Update Kotlin to 1.6.10
2022-02-28 19:42:38 +01:00
litetex
e1197f7253
Merge pull request #7954 from TacoTheDank/bumpInconsequential
Update ConstraintLayout, Room libraries
2022-02-28 19:42:19 +01:00
litetex
fd6c352881
Merge pull request #7947 from TacoTheDank/bumpPluginsNGradle
Update AGP and Gradle
2022-02-27 17:48:22 +01:00
TacoTheDank
7c180727b9 Update ConstraintLayout, Room libraries 2022-02-26 21:13:52 -05:00
TacoTheDank
19d4e2224b Update Checkstyle to 9.3 2022-02-26 16:10:23 -05:00
TacoTheDank
678edb1846 Update ktlint to 0.44.0 2022-02-26 16:08:10 -05:00
Stypox
cd9dd2e679
Merge pull request #7951 from TeamNewPipe/master
Merge master back into dev after release 0.22.1
2022-02-26 22:02:40 +01:00
litetex
a4dee77728
Merge pull request #7782 from Atemu/apple-silicon
Fix build on Apple Silicon macs
2022-02-26 16:17:02 +01:00
TacoTheDank
8291098b6d Update AGP and Gradle 2022-02-25 19:36:06 -05:00
TacoTheDank
1a000fecd5 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
Stypox
a0dc66abe7
Update android work library version to 2.7.1 2022-02-23 18:16:07 +01:00
Stypox
443ebc46d6
Release 0.22.1 (984) 2022-02-23 15:16:37 +01:00
TobiGr
bba0ea1255 Merge remote-tracking branch 'origin/dev' into feature/notifications 2022-02-19 12:47:47 +01:00
TobiGr
ff8e44e4f3 Merge branch 'dev' into feature/notifications 2022-02-19 12:34:44 +01:00
Stypox
579b8611be
Change compileSdk from 30 to 31
This will allow newer libraries to be used, see #7782 and #2335. This should have no changes on the app since the targetSdk stayed the same.
2022-02-19 12:00:04 +01:00
TobiGr
a3f99bd781 Merge branch 'master' into dev 2022-02-19 10:56:19 +01:00
TobiGr
54f0b3d8b3 Release NewPipe 0.22.0 (983) 2022-02-18 20:39:51 +01:00
TobiGr
42aafd3a2d Update NewPipe Extractor to v0.21.14 2022-02-18 20:39:51 +01:00
Robin
9f8e8c0856
Merge pull request #7679 from TacoTheDank/reportSenderKotlin
Update ACRA library
2022-02-14 15:35:00 +01:00
Atemu
67b2503062 app/build.grade: androidxRoomVersion 2.3.0 -> 2.4.1
This version of Room includes a fix for building dependant apps such as NewPipe
on Apple Silicon devices (aarch64-darwin)
2022-02-04 09:56:56 +01:00
litetex
b0e4f947ea
Fixed merge conflict
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-03 21:06:25 +01:00
Atemu
3a9cdb28ab app/build.grade: compileSdk 30 -> 31
Required for newer versions of some dependencies
2022-02-03 13:59:41 +01:00
TacoTheDank
79060f0bfe Update ACRA library 2022-02-02 13:12:29 -05:00
litetex
91bcd8766a Merge remote-tracking branch 'upstream/master' into experimental 2022-02-01 22:05:19 +01:00
TobiGr
144a10f7a6 Release 0.21.16 (982) 2022-02-01 13:44:19 +01:00
TobiGr
72a2644f25 Update NewPipe Extractor to 0.21.13 2022-02-01 13:41:12 +01:00
Stypox
d5cfcb28fc
Merge branch 'dev' into pr2335 2022-01-24 10:25:07 +01:00
TacoTheDank
23d14ab443 Fix some gradle deprecations 2022-01-21 16:25:11 -05:00
XiangRongLin
5b9c28b93b
Replace JUnit asserts with AssertJ in HistoryRecordManagerTest (#7654)
* Replace JUnit asserts with AssertJ in HistoryRecordManagerTest

They provide a wider range of assertions, which allow for more detailed error messages.
Also convert SearchHistoryEntry to kotlin data class for better error messages, since toString() is implemented.

Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-01-16 09:10:45 +01:00