Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a70efe1
venc-mediafoundation
Brendonovich Aug 27, 2025
6ca1e3e
not working for some reason?
Brendonovich Aug 27, 2025
087b4e6
de-thread scap-direct3d
Brendonovich Aug 27, 2025
77025cf
something
Brendonovich Aug 28, 2025
e47d94a
rip original example
Brendonovich Aug 28, 2025
c85b3fa
retry with scap-direct3d
Brendonovich Aug 28, 2025
5b4070e
a bunch of inversion of control
Brendonovich Aug 28, 2025
f1a9328
oops
Brendonovich Aug 28, 2025
a8c513a
path-based sample writer
Brendonovich Aug 28, 2025
f818ea0
bring back media processor
Brendonovich Aug 28, 2025
47c6ee3
pass through format
Brendonovich Aug 28, 2025
6d3a868
reduce bitrate
Brendonovich Aug 28, 2025
e363092
reorganise
Brendonovich Aug 28, 2025
3f89b3b
enc-* crates + use in studio recording
Brendonovich Aug 29, 2025
33fc48e
remove a bunch of unnecessary stuff
Brendonovich Sep 1, 2025
266400b
allow configuring bitrate
Brendonovich Sep 1, 2025
03beb56
fix macos
Brendonovich Sep 1, 2025
90702c5
cap-enc-gif
Brendonovich Sep 1, 2025
781d3d3
fix macos
Brendonovich Sep 1, 2025
f863d76
imfsample -> avpacket wtf
Brendonovich Sep 1, 2025
197d2b9
work on instant mode
Brendonovich Sep 2, 2025
db662d8
bruh
Brendonovich Sep 2, 2025
37472f5
fix macos compile
Brendonovich Sep 2, 2025
c9a8155
wow audio works
Brendonovich Sep 2, 2025
d966f2d
fallback to ffmpeg encoder in instant mode too
Brendonovich Sep 3, 2025
ce325c4
address some coderabbit stuff
Brendonovich Sep 3, 2025
b6f68d3
muxer::new
Brendonovich Sep 3, 2025
0c43df6
expect
Brendonovich Sep 3, 2025
b7f46bb
Merge branch 'main' into venc-mediafoundation
Brendonovich Sep 3, 2025
6964711
formatting
Brendonovich Sep 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
266 changes: 145 additions & 121 deletions Cargo.lock

Large diffs are not rendered by default.

48 changes: 24 additions & 24 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,48 +9,48 @@ anyhow = { version = "1.0.86" }
cpal = { git = "https://github.com/RustAudio/cpal", rev = "f43d36e55494993bbbde3299af0c53e5cdf4d4cf" }
ffmpeg = { package = "ffmpeg-next", git = "https://github.com/CapSoftware/rust-ffmpeg", rev = "49db1fede112" }
tokio = { version = "1.39.3", features = [
"macros",
"process",
"fs",
"sync",
"rt",
"rt-multi-thread",
"time",
"macros",
"process",
"fs",
"sync",
"rt",
"rt-multi-thread",
"time",
] }
tauri = { version = "2.5.0", features = ["specta"] }
specta = { version = "=2.0.0-rc.20", features = [
"derive",
"serde_json",
"uuid",
"derive",
"serde_json",
"uuid",
] }
serde = { version = "1", features = ["derive"] }

scap = { git = "https://github.com/CapSoftware/scap", rev = "3cefe71561ff" }
nokhwa = { git = "https://github.com/CapSoftware/nokhwa", rev = "b9c8079e82e2", features = [
"input-native",
"serialize",
"input-native",
"serialize",
] }
nokhwa-bindings-macos = { git = "https://github.com/CapSoftware/nokhwa", rev = "b9c8079e82e2" }
wgpu = "25.0.0"
flume = "0.11.0"
thiserror = "1.0"
sentry = { version = "0.34.0", features = [
"anyhow",
"backtrace",
"debug-images",
"anyhow",
"backtrace",
"debug-images",
] }
tracing = "0.1.41"
futures = "0.3.31"

cidre = { git = "https://github.com/CapSoftware/cidre", rev = "bf84b67079a8", features = [
"macos_13_0",
"cv",
"cf",
"sc",
"av",
"blocks",
"async",
"dispatch",
"macos_13_0",
"cv",
"cf",
"sc",
"av",
"blocks",
"async",
"dispatch",
], default-features = false }

windows = "0.60.0"
Expand All @@ -77,7 +77,7 @@ opt-level = "s" # Optimize for binary size
debug = true

[patch.crates-io]
screencapturekit = { git = "https://github.com/CapSoftware/screencapturekit-rs", rev = "7ff1e103742e56c8f6c2e940b5e52684ed0bed69" } # branch = "cap-main"
# screencapturekit = { git = "https://github.com/CapSoftware/screencapturekit-rs", rev = "7ff1e103742e56c8f6c2e940b5e52684ed0bed69" } # branch = "cap-main"
cidre = { git = "https://github.com/CapSoftware/cidre", rev = "bf84b67079a8" }
# https://github.com/gfx-rs/wgpu/pull/7550
# wgpu = { git = "https://github.com/gfx-rs/wgpu", rev = "cd41a6e32a6239b65d1cecbeccde6a43a100914a" }
2 changes: 1 addition & 1 deletion apps/desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ mp4 = "0.14.0"
futures-intrusive = "0.5.0"
anyhow.workspace = true
futures = { workspace = true }
axum = { version = "0.7.5", features = ["ws"] }
axum = { version = "0.7.5", features = ["ws", "macros"] }
tracing.workspace = true
tempfile = "3.9.0"
ffmpeg.workspace = true
Expand Down
8 changes: 4 additions & 4 deletions apps/desktop/src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2235,17 +2235,17 @@ pub async fn run(recording_logging_handle: LoggingHandle) {
})
.build(tauri_context)
.expect("error while running tauri application")
.run(move |handle, event| match event {
.run(move |_handle, event| match event {
#[cfg(target_os = "macos")]
tauri::RunEvent::Reopen { .. } => {
let has_window = handle.webview_windows().iter().any(|(label, _)| {
let has_window = _handle.webview_windows().iter().any(|(label, _)| {
label.starts_with("editor-")
|| label.as_str() == "settings"
|| label.as_str() == "signin"
});

if has_window {
if let Some(window) = handle
if let Some(window) = _handle
.webview_windows()
.iter()
.find(|(label, _)| {
Expand All @@ -2258,7 +2258,7 @@ pub async fn run(recording_logging_handle: LoggingHandle) {
window.set_focus().ok();
}
} else {
let handle = handle.clone();
let handle = _handle.clone();
tokio::spawn(async move {
let _ = ShowCapWindow::Main.show(&handle).await;
});
Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/(org)/dashboard/caps/components/Folders.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use client";

import { Fit, Layout, RiveFile, useRive } from "@rive-app/react-canvas";
import { Fit, Layout, type RiveFile, useRive } from "@rive-app/react-canvas";
import React, { useImperativeHandle } from "react";
import { useTheme } from "../../Contexts";

Expand Down
Loading
Loading