What version of Janus is this happening on?
Janus 1303 (1.3.3), built from latest master.
Have you tested a more recent version of Janus too?
Yes, tested on latest master as well. Behavior is identical.
Was this working before?
Not sure. This does not look like a regression.
This is more a question about current behavior/design rather than something that previously worked.
Is there a gdb or libasan trace of the issue?
Not applicable (no crash or memory issue).
This is about RTP simulcast/layer selection behavior only.
Additional context
We are experimenting with H265/HEVC in VideoRoom.
When Chrome publishes H265 with simulcast enabled, multiple SSRCs are sent.
Example from the offer:
a=ssrc-group:SIM 2962795760 2719491959 2339202009
Janus correctly detects simulcast:
Publisher stream is going to do simulcasting (#1, 1)
However, during runtime Janus repeatedly logs:
We need a PLI for the simulcast context
and never seems to switch to higher layers. In practice only the first SSRC
(lowest resolution) is forwarded.
Because Chrome starts simulcast layers progressively (low → mid → high),
this results in Janus effectively locking onto the lowest quality layer.
For VP8/VP9 this is usually fine, but for H265 this makes quality unusable.
There is no crash or malfunction — this looks like missing layer selection logic
rather than a bug.
Questions:
- Is H265 simulcast officially supported in VideoRoom?
- Is layer selection/switching for H265 planned?
- Or is the expected usage single-stream only for H265?
We can work around this by stripping simulcast in our signaling layer,
but wanted to confirm the intended design direction first.
Thanks!
What version of Janus is this happening on?
Janus 1303 (1.3.3), built from latest master.
Have you tested a more recent version of Janus too?
Yes, tested on latest master as well. Behavior is identical.
Was this working before?
Not sure. This does not look like a regression.
This is more a question about current behavior/design rather than something that previously worked.
Is there a gdb or libasan trace of the issue?
Not applicable (no crash or memory issue).
This is about RTP simulcast/layer selection behavior only.
Additional context
We are experimenting with H265/HEVC in VideoRoom.
When Chrome publishes H265 with simulcast enabled, multiple SSRCs are sent.
Example from the offer:
a=ssrc-group:SIM 2962795760 2719491959 2339202009
Janus correctly detects simulcast:
Publisher stream is going to do simulcasting (#1, 1)
However, during runtime Janus repeatedly logs:
We need a PLI for the simulcast context
and never seems to switch to higher layers. In practice only the first SSRC
(lowest resolution) is forwarded.
Because Chrome starts simulcast layers progressively (low → mid → high),
this results in Janus effectively locking onto the lowest quality layer.
For VP8/VP9 this is usually fine, but for H265 this makes quality unusable.
There is no crash or malfunction — this looks like missing layer selection logic
rather than a bug.
Questions:
We can work around this by stripping simulcast in our signaling layer,
but wanted to confirm the intended design direction first.
Thanks!