Commit Graph
46 Commits
Author SHA1 Message Date
webadderall 2ca5c46b47 fix(windows): mask resized window captures 2026-09-05 14:11:27 +10:00
webadderall 498800a3e2 fix(windows): crop window captures without padding 2026-09-05 14:11:27 +10:00
young a5bbfa8e43 Keep window crops aligned as windows change 2026-09-04 20:06:05 +10:00
young ed32f05f52 Record selected windows by cropping full-screen captures 2026-09-04 19:48:22 +10:00
webadderall c74448fd3d Correct colour handling during recording
Record captured frames with BT.709 conversion and explicit limited-range metadata. Share the Windows conversion code between capture engines and apply matching colour metadata on macOS and FFmpeg fallbacks.
2026-08-31 12:25:28 +10:00
wiiiii123 5d3da14671 fix: stabilize Windows recording preview 2026-05-25 02:50:09 +07:00
wiiiii123 978f01407a fix(windows): normalize WGC video timestamps 2026-05-22 17:47:37 +07:00
wiiiii123 58e413fca4 fix(windows): validate WGC encoder fps 2026-05-22 17:13:43 +07:00
wiiiii123 ed11c26983 fix(windows): guard WGC frame extension fps 2026-05-22 17:06:22 +07:00
wiiiii123 6227eb8955 fix(windows): preserve WGC duration through static frames 2026-05-22 15:56:36 +07:00
wiiiii123 fe294b71d5 fix(recording): fail cleanly on WGC resize errors 2026-05-09 07:49:54 +07:00
wiiiii123 f3fcd4bfda fix(recording): stabilize WGC resize frames 2026-05-09 00:06:53 +07:00
wiiiii123 e660b49241 fix(recording): compact silent mic discontinuities 2026-05-06 23:11:16 +07:00
wiiiii123 63a8a5bf43 fix(recording): compact short mic discontinuities 2026-05-06 20:16:32 +07:00
wiiiii123 f8df2d6ae9 fix(recording): soften native mic gap boundaries 2026-05-06 18:50:06 +07:00
wiiiii123 9ac4c55ccf feat(export): prepare native GPU beta candidate
Add validated native CUDA/D3D11 timeline retime, pause-aware capture timing, webcam source-time sampling, edited-track audio duration padding, packaged helper updates, and focused tests for PR #410 tester branch.
2026-05-06 01:50:12 +07:00
wiiiii123 9c81006e5c Add native GPU static layout export path 2026-05-03 22:43:23 +07:00
Wiii 46f384d4d0 fix(recording): use native audio start timestamps for Windows sync

2026-04-25 17:47:39 +07:00
webadderall 7bf94ed309 Revert "fix(windows): normalize WGC sample timestamps" 2026-04-20 00:12:32 +10:00
wiiiii123 16e9a63eb6 fix(windows): normalize WGC sample timestamps 2026-04-19 20:20:06 +07:00
webadderall ae392e573e fix: add COM init on WASAPI capture thread for Windows 11 compatibility
- Call CoInitializeEx(MTA) at start of captureThread() and CoUninitialize() on exit
- Windows 11 enforces per-thread COM initialization more strictly than Win10,
  causing GetBuffer/GetNextPacketSize to fail silently without this
