Skip to content
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

Tentative first pass at making simulcast egest possible #312

Draft
wants to merge 38 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2742632
Tentative first pass at making simulcast egest possible
robashton Oct 7, 2022
d4160e1
Fix the tests (for now)
robashton Oct 7, 2022
9fdf70b
clippy warnings (I guess I need to update/downgrade my rust)
robashton Oct 7, 2022
ec670b4
Re-instate changes from #217
robashton Oct 10, 2022
4974cf4
Replace the mutex on track_encodings with a RwLock
robashton Oct 10, 2022
379f403
Initial feedback from PR
robashton Oct 10, 2022
21607ac
Make Rid an Option<String> and see how that falls out
robashton Oct 11, 2022
a3c2a20
revert change to log (that I did when I was debugging my own stuff\!)
robashton Oct 11, 2022
d6ff71d
unique track ids in stats
robashton Oct 11, 2022
d4c27fc
debug impl for TrackLocalContext
robashton Oct 11, 2022
19fc8e9
ensure we only do simulcast send directives if we're doing a send on …
robashton Oct 11, 2022
acef0fd
apparently format! is a thing
robashton Oct 11, 2022
ac59df1
a few things in rtp_sender that we didn't ike
robashton Oct 11, 2022
4b04180
unnecessary clone now it's an option
robashton Oct 11, 2022
246044e
typo (got vimmed)
robashton Oct 11, 2022
850fcb5
Tentative first pass at making simulcast egest possible
robashton Oct 7, 2022
e20c15d
Fix the tests (for now)
robashton Oct 7, 2022
866965e
clippy warnings (I guess I need to update/downgrade my rust)
robashton Oct 7, 2022
25cedc0
Re-instate changes from #217
robashton Oct 10, 2022
2972dd5
Replace the mutex on track_encodings with a RwLock
robashton Oct 10, 2022
55bc75c
Initial feedback from PR
robashton Oct 10, 2022
8a59116
Make Rid an Option<String> and see how that falls out
robashton Oct 11, 2022
f780884
revert change to log (that I did when I was debugging my own stuff\!)
robashton Oct 11, 2022
9707863
unique track ids in stats
robashton Oct 11, 2022
ffad0b5
debug impl for TrackLocalContext
robashton Oct 11, 2022
6b23661
ensure we only do simulcast send directives if we're doing a send on …
robashton Oct 11, 2022
7853a8d
apparently format! is a thing
robashton Oct 11, 2022
afe4dcb
a few things in rtp_sender that we didn't ike
robashton Oct 11, 2022
b64f163
unnecessary clone now it's an option
robashton Oct 11, 2022
6a24250
typo (got vimmed)
robashton Oct 11, 2022
fd84deb
don't hold onto that lock, or we hang
robashton Oct 13, 2022
f5857dd
some more tweaks
robashton Oct 13, 2022
5aa6864
merge from upstream
robashton Oct 13, 2022
6996968
Merge branch 'simulcast-egest' of github.com:robashton/webrtc into si…
robashton Oct 13, 2022
7da6936
removed comments
robashton Oct 13, 2022
5007093
revert method order
robashton Oct 13, 2022
7114d5e
remove read_simulcast_rtcp as we can't see a reason why it needs to e…
robashton Oct 13, 2022
7c03a11
Option<String> on structs, Option<&str> on traits (for rid anyway)
robashton Oct 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion webrtc/src/peer_connection/peer_connection_internal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1542,7 +1542,9 @@ impl PeerConnectionInternal {

let encodings = sender.track_encodings.read().await;
for e in encodings.iter() {
let track_id = track.id().to_string();
let track_id = track.rid().map_or(track.id().to_string(), |rid| {
track.id().to_string() + "-" + rid.as_str()
robashton marked this conversation as resolved.
Show resolved Hide resolved
});
track_infos.push(TrackInfo {
track_id,
ssrc: e.ssrc,
Expand Down
11 changes: 11 additions & 0 deletions webrtc/src/track/track_local/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ pub struct TrackLocalContext {
pub(crate) rtcp_reader: Option<Arc<dyn RTCPReader + Send + Sync>>,
}

impl std::fmt::Debug for TrackLocalContext {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("TrackLocalContext")
.field("id", &self.id)
.field("params", &self.params)
.field("ssrc", &self.ssrc)
.field("write_stream", &self.write_stream)
.finish()
}
}

impl TrackLocalContext {
/// codec_parameters returns the negotiated RTPCodecParameters. These are the codecs supported by both
/// PeerConnections and the SSRC/PayloadTypes
Expand Down