Skip to content

Commit e69e014

Browse files
srperensPer Enstedtclaude
authored
fix: unblock preroll on mpegtssrt output (async=false) (#504)
* fix: set async=false on mpegtssrt output srtsink to unblock preroll In listener mode without a connected client, srtsink holds PAUSED->PLAYING until the first buffer arrives, which blocks pipeline preroll. Matches the pattern used by WHEP/WHIP/AES67 sinks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: offset WHEP session count to clear input port labels Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Per Enstedt <per.enstedt@svt.se> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 4b4cd66 commit e69e014

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

backend/src/blocks/builtin/mpegtssrt.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ impl BlockBuilder for MpegTsSrtOutputBuilder {
233233
// Fixed: 2025-12-01
234234
srtsink.set_property("sync", sync);
235235
srtsink.set_property("qos", true);
236+
// async=false: don't block pipeline preroll waiting for the first buffer.
237+
// In listener mode without a connected client, the sink would otherwise
238+
// hold PAUSED->PLAYING indefinitely. Matches WHEP/WHIP/AES67 sinks.
239+
srtsink.set_property("async", false);
236240

237241
if has_auto_reconnect {
238242
info!(

frontend/src/webrtc_stats.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,12 @@ pub fn show_compact(ui: &mut Ui, stats: &WebRtcStats) {
122122
0.0
123123
};
124124

125-
// Build compact status line (centered)
125+
// Build compact status line. Offset from the left edge so the text
126+
// clears the input port labels (V0/A0) that are drawn just inside
127+
// the block rect.
126128
ui.with_layout(egui::Layout::top_down(egui::Align::Center), |ui| {
127129
ui.horizontal(|ui| {
130+
ui.add_space(30.0);
128131
// Session count with color indicator
129132
let color = if connected_count == session_count && session_count > 0 {
130133
Color32::from_rgb(0, 180, 0)

0 commit comments

Comments
 (0)