[jitsi-dev] [jitsi-videobridge] Fix setting RTP relay type to mixer (#129)


#1

(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:

  https://github.com/jitsi/jitsi-videobridge/pull/129

-- 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 --

https://github.com/jitsi/jitsi-videobridge/pull/129.patch
https://github.com/jitsi/jitsi-videobridge/pull/129.diff

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129


#2

This also looks good (and passes our torture tests), but same note as for #128: please fix the formatting.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-186426946


#3

Formatting fixed.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-187247795


#4

Merged #129.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#event-559970403


#5

Thank you!

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-187267798


#6

@joqn is mixer mode working for you on the bridge? i'm on master as of yesterday and when i set the relay mode to mixer i get no audio at all on any of the participants.

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-205567253


#7

Mixer is working for us, but we are not at very latest master, and also, we use our own client, and set up Jitsi via the REST interface.

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-206326615


#8

@joqn thanks, could you tell me what revision you're on? we're using our own client and the rest interface as well. i see the channel relay type gets set to mixer, but we don't get any audio.

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-206423528


#9

So far we are based on c55c809b6e8b0dc3c26372b25eff861c69c11fe3.

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-206432955


#10

@joqn thanks...i tried that revision but still no luck. tried with and without last-n configured. do you have any other settings applied? anything in sip-communicator.properties maybe?

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-206617884


#11

also, what audio codec are your clients sending? we're doing opus, wondering if it's related to that.

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/pull/129#issuecomment-206633764