Mike-Solar
f3389fe6ba
Allow waveform sync with partially cached audio and add regression tests
2026-07-13 10:54:12 +08:00
Mike-Solar
942ffd1635
test: extend coverage for file/qt/xml utilities and core audio/math
...
Add/extend tests for:
- FileFunctions: config/temp paths, autorecovery, directory overwrite/copy
- QtUtils: word wrap, formatted date/time, qHash for rational/TimeRange
- XMLUtils: cancel atom integration
- Core rational: construction, arithmetic, comparisons, NaN handling
- Core SampleBuffer: allocation, channel ops, volume/silence/reverse/speed
Coverage improvements:
- filefunctions.cpp: 74% -> 90%
- qtutils.cpp: 41% -> 73%
- xmlutils.cpp: 88% -> 100%
- rational.cpp: 74% -> 92%
- samplebuffer.cpp: 55% -> 96%
2026-07-13 10:19:30 +08:00
Mike-Solar
c57608b8f8
test: expand gtest coverage for common/core utilities
...
Add unit tests for:
- CommandLineParser, Debug handler, Decibel, Digit, JobTime, FFmpegUtils
- Core StringUtils, Timecode, TimeRange, Bezier, Color
- Extend Frame tests to cover pixel access, interlace, conversion
Coverage improvements (app + ext/core):
- commandlineparser.cpp: 0% -> 93%
- debug.cpp: 0% -> 85%
- decibel.h: 25% -> 88%
- digit.h: 0% -> 100%
- ffmpegutils.cpp: 29% -> 90%
- frame.cpp: 53% -> 97%
- bezier.cpp: 16% -> 98%
- color.cpp: 13% -> 71%
- Overall line coverage: 17% -> 19%
2026-07-13 10:19:30 +08:00
Mike-Solar
748c53ac5c
Expand Google Test coverage across core subsystems
...
Add and extend unit tests for:
- Task manager (failed tasks, progress signals, multiple tasks)
- Undo stack (multiple undo/redo, push-after-undo, clear, multi-command)
- Config defaults and graphics backend string conversion
- Node keyframe serialization and default state
- Node value string round-trips and table operations
- Node globals and project settings/serialization
- Timeline coordinate, workarea, and marker commands
- Color LUT processor and OCIO transform handling
- Common utilities (range, file functions, Qt helpers, XML utils)
- Render enums (loop mode, alpha association)
- Shader resource availability
- Module smoke tests for Tool and HumanStrings
All tests pass including RenderWorkerFootage GPU worker tests after
rebuilding the stale olive-render-worker binary.
2026-07-13 10:19:30 +08:00
Mike-Solar
b7ff687220
Expand gtest coverage across recently changed modules
...
Adds ~60 new unit tests covering the modules touched in recent bug-fix
passes and UI refactors:
- RenderTicket: result/finish-count semantics, empty watcher defaults,
ticket-reuse rejection
- Preferences tabs: behavior options migrated into General/Audio tabs,
translation context helper, audio-tab initialization
- NodeView: context management, 'Show in Parameter Editor' action wiring
- PreviewAutoCacher: construction, pause toggles, single-frame render
cancellation, force-cache range
- SeekableWidget/TimeBasedWidget: scroll, marker editing, context reset
- OCIOLutNode: empty/missing/unsupported LUT paths, string direction
values, file-switching regression coverage
- ProxyManager: working filename, disabled state, empty proxy fields
- Frame/VideoParams/AudioParams/Timecode/ExportFormat/ExportCodec:
additional edge-case and enumeration coverage
Also fixes the PreferencesAudioTab test crash by initializing
AudioManager in the offscreen test environment.
All tests pass: ctest --output-on-failure
2026-07-13 10:19:30 +08:00
Mike-Solar
800859b0ef
Fix OCIO LUT async processor black screen and freeze
...
- Pass through input texture when the LUT processor is not ready yet,
preventing black frames while the processor is being generated.
- Serialize processor generation with a single in-flight task to avoid
concurrent OCIO lock contention that could freeze the UI.
- Invalidate cached frames after the async processor is set so the viewer
refreshes automatically without requiring the playhead to be moved.
- Add OAK_DISABLE_HWACCEL environment variable to force software decoding.
- Add FFmpegDecoderHW regression test for H.264 4:2:2 10-bit decoding.
2026-07-13 10:19:30 +08:00
Mike-Solar
f6211f97a5
Fix render worker reuse and stabilize out-of-process video rendering
2026-07-13 10:19:30 +08:00
Mike-Solar
b4e39e5bcd
Address ChatGPT Vulkan review items
...
- Add PickRenderableFormat / IsColorAttachmentSupported so 3-channel
Vulkan formats fall back to 4-channel when unsupported.
- Make oakvulkan target and C ABI check conditional on Vulkan_FOUND;
skip liboakvulkan build/dependencies when Vulkan headers/libs are
absent.
- Update Preferences tooltip to reflect Vulkan is an experimental
prototype that may fall back to OpenGL.
- Revise dynamic backend plan doc: phase 3/4/5 described as prototype
frameworks with runtime validation pending, and list recent Vulkan
fixes (init idempotency, descriptor/sampler lifetime, dynamic
viewport/scissor, render pass clear, format probing).
Both OAK_ENABLE_DYNAMIC_RENDER_BACKEND=ON and OFF configurations
build and pass ctest (4/4).
2026-07-13 10:19:29 +08:00
Mike-Solar
38c5afb13d
Add Vulkan backend placeholder with dynamic fallback
2026-07-13 10:19:29 +08:00
Mike-Solar
3f43073261
Add dynamic backend load smoke test
2026-07-13 10:19:29 +08:00
Mike-Solar
5b069b47fd
Fix CI compatibility for LUT and decoder tests
2026-07-13 10:19:29 +08:00
Mike-Solar
8ae8e3a159
Implement proxy media workflow
2026-07-13 10:19:29 +08:00
Mike-Solar
08b1c6d562
Implement audio sync foundations
2026-07-13 10:19:29 +08:00
Mike-Solar
cac5a40b58
Implement color LUT v0.4 features
2026-06-07 00:24:08 +08:00
Mike-Solar
042f008a02
Add decoded input slots for render workers
2026-06-04 21:32:43 +08:00
Mike-Solar
b23e01b916
Add render worker IPC loop
2026-06-04 13:57:36 +08:00
Mike-Solar
f3c50017e9
rendering still not correct
2026-04-19 18:59:56 +08:00
Mike-Solar
eb79be87a4
add smoke test
2026-04-12 01:26:41 +08:00
Mike-Solar
843b8762f6
fix audio bug
2026-04-12 01:08:22 +08:00
Mike-Solar
4d393f3d23
尝试解决插件bug
2026-01-10 18:56:58 +08:00
Mike-Solar
e37972b227
Try to fix plugin issue
2026-01-05 21:31:35 +08:00
Mike-Solar
cdc66d1a02
fix no video shown
2026-01-05 13:52:02 +08:00
Mike-Solar
4b97a66f17
添加测试
2026-01-05 03:52:02 +08:00
Mike-Solar
79f376b512
修复bug
2026-01-05 03:40:36 +08:00
Mike-Solar
8263ccf814
修正测试
2026-01-05 03:11:34 +08:00
Mike-Solar
1f679551f2
添加测试
2026-01-05 02:55:21 +08:00