-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Simulcast Improvements #1345
Comments
@jbrady42 do you have any bandwidth to help with these? (if not that is ok!) Fantastic work on the Simulcast so far, I was super excited to merge it :) I tried to cleanup stuff as I went. |
I am taking this, will work on this during the weekend! |
When a new SSRC is seen we start a Read loop for the packets. However if we only see one packet this loop will just sit forever. If a user doesn't send us enough packets to finish probing it will prevent any subsequent streams from being probed. Relates to #1345
When a new SSRC is seen we start a Read loop for the packets. However if we only see one packet this loop will just sit forever. If a user doesn't send us enough packets to finish probing it will prevent any subsequent streams from being probed. Relates to #1345
When a new SSRC is seen we start a Read loop for the packets. However if we only see one packet this loop will just sit forever. If a user doesn't send us enough packets to finish probing it will prevent any subsequent streams from being probed. Relates to #1345
Issue/sub-issue tweaking the simulcast example so it doesn't feed the media back to the browser causes an issue where OnTrack has blank Rids for the simulcast tracks Correct output from
Repo with issue, last commit is changes to realize the bug: Jsfiddle needed for issue: (also in the repo linked) |
@cameronelliott I think that happens when there is only one media on SDP. If you disabled above peerConnection code, it gets proper rid and creates ssrc. |
Will be used by Simulcast renegotation tests as well Relates to #1345
Will be used by Simulcast renegotation tests as well Relates to pion#1345
Simulcast has landed! This a list of improvements I think would be great to see before
/v3
is tagged.Support SSRC Based Simulcast
FireFox uses SSRCes instead of
rid
andmid
. We should support this as well.Refactor/Cleanup RTPReceiver
Rename
trackStreams
->readerStreams
. A lot more stuff will fall into place when multipleonTrack
paths are removed.Updateexamples/simulcast
to respond to remote Session DescriptionCurrently the example is tightly coupled with the frontend code. It would be nice if the backend dynamically constructed tracks depending on how many Simulcast layers the offerer is sending.
Implementing ReadRTCP for Simulcast Streams
Update
Read
to allow users to pass in the SSRC as well? Maybe we don't break the API and assumereaderStreams[0]
if no SSRC is passed? 6540022Remove multiple OnTrack paths
Remove the goroutine from
startReceiver
. Everything should instead just react it incoming SSRCes. We could renamehandleUndeclaredSSRC
to be something likeonNewIncomingSSRC
.E2E Tests
Currently we just have unit testing, but no examples of E2E testing. Would be fine to send packets manually now. If easy might be worth adding proper Simulcast client support.
Fix Simulcast Probing deadlock
Currently if a sender doesn't send enough packets
handleUndeclaredSSRC
can hang forever. This prevents probing taking place on other streams. We should fire a goroutine per stream we want to probe. 70fb90cThe text was updated successfully, but these errors were encountered: