-
-
Notifications
You must be signed in to change notification settings - Fork 410
Tentative first pass at making simulcast egest possible #312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 15 commits
2742632
d4160e1
9fdf70b
ec670b4
4974cf4
379f403
21607ac
a3c2a20
d6ff71d
d4c27fc
19fc8e9
acef0fd
ac59df1
4b04180
246044e
850fcb5
e20c15d
866965e
25cedc0
2972dd5
55bc75c
8a59116
f780884
9707863
ffad0b5
6b23661
7853a8d
afe4dcb
b64f163
6a24250
fd84deb
f5857dd
5aa6864
6996968
7da6936
5007093
7114d5e
7c03a11
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -198,7 +198,7 @@ impl RTPReceiverInternal { | |
|
||
let tracks = self.tracks.read().await; | ||
for t in &*tracks { | ||
if t.track.rid() == rid { | ||
if t.track.rid().map_or(false, |r| r == rid) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think when comparing to an option There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IIRC, you can't just do a If the left hand type can be changed then this would go away. If you have a suggestion for this then please do tell (I did start with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can do There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's a neat little feature - would there be benefit in changing the type of track.rid()? It's mostly used in checks just like this anyway There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's a good point actually, it should be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah okay, |
||
if let Some(rtcp_interceptor) = &t.stream.rtcp_interceptor { | ||
let a = Attributes::new(); | ||
|
||
|
@@ -529,6 +529,7 @@ impl RTCRtpReceiver { | |
let stream_info = create_stream_info( | ||
"".to_owned(), | ||
encoding.ssrc, | ||
None, | ||
0, | ||
codec.clone(), | ||
&global_params.header_extensions, | ||
|
@@ -586,6 +587,7 @@ impl RTCRtpReceiver { | |
let stream_info = create_stream_info( | ||
"".to_owned(), | ||
rtx_ssrc, | ||
None, | ||
0, | ||
codec.clone(), | ||
&global_params.header_extensions, | ||
|
@@ -654,7 +656,7 @@ impl RTCRtpReceiver { | |
let mut encodings = vec![RTCRtpDecodingParameters::default(); encoding_size]; | ||
for (i, encoding) in encodings.iter_mut().enumerate() { | ||
if incoming.rids.len() > i { | ||
encoding.rid = incoming.rids[i].clone(); | ||
encoding.rid = Some(incoming.rids[i].clone()); | ||
} | ||
if incoming.ssrcs.len() > i { | ||
encoding.ssrc = incoming.ssrcs[i]; | ||
|
@@ -749,7 +751,7 @@ impl RTCRtpReceiver { | |
) -> Result<Arc<TrackRemote>> { | ||
let mut tracks = self.internal.tracks.write().await; | ||
for t in &mut *tracks { | ||
if t.track.rid() == rid { | ||
if t.track.rid().map_or(false, |r| r == rid) { | ||
t.track.set_kind(self.kind); | ||
if let Some(codec) = params.codecs.first() { | ||
t.track.set_codec(codec.clone()).await; | ||
|
@@ -777,7 +779,7 @@ impl RTCRtpReceiver { | |
let mut tracks = self.internal.tracks.write().await; | ||
let l = tracks.len(); | ||
for t in &mut *tracks { | ||
if (ssrc != 0 && l == 1) || t.track.rid() == rsid { | ||
if (ssrc != 0 && l == 1) || t.track.rid().map_or(false, |r| r == rsid) { | ||
t.repair_stream = repair_stream; | ||
|
||
let receive_mtu = self.receive_mtu; | ||
|
Uh oh!
There was an error while loading. Please reload this page.