Fix Linux audio backend preference and worker footage render crash

- On Linux, automatically prefer PipeWire/JACK/PulseAudio over ALSA
  even when a saved ALSA device name exists in config.
- Restore Footage length after deserialization so worker snapshots
  have valid stream lengths and video playback can advance.
- Guard ResolveDecoderFromInput and ProcessAudioFootage against a
  null decoder cache to prevent worker crashes on direct Footage ->
  ViewerOutput connections.
- Keep Linux signal backtrace handler in the render worker.
- Add Oak project SVG logos.
This commit is contained in:
2026-07-14 22:33:30 +08:00
parent 5c8ce17c7e
commit 3be4294e15
6 changed files with 101 additions and 3 deletions
+5
View File
@@ -584,6 +584,11 @@ bool Footage::LoadCustom(QXmlStreamReader *reader, SerializedData *data)
}
}
// The cached lengths are not serialized. Recompute them from the stream
// parameters that were just loaded so that worker processes and any code
// that reads GetLength() before InvalidateCache() runs sees valid values.
VerifyLength();
return true;
}