Experimental mpv-style (uosc) controls behind a Settings toggle
Thick timeline with hatched cache range, chapter diamonds and chapter/time hover boxes; collapses to a thin progress line when hidden. Flat icon row with track count badges, shader preset badge, flat dark menus. Own show/hide state, live switch in window and fullscreen. New buffered signal from demuxer-cache-time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bc98c5c665
commit
165cd2a7f9
14 files changed
+1917
-69
No files matched your search
@@ -89,6 +89,12 @@ void main() {
|
||||
expect(a.playback.ending.peek()!.start, const Duration(minutes: 20));
|
||||
expect(a.playback.segments.peek(), isEmpty, reason: 'not a Jellyfin item');
|
||||
|
||||
// buffered signal: mpv's demuxer cache (the timeline's hatching)
|
||||
// runs ahead of the position.
|
||||
await _poll(() => a.playback.buffered.peek() > a.playback.position.peek() + const Duration(seconds: 5),
|
||||
'cache ahead');
|
||||
expect(a.playback.buffered.peek(), lessThanOrEqualTo(a.playback.duration.peek()));
|
||||
|
||||
// tracks signal: two audio, one subtitle; mpv's choice marked.
|
||||
await _poll(() => a.playback.tracks.peek().length == 3, 'tracks');
|
||||
final tracks = a.playback.tracks.peek();
|
||||
|
||||
Reference in new issue
Block a user