Commit Graph

31 Commits

Author SHA1 Message Date
Arkadiusz Fal
e6e69eb757 Add optional AVPlayer support for non-streamable MP4/AVC1 formats
AVPlayer has a fundamental limitation with MP4/AVC1 progressive downloads where the moov atom position affects playback start time. When moov is at the end of the file, AVPlayer must download the entire file before starting playback. MPV doesn't have this limitation.

This commit adds an advanced setting to optionally enable these formats in AVPlayer with appropriate warnings:

- Added new setting: "Enable non-streamable formats (MP4/AVC1)"
- Default: disabled (formats hidden, MPV handles them)
- When enabled: MP4/AVC1 formats up to 1080p appear in AVPlayer quality selector
- Resolution limit: 1080p maximum (higher resolutions can't be played properly)
- Clear warning about slow loading and 1080p limitation
- Automatic stream refresh when setting is toggled
- Full import/export support for the setting
2025-11-23 13:32:16 +01:00
Arkadiusz Fal
be4e1adb9b Fix all SwiftLint violations across codebase
Resolves 130+ violations including deployment target checks, code style issues, and formatting inconsistencies. Adds SwiftLint disable comments for compiler-required availability checks while maintaining deployment target compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 18:14:35 +01:00
Arkadiusz Fal
e0ca48fd44 Improve tvOS settings UI styling and navigation
- Add TVOSPlainToggleStyle for cleaner toggle appearance on tvOS
- Remove focus overlays from settings navigation links and buttons
- Apply plain button and list styles across all settings screens
- Implement custom system controls picker for tvOS to avoid focus overlay
- Update SettingsPickerModifier with platform-specific styling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 18:14:35 +01:00
Arkadiusz Fal
ed11e593ff Merge pull request #810 from yattee/auto-retry-video-loading
Retry loading video before presenting error
2024-09-11 09:29:28 +02:00
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
5e85fd294c MPV: improved A/V sync
- use displays refresh rate
- execute needs drawing with higher priority
- run create() with higher priority
- determine the number of threads used for rendering
- enable VSYNC and change video-sync  to display-resample
- iOS/tvOS: set new display refresh rate on change
- run setSize with higher priority
- add more options to MPVClient
- get refresh rate updates
- sync refresh rate to fps
- update CADisplayLink to current refresh rate
- update refresh rate on macOS
- Add experimental feature to sync display  with content fps

Signed-off-by: Toni Förster <toni.foerster@gmail.com>
2024-09-08 15:59:42 +02:00
Toni Förster
9e05909659 fix duplicated share button
fixes #691

add `--initial-audio-sync=<yes|no>` to MPV settings. Might fix #690 but needs to be toggled by the user. We leave the standard settings.

Also added links to the icons on macOS.
2024-07-06 11:35:21 +02:00
Arkadiusz Fal
e3e0c4a92f Remove duplicated button 2024-06-13 19:04:46 +02:00
Arkadiusz Fal
34cb7860b3 Fix build issues 2024-05-23 11:55:31 +02:00
Toni Förster
e44c7f84c8 MPV: speed up playback start
We initialize MPV with more options so it does not have to guess. This dramatically speeds up playback start.
2024-05-23 10:53:45 +02:00
Arkadiusz Fal
0f43efef6f Fix build issue 2024-05-19 11:52:37 +02:00
Toni Förster
43fc9e20c0 Advanced Settings: cache-pause-initial
`cache-pause-initial` status can now be selected by the user.

Also, on macOS and iOS, a link next to the option leads the user to the info on the mpv website.
2024-05-19 03:50:33 +02:00
Toni Förster
2590f041c2 Advanced settings: make number fields .numPad 2024-05-09 15:02:31 +02:00
Arkadiusz Fal
5b35c03bc5 Add MPV deinterlace filter setting
Fix #601
2024-02-02 11:16:27 +01:00
Arkadiusz Fal
562df2d9ba Add advanced setting "Show video context menu options to force selected backend" 2023-05-29 16:13:12 +02:00
Arkadiusz Fal
8e829ed3b1 Localizations fixes 2023-04-22 23:39:43 +02:00
Arkadiusz Fal
5c0cf7452c Remove unused code 2023-04-22 23:39:43 +02:00
Arkadiusz Fal
809bcd183a New playback settings sheet 2023-02-05 14:24:16 +01:00
Arkadiusz Fal
e4d583a263 Cache settings 2023-02-05 14:24:10 +01:00
Arkadiusz Fal
a35d697ebe Cache fixes 2023-02-05 14:24:09 +01:00
Arkadiusz Fal
971beddc8d Feed cache 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
256b1671c1 Reorder locations settings 2022-12-04 13:32:25 +01:00
Arkadiusz Fal
fa0523d3c6 Improve sections visibility 2022-12-04 13:32:24 +01:00
Arkadiusz Fal
4c2d473caa Reorganize locations settings 2022-12-04 13:32:24 +01:00
Arkadiusz Fal
fb1358cfc3 Localizations fixes 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
b66e177114 Localizations 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
36363628d4 Add MPV logs export 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
02a27b4f95 Fix advanced settings layout (#213) 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
41fb021b64 Add MPV cache advanced settings 2022-10-27 18:03:57 +02:00
Arkadiusz Fal
4fcf57d755 Locations manifest, reorganized instances settings 2022-10-27 18:03:57 +02:00