From 311fda649fccd8b6c29103b67cf12fcbfb6f26bc Mon Sep 17 00:00:00 2001 From: Jordan Yelloz Date: Wed, 10 Jan 2024 09:50:00 -0700 Subject: [PATCH] livekit_signaller: Added high-quality layer for video streams This change addresses a cosmetic issue with livekit, where the connection quality indicator seen by other users shows bad quality unless the track is added with a high quality layer. The details of the layer submitted aren't significant for this purpose. Part-of: --- net/webrtc/src/livekit_signaller/imp.rs | 34 +++++++------------------ 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/net/webrtc/src/livekit_signaller/imp.rs b/net/webrtc/src/livekit_signaller/imp.rs index e0aa1c71..e9ad0af7 100644 --- a/net/webrtc/src/livekit_signaller/imp.rs +++ b/net/webrtc/src/livekit_signaller/imp.rs @@ -395,30 +395,14 @@ impl SignallableImpl for Signaller { } } - // let layers = if mtype == proto::TrackType::Video { - // let ssrc = if let Some(attr) = media.attribute_val("ssrc") { - // let mut split = attr.split_whitespace(); - // if let Some(ssrc_str) = split.next() { - // ssrc_str.parse().unwrap_or(0) - // } else { - // 0 - // } - // } else { - // 0 as u32 - // }; - - // gst::debug!(CAT, imp: imp, "Adding video track {mid} with ssrc {ssrc}"); - // vec![ proto::VideoLayer { - // quality: proto::VideoQuality::High as i32, - // width: 1280, - // height: 720, - // bitrate: 5000, - // ssrc - // }] - // } else { - // gst::debug!(CAT, imp: imp, "Adding audio track {mid}"); - // Vec::new() - // }; + let layers = if mtype == proto::TrackType::Video { + vec![proto::VideoLayer { + quality: proto::VideoQuality::High as i32, + ..Default::default() + }] + } else { + vec![] + }; let req = proto::AddTrackRequest { cid: trackid.to_string(), @@ -428,7 +412,7 @@ impl SignallableImpl for Signaller { source: msource, disable_dtx: true, disable_red, - // layers: layers, + layers, ..Default::default() };