Commit Graph

75 Commits

Author SHA1 Message Date
Toni Förster
28a7b6e981
auto retry loading the video before showing error
Signed-off-by: Toni Förster <toni.foerster@gmail.com>
2024-09-10 11:07:20 +02:00
Toni Förster
a45522f710
Improved stream resolution handling
Invidious now reports the actual resolution and doesn’t hardcode them anymore.

See: https://github.com/iv-org/invidious/pull/4586

- Extended the list of possible resolutions in the StreamModel
- trigger videoLoadFailureHandler if no streams are available
- more logging for backend.bestPlayable

Signed-off-by: Toni Förster <toni.foerster@gmail.com>
2024-08-25 17:23:04 +02:00
Toni Förster
94577332a1
chore: address linter warnings
Signed-off-by: Toni Förster <toni.foerster@gmail.com>
2024-08-18 14:46:51 +02:00
Toni Förster
6eba2a45c8
Conditional proxying
I added a new feature. When instances are not proxied, Yattee first checks the URL to make sure it is not a restricted video. Usually, music videos and sports content can only be played back by the same IP address that requested the URL in the first place. That is why some videos do not play when the proxy is disabled.

This approach has multiple advantages. First and foremost, It reduced the load on Invidious/Piped instances, since users can now directly access the videos without going through the instance, which might be severely bandwidth limited. Secondly, users don't need to manually turn on the proxy when they want to watch IP address bound content, since Yattee automatically proxies such content.

Furthermore, adding the proxy option allows mitigating some severe playback issues with invidious instances. Invidious by default returns proxied URLs for videos, and due to some bug in the Invidious proxy, scrubbing or continuing playback at a random timestamp can lead to severe wait times for the users.

This should fix numerous playback issues: #666, #626, #590, #585, #498, #457, #400
2024-05-16 19:35:31 +02:00
Toni Förster
54915dcea1
rework quality settings
- The order of the formats can now be changed in the Quality Settings.
- sortingOrder is now part of QualitiyProfile.
- bestPlayable is now part of PlayerBackend.
- hls and stream aren't treated as unknown anymore.
2024-04-29 20:03:51 +02:00
Toni Förster
e525f36824
formatting 2023-11-22 10:24:41 +01:00
Toni Förster
45d2968d9e
support for private instances
closes #552

and some formatting
2023-11-21 18:14:17 +01:00
Arkadiusz Fal
e827b97cd5 Fix lint issues 2023-07-24 19:45:30 +02:00
Arkadiusz Fal
6f91eedf4c Update watch time on close item 2023-06-07 23:37:27 +02:00
Arkadiusz Fal
947f216fac Fix closing video on error 2023-05-29 16:13:12 +02:00
Arkadiusz Fal
34a05433d5 Fix issue with streams list duplicates 2023-05-21 19:13:42 +02:00
Arkadiusz Fal
c7b64c973d Fix player overlay opacity 2023-04-24 12:57:31 +02:00
Arkadiusz Fal
28f346dee2 Remove Watch Next 2023-04-22 23:10:27 +02:00
Arkadiusz Fal
67690bc435 Video details changes and channel sheet 2023-04-22 23:10:27 +02:00
Arkadiusz Fal
18cbbd3c90 Fix crashes 2023-02-05 14:24:16 +01:00
Arkadiusz Fal
53092e48cf Fix possible crash 2023-02-05 14:24:16 +01:00
Arkadiusz Fal
37d8873424 Hide player on cancelling error of loading 2023-02-05 14:24:15 +01:00
Arkadiusz Fal
39fc23c5dc Watch Next behavior and settings 2023-02-05 14:24:14 +01:00
Arkadiusz Fal
ba1ec7c559 Player layout changes 2023-02-05 14:24:14 +01:00
Arkadiusz Fal
eca685ae29 Watch next view 2023-02-05 14:24:14 +01:00
Arkadiusz Fal
fcf527fa87 Player bar visibility modes and settings 2023-02-05 14:24:13 +01:00
Arkadiusz Fal
6b30e804c0 Don't close video on error alert until dismissed 2023-02-05 14:24:12 +01:00
Arkadiusz Fal
1c746bc8e0 Use cache for loading player queue and history 2023-02-05 14:24:09 +01:00
Arkadiusz Fal
971beddc8d Feed cache 2023-02-05 14:24:07 +01:00
Arkadiusz Fal
64146b26c2 Videos cache model 2023-02-05 14:24:07 +01:00
Arkadiusz Fal
faf2469e04 Initial PeerTube Support 2023-02-05 14:24:07 +01:00
Arkadiusz Fal
0d333b5583 Replace environment objects with observed objects 2022-12-05 10:13:19 +01:00
Arkadiusz Fal
9bea3b623d Fix retry video buttons 2022-12-04 13:32:26 +01:00
Arkadiusz Fal
b45ceaec59 Add retry button to video load error alert 2022-12-04 13:32:26 +01:00
Arkadiusz Fal
80d8d66986 Local videos fixes 2022-12-04 13:32:24 +01:00
Arkadiusz Fal
402d1a2f79 Opening videos by URL and local files 2022-12-04 13:32:22 +01:00
Arkadiusz Fal
a086a0f440 Use Swift 5.7 if-let style 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
01601176dd Add option "Keep last played video in the queue after restart" 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
14b0316724 Add back Shuffle All and fix Play All 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
ba07c410f5 Fix respecting restart playing videos setting 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
fc7052a7fa Fix orientation on iOS 16 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
3a508b98ab Fix player instance setting (fix #260) 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
ac9abaec5a Quality profiles 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
c51b9dd8e8 Code style change 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
a0088e5404 Add server error message details (fix #221) 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
6ce9ed3063 Fix replaying item 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
ebe3ba9ed5 Playback modes 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
8358dd50aa Video loading errors reporting 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
a02eb2b168 Fix crash on unloadable history items 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
fe94d35af0 Improve queue details loading 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
321c265a11 Player controls UI changes
WIP on controls

Chapters

working

Add previews variable

Add lists ids

WIP
2022-10-27 18:03:57 +02:00
Arkadiusz Fal
78d7693128 Player overlaying other views and swipe gesture (fix #44, #130) 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
613f874c42 PiP improvements 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
52df6bf76e Fix using Watch history in player queue 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
d58ec0684c Restore last played item into queue only if it's not in there yet 2022-10-27 18:03:57 +02:00