Stabilisation quick fixes: orderly close, visible version and update band, chat pop-ups on, Windows shaders and hwdec, render logs
- Close: hide the window, dispose every player, thumbnail job and the sound engine, leave, then close normally; Linux runner _exit (the NVIDIA EGL exit handler crashed 10/10 closes, 0/41 now); Windows tears down inside the message loop, then TerminateProcess; watchdogs. - Version under the Settings tab; an update band instead of a dot, never over a video; checks at start and every 4 hours. - Chat pop-ups default to All again. - Shader read-back compared as a list (old mpv joins with ','), so Windows stops turning shaders off; Windows hwdec auto-copy. - Render diagnostics (`mpv: render` lines); RAM-only demuxer cache pin silences the file-cache warning; a volume readout test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e537f9d5f8
commit
ea607c1a52
29 files changed
+873
-168
No files matched your search
@@ -70,6 +70,22 @@ void main() {
|
||||
expect(joinShaderPaths([], windows: false), '');
|
||||
});
|
||||
|
||||
test("mpv's read-back: the list in ',', ';' or ':' form", () {
|
||||
const win = [r'C:\Users\a b\shaders\x.glsl', r'D:\y.glsl'];
|
||||
expect(shaderListMatches(win, r'C:\Users\a b\shaders\x.glsl;D:\y.glsl'), isTrue, reason: 'new mpv, Windows');
|
||||
expect(shaderListMatches(win, r'C:\Users\a b\shaders\x.glsl,D:\y.glsl'), isTrue, reason: 'old mpv, Windows');
|
||||
const unix = ['/home/a/x.glsl', '/home/a/y.glsl'];
|
||||
expect(shaderListMatches(unix, '/home/a/x.glsl:/home/a/y.glsl'), isTrue, reason: 'new mpv, Linux');
|
||||
expect(shaderListMatches(unix, '/home/a/x.glsl,/home/a/y.glsl'), isTrue, reason: 'old mpv, Linux');
|
||||
expect(shaderListMatches([r'C:\x.glsl'], r'C:\x.glsl'), isTrue, reason: 'one path');
|
||||
expect(shaderListMatches(const [], ''), isTrue, reason: 'off');
|
||||
expect(shaderListMatches(win, r'C:\Users\a b\shaders\x.glsl'), isFalse, reason: 'one dropped');
|
||||
expect(shaderListMatches(unix, '/home/a/y.glsl:/home/a/x.glsl'), isFalse, reason: 'order matters');
|
||||
expect(shaderListMatches(unix, ''), isFalse, reason: 'mpv kept none');
|
||||
expect(shaderListMatches(const [], 'null'), isFalse);
|
||||
expect(shaderListMatches(unix, null), isFalse, reason: 'read failed');
|
||||
});
|
||||
|
||||
test('path problems: missing file, separator inside a path', () {
|
||||
final d = _fresh('shaders_problem');
|
||||
final ok = File('${d.path}/ok.glsl')..writeAsStringSync('//');
|
||||
|
||||
Reference in new issue
Block a user