Added support for VP9 simulcasting #1494
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since it was announced that Chrome Canary now supports simulcasting for VP9 too, I tweaked the Janus code to allow you to use it. Luckily enough, I didn't need to change much: in fact, we already had code to parse temporal scalability info in VP9 payload descriptors (for SVC), so I just had to hook that up to the simulcast code, and loosen up some checks we had in the plugins that do simulcasting.
From a quick check (I only tested with the EchoTest plugin, by passing the
?simulcast=true&vcodec=vp9
query string to the demo), it seems to be working, with a small caveat: I do see temporal layers, and I can select them, but I never see SSRC changes, which seems to suggest the other substreams are not being sent. The resolution in the only SSRC I get is quite high, so that seems to confirm it. I'll check if it is a bug in Chrome.Planning to merge soon, so if you have objections please let me know.