- Add HRESULT error logging for WASAPI capture failures (GetNextPacketSize, GetBuffer)
2026-03-30 15:27:40 +11:00
webadderall bc54b2a8c9 fix(desktop): polish editor chrome 2026-03-28 23:24:34 +11:00
webadderall 4e8ab9cf45 fix(windows): finalize WGC recordings safely 2026-03-28 17:03:41 +11:00
webadderall ca29abd89c fix(windows): restore WGC monitor fallback 2026-03-28 15:18:56 +11:00
webadderall 719fa78e9f Revert "feat: Advanced Video Editor Implementation, Native WGC Integration, and AI Auto-Captions" 2026-03-28 14:12:25 +11:00
Mahdy Arief d5ab86ea44 fix(export, native, ui): resolve critical data integrity and resource management bugs in PR #122
- Implement comprehensive solo/mute export pipeline in audioEncoder.ts
- Fix duplicate caption IDs by adding chunk-specific indices in handlers.ts
- Prioritize native monitor selection by bounds in monitor_utils.cpp
- Fix alignment for blur annotations extending beyond canvas boundaries
- Resolve timeline selection desync and sidebar visibility for blur annotations
- Fix memory leaks in audio waveform generation with AudioContext cleanup
2026-03-28 06:09:50 +07:00
Mahdy Arief 281a73b51a chore: Finalize PR #116 stability and privacy improvements
- Hardened IPC with safety guards for all webContents.send calls
- Scrubbed sensitive absolute paths from caption logs
- Realigned Windows artifact naming logic
2026-03-27 23:14:12 +07:00
webadderall 6cbef1e279 fix(wgc): preserve full-width display identifiers 2026-03-27 23:34:39 +11:00
Mahdy Arief ced02c9a8f feat: Implement native Windows Graphics Capture monitor utilities and introduce video editor UI components. 2026-03-27 17:22:55 +07:00
webadderall 70cefabd57 Revert "fix(recording): validate native captures and tighten mic menu spacing"
This reverts commit 1900c0e737.
2026-03-27 11:31:02 +11:00
webadderall 7fb4c5de9e Revert "Fix WGC display selection and webcam sync"
This reverts commit e5becc30a3.
2026-03-27 11:30:11 +11:00
webadderall f1df2911cb Merge fix/wgc-display-webcam-sync into main 2026-03-26 22:09:59 +11:00
webadderall e5becc30a3 Fix WGC display selection and webcam sync 2026-03-26 21:52:35 +11:00
webadderall 6f6ef68cc4 fix(windows): honor selected microphone in native capture 2026-03-26 11:17:39 +11:00
Pierre-Adrien Lair 906c476ebe Fix corrupted MP4 recordings on Windows by serializing encoder writes
The WGC capture session uses Direct3D11CaptureFramePool::CreateFreeThreaded,
which dispatches FrameArrived callbacks on thread pool threads concurrently.
MFEncoder::writeFrame() accesses non-thread-safe resources (ID3D11DeviceContext,
IMFSinkWriter, shared staging texture and NV12 buffer) without synchronization,
causing MP4 container corruption when callbacks overlap at high frame rates.

Add a mutex to serialize writeFrame() and finalize() calls, preventing
concurrent access to the D3D context and Media Foundation sink writer.

Fixes #96
2026-03-24 17:59:27 +01:00
webadderall 1900c0e737 fix(recording): validate native captures and tighten mic menu spacing 2026-03-24 19:04:24 +11:00
webadderall 01fe5921fd fix(windows): preserve full monitor ids for native capture 2026-03-23 18:00:00 +11:00
VoidGravity e6373f70f9 capturing silently, removing usless noisy warning 2026-03-20 22:29:51 +00:00
VoidGravity 39343a3247 Handle unsupported IsBorderRequired on Windows 10 causing Native Windows capture failure 2026-03-20 22:24:48 +00:00
webadderall 9aa638c88b Fix missing WasapiCapture pause and resume methods 2026-03-19 19:53:44 +11:00
webadderall 6c06c96f91 Selective merge of Windows system cursor fix #66 2026-03-19 11:10:44 +11:00
webadderall f5ccd5b7e0 Fix Windows DXGI capture helper flow 2026-03-19 00:05:58 +11:00
webadderall ae521ed9d9 feat(windows): replace WGC with DXGI and fix HUD window bounds 2026-03-18 22:11:10 +11:00
webadderall de1074cdff Pause native screen capture across platforms 2026-03-18 18:36:25 +11:00
tokenflow1m d3d202d33b fix(wgc): address PR review feedback
- Use getRecordingsDir() instead of hardcoded RECORDINGS_DIR
- Fix stop order: video first, then audio save, then mux via new
  mux-wgc-recording IPC
- Explicitly stop MediaStream tracks for audio resource cleanup
- Add native WASAPI audio capture (system loopback + mic) in C++ process
  for sample-accurate sync; browser audio APIs crash with WGC
- Add window capture support (CreateForWindow) with window: source prefix
- Kill WGC capture process on app before-quit
- Add even-dimension guard in MFEncoder
- Fix ffmpeg asar path backslash handling on Windows
- Remove dead browser-side WGC audio code (storeWgcAudio IPC,
  ScriptProcessorNode refs, stopWgcAudioCapture)
2026-03-15 03:37:27 +09:00
tokenflow1m 7b26ec3a9e Add native WGC screen capture for Windows
Uses Windows.Graphics.Capture to record the screen without the OS cursor
or the yellow capture border. Falls back to Electron capture on older Windows
or when the helper exe isn't available.
2026-03-14 23:02:29 +09:00