(This PR includes https://github.com/jitsi/jitsi-videobridge/pull/128 in terms of test infrastructure, please accept that one before).
This fixes the first part of https://github.com/jitsi/jitsi-videobridge/issues/102 and presumably also https://github.com/jitsi/jitsi-videobridge/issues/9
The problem was:
RtpChannel.initialize calls transportConnected because for RawUdpTransportManager, isConnected is immediately true. Then transportConnected -> maybeStartStream -> getRTPLevelRelayType
As the RTP level type is not yet set at this point in time, it will be set to the default TRANSLATOR in getRTPLevelRelayType.
There is explicitly a comment stating
* We've postponed the invocation of the method
* getRTPLevelRelayType() in order to make sure that the conference
* focus has had a chance to set the RTP-level relay type. We have
* to invoke the method MediaStream#setSSRCFactory(SSRCFactory)
* before starting the stream.
but it's just not true before the patch proposed here.
You can view, comment on, or merge this pull request online at:
-- Commit Summary --
* Use getLocalHostLanAddress to avoid using 127.0.0.1 as the local IP address.
* Set rtpLevelRelayType earlier, so that it stays mixer instead of the default translator.
* Add failing test RawUdpConferenceTest.testMixerChannel.
* Move declaration of local variable closer to its usage.
-- File Changes --
M src/main/java/org/jitsi/videobridge/Content.java (10)
M src/main/java/org/jitsi/videobridge/RawUdpTransportManager.java (82)
M src/main/java/org/jitsi/videobridge/RtpChannel.java (21)
M src/main/java/org/jitsi/videobridge/VideoChannel.java (9)
M src/main/java/org/jitsi/videobridge/Videobridge.java (21)
M src/main/java/org/jitsi/videobridge/rest/Health.java (3)
A src/test/java/org/jitsi/videobridge/RawUdpConferenceTest.java (116)
M src/test/java/org/jitsi/videobridge/VideoBridgeTestSuite.java (1)
-- Patch Links --
Reply to this email directly or view it on GitHub: