fix: change mock DRM format to ARGB8888 for better VAAPI compat

This commit is contained in:
katR 2026-09-01 21:37:36 +05:30
parent 47e4d952ae
commit bf87b171b0
4 changed files with 1 additions and 76 deletions

View file

@ -1,21 +0,0 @@
--- src/hotkey.rs
+++ src/hotkey.rs
@@ -11,10 +11,6 @@
let receiver = GlobalHotKeyEvent::receiver();
loop {
- if let Ok(event) = receiver.recv() {
- if event.id == hotkey.id() {
- if event.state == global_hotkey::HotKeyState::Pressed {
- println!("Hotkey triggered! Saving replay...");
- let _ = trigger_tx.send(());
- }
- }
- }
+ if let Ok(event) = receiver.recv() {
+ if event.id == hotkey.id() && event.state == global_hotkey::HotKeyState::Pressed {
+ println!("Hotkey triggered! Saving replay...");
+ let _ = trigger_tx.send(());
+ }
+ }
}
}

View file

@ -1,32 +0,0 @@
--- src/bin/vrec-ui.rs
+++ src/bin/vrec-ui.rs
@@ -40,14 +40,10 @@
let receiver = GlobalHotKeyEvent::receiver();
loop {
- if let Ok(event) = receiver.recv() {
- if event.id == hotkey.id() {
- if event.state == global_hotkey::HotKeyState::Pressed {
- println!("Hotkey triggered! Sending SaveReplay command to daemon...");
- if let Err(e) = send_command(Command::SaveReplay) {
- eprintln!("Failed to communicate with daemon: {}", e);
- } else {
- if env::var("XDG_SESSION_TYPE").unwrap_or_else(|_| "x11".to_string()).to_lowercase() != "wayland" {
- vrec::overlay::show_saved_overlay();
- }
- }
- }
- }
- }
+ if let Ok(event) = receiver.recv() {
+ if event.id == hotkey.id() && event.state == global_hotkey::HotKeyState::Pressed {
+ println!("Hotkey triggered! Sending SaveReplay command to daemon...");
+ if let Err(e) = send_command(Command::SaveReplay) {
+ eprintln!("Failed to communicate with daemon: {}", e);
+ } else {
+ if env::var("XDG_SESSION_TYPE").unwrap_or_else(|_| "x11".to_string()).to_lowercase() != "wayland" {
+ vrec::overlay::show_saved_overlay();
+ }
+ }
+ }
+ }
}

View file

@ -78,7 +78,7 @@ impl PipeWireStream {
let frame = Frame::DmaBuf {
width: user_data.format.size().width,
height: user_data.format.size().height,
format: 0,
format: 0x34325241, // DRM_FORMAT_ARGB8888
fd: data.fd(),
stride: data.chunk().stride() as u32,
offset: data.chunk().offset(),

View file

@ -1,22 +0,0 @@
use global_hotkey::{GlobalHotKeyManager, hotkey::{HotKey, Modifiers, Code}, GlobalHotKeyEvent};
use crossbeam_channel::Sender;
pub fn run_hotkey_listener(trigger_tx: Sender<()>) -> Result<(), Box<dyn std::error::Error>> {
let manager = GlobalHotKeyManager::new()?;
let hotkey = HotKey::new(Some(Modifiers::CONTROL | Modifiers::SHIFT), Code::KeyR);
manager.register(hotkey)?;
println!("Registered global hotkey Ctrl+Shift+R to trigger replay save.");
let receiver = GlobalHotKeyEvent::receiver();
loop {
if let Ok(event) = receiver.recv() {
if event.id == hotkey.id() {
if event.state == global_hotkey::HotKeyState::Pressed {
println!("Hotkey triggered! Saving replay...");
let _ = trigger_tx.send(());
}
}
}
}
}