diff --git a/crates/muninn-daemon/src/main.rs b/crates/muninn-daemon/src/main.rs index 92d1dbf..a70f1b8 100644 --- a/crates/muninn-daemon/src/main.rs +++ b/crates/muninn-daemon/src/main.rs @@ -5053,8 +5053,9 @@ fn srt_endpoint(host: &str, port: u16) -> String { fn rudp_endpoint(host: &str, port: u16, stream_id: &str) -> String { let profile = muninn_rudp_media_profile(); format!( - "rudp://{host}:{port}/{stream_id}?channel=media&format=muninn-typed-media&connection=0x{MUNINN_MEDIA_RUDP_CONNECTION_ID:08x}&profile={}&reliable_expire_after_ms={}&assembly_deadline_ms={}&gap_wait_ms={}", + "rudp://{host}:{port}/{stream_id}?channel=media&format=muninn-typed-media&connection=0x{MUNINN_MEDIA_RUDP_CONNECTION_ID:08x}&profile={}&sender_resend_delay_ms={}&reliable_expire_after_ms={}&assembly_deadline_ms={}&gap_wait_ms={}", profile.profile_id, + profile.sender_resend_delay_ms, profile.sender_reliable_expire_after_ms, profile.receiver_assembly_deadline_ms, profile.receiver_gap_wait_ms @@ -6016,7 +6017,7 @@ mod tests { assert_eq!( plan.targets, vec![ - "rudp://10.77.0.2:5204/muninn.raven.av.rudp?channel=media&format=muninn-typed-media&connection=0x6d750001&profile=muninn.rudp.low_latency_h264_lan.v1&reliable_expire_after_ms=75&assembly_deadline_ms=75&gap_wait_ms=8" + "rudp://10.77.0.2:5204/muninn.raven.av.rudp?channel=media&format=muninn-typed-media&connection=0x6d750001&profile=muninn.rudp.low_latency_h264_lan.v1&sender_resend_delay_ms=5&reliable_expire_after_ms=75&assembly_deadline_ms=75&gap_wait_ms=8" ] ); assert!(!plan.command_line.contains("tee")); diff --git a/docs/muninn-media-streaming.md b/docs/muninn-media-streaming.md index d850cca..71dee74 100644 --- a/docs/muninn-media-streaming.md +++ b/docs/muninn-media-streaming.md @@ -175,9 +175,10 @@ Recommended first LAN profile: budget from receiver feedback; the receiver must not silently stretch latency to preserve visual perfection. - Receiver URL policy: RUDP stream URLs carry `profile`, - `reliable_expire_after_ms`, `assembly_deadline_ms`, and `gap_wait_ms` so the - OBS bridge receives playout budget from Muninn's stream profile instead of - hard-coding receiver policy privately. + `sender_resend_delay_ms`, `reliable_expire_after_ms`, + `assembly_deadline_ms`, and `gap_wait_ms` so the OBS bridge receives timing + budget from Muninn's stream profile instead of hard-coding receiver policy + privately. ### Motion Vectors And Reconstruction