Mike-Solar aa5fcef66e fix(oakengine): facade bugs found by integration tests
undo:
- NULL/empty label no longer crosses to oakundo as a dangling 0x1
  pointer (push, group_begin/end) — fixed SIGSEGV
- group_abort now undoes each executed child in reverse order

task:
- create_project_import addrefs the borrowed project handle instead of
  freeing it under the async task — fixed UAF/SIGSEGV

timeline:
- toggle_enabled/delete_clips guard NULL+0 slices — fixed SIGABRT
- BlockSplitCommand halves placed correctly (oaktimeline undosplit)
- PreservingLinks / ripple remove / ripple delete-gaps commands
  self-prepare on first redo — fixes silent no-op split/ripple
- trim_clips_to targets the block containing the point, not the track
- delete_empty_tracks applies the live track removal
- ripple facades no longer free borrowed track handles still referenced
  by commands — fixed UAF

node:
- project_add_node releases the factory handle — fixes per-call leak
- inputs_from(recursive=0) matches direct feeders (BFS off-by-one)
- group passthrough id/resolve treat two-stage string length as success
- node_connect(_command) reject duplicate connects with E_STATE
- folder_add_child enforces one-folder-per-node
- value_split_to_tracks splits vector/color per component
- set_context_position/expanded establish the first entry
- node_get_flags on an empty box returns 0, not u64::MAX
- footage_borrow addrefs its wrapper — fixes double-free

render:
- renderer_create rejects invalid pixel formats (real range check)
- render_frame forwards renderer width/height to the ticket

tests: repro #[ignore]s removed, bug-behavior assertions corrected,
it_undo global-stack tests serialized with a shared lock
2026-08-11 01:30:18 +08:00
2024-05-13 14:49:53 +02:00
2026-07-17 22:51:46 +08:00

Oak Video EditorCI

中文

Oak Video Editor is a free non-linear video editor for Windows, macOS, and Linux.

This project is a community-maintained fork of Olive Video Editor. screen

NOTE: Oak Video Editor is alpha software and is considered highly unstable. While we highly appreciate users testing and providing usage information, please use at your own risk.

Binaries

The binary can be downloaded here:

v0.4.2

v0.4.1

v0.4.0

Building from Source

See docs/build.md for build instructions on Windows (MSYS2), Linux (Debian/Ubuntu, Fedora, Arch Linux), and macOS.

Roadmap

Version Theme Core Deliverables Boundary Notes
0.3 Plugin Architecture Milestone Production-ready OpenFX host support Not about quantity of plugins, but "any OFX plugin loads without crashing"
0.4 Color, Audio & Performance .cube/.3dl support, scopes (waveform/vectorscope/histogram), three-way color wheels, waveform auto-sync, BWF timecode sync, audio meters (LUFS/VU), proxy media workflow, hardware-accelerated export (NVENC/VideoToolbox), batch render queue Combines the previous 0.4-0.6 scope into one usability milestone: color workflow, audio sync, and 4K/8K performance
0.5 Animation, Tracking & Collaboration Bézier keyframe curve editor, basic point tracking, image stabilizer, full multicam angle switching, OpenTimelineIO, EDL/XML import/export Combines the previous 0.7-0.8 scope into one timeline/interchange milestone
0.6 Stability Milestone Project file format freeze (backward compatibility promise), crash recovery, autosave, memory optimization "Feature freeze" testing period before 1.0
1.0 Production Ready Complete documentation, installers, known issues list, community support channels Declared "ready for serious projects"
S
Description
No description provided
Readme GPL-3.0
111 MiB
Languages
Rust 79.4%
HTML 13.8%
C 5.6%
C++ 0.8%
Shell 0.4%