summaryrefslogtreecommitdiff
path: root/crates/renderer/src/overlay/loopback.rs
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-10-23 23:46:15 -0400
committerLLLL Colonq <llll@colonq>2025-10-23 23:46:15 -0400
commitb8d1a8b8074cde3c90b787ee40d8dcbe08caae79 (patch)
tree10e13dbbd0c26f526e190bb984d9958fb3bfad71 /crates/renderer/src/overlay/loopback.rs
parent99a9b8c0bcc345f7044ab18840e78ee9263cae9b (diff)
Adjust segment length
Diffstat (limited to 'crates/renderer/src/overlay/loopback.rs')
-rw-r--r--crates/renderer/src/overlay/loopback.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/renderer/src/overlay/loopback.rs b/crates/renderer/src/overlay/loopback.rs
index b026eb3..c639995 100644
--- a/crates/renderer/src/overlay/loopback.rs
+++ b/crates/renderer/src/overlay/loopback.rs
@@ -6,6 +6,8 @@ use cpal::traits::{DeviceTrait, HostTrait, StreamTrait};
use crate::overlay;
+const SEGMENT_LENGTH: f32 = 4.8;
+
fn ffmpeg_to_adts(sample_rate: u32, samples: &[f32]) -> Option<Vec<u8>> {
let proc = process::Command::new("ffmpeg")
.args([
@@ -15,6 +17,7 @@ fn ffmpeg_to_adts(sample_rate: u32, samples: &[f32]) -> Option<Vec<u8>> {
"-i", "pipe:0",
"-vn",
"-c:a", "aac",
+ "-ar:a", "48000",
"-f", "mpegts",
"pipe:1"
])
@@ -65,7 +68,7 @@ impl Overlay {
&config.into(),
move |samples: &[f32], info| {
buf.extend_from_slice(samples);
- let upload_size = (3 * 2 * sample_rate) as usize;
+ let upload_size = (SEGMENT_LENGTH * 2.0 * sample_rate as f32) as usize;
if buf.len() > upload_size {
upload_sample(&mut redis_conn, sequence, sample_rate, &buf[0..upload_size]);
buf.drain(0..upload_size);