Expand my Community achievements bar.

P2P Issues continue in 0.92

Avatar

Level 2

Hi Guys, I upgraded from 0.91 to the 0.92 version of the SDK and we are still experiencing the issues where clients do not gracefully switch from P2P to hub/spoke mode.

We offer a "reset audio" function in our app that resets all Cocomo connections, and our users reported that doing a reset once everyone was in the room made the issue appear resolved for 5-10 minutes before it started happening again.

My thoughts are this, people come and go from a room, and as such, the logic is switching back and forth between P2P and hub/spoke based on how many active participants there are in a room.  This seems to be causing some headaches in the user experience.

From my earlier question, it was stated that the only way to turn of P2P was to not use the UDP based protocol, but we had to switch to that to get the right audio quality and connection performance.  So, what do I do now?  Any suggestions?

Thanks,

Steve

5 Replies

Avatar

Former Community Member

Hi Steve,

This is very strange - we battled a bug earlier this year that sounds nearly identical to what you're describing, and fixed it (for a customer, who hasn't complained since). Are we sure that this problem is happening as a result of a switch from P2P to hub and spoke? If you add an eventListener to audioSubscriber - StreamEvent.CONNECTION_TYPE_CHANGE, does the drop in audio coincide with the event? If this is true, then we can zero in on that code.

What we'd encountered last time with this issue was that we'd discovered (with the help of the Player team) that calling Microphone.silenceLevel with a value other than 0 doesn't work correctly with Speex. Are you, by any chance, setting the silenceLevel of Microphone, MicrophoneManager, or AudioPublisher? Looking through the code, we do default to 0, but don't prevent you from setting it to something that may break.. We should fix this =).

Hope that helps

nigel

Avatar

Level 2

I checked through the code and we are not using silenceLevel.  But, we do allow our players to mute their microphone to hide background noise when they aren't actually engaged, we do a false mute my setting the"gain" to 0 on the microphone and then switching it back to a normal level when they want to "un-mute".

This happens very frequently, any chance that might be throwing things off somehow?

I will add the event handler you mentioned and see if I can get a good trace of what is happening.

Thanks,

Steve

Avatar

Level 2

I am now modifying the code to add the listener for the CONNECTION_TYPE_CHANGE, but wanted to know what properties of the event of is there another object property I use to log the connection type (P2P/Hub and Spoke)?  Not finding anything in the src or docs.

Thanks,

Steve

Avatar

Level 2

Never mind, I found the isP2P off of the StreamManager from the ConnectSession - but the docs definitely need updating since the isP2P property is not documented nor is the CONNECTION_TYPE_CHANGE event type.  Also, the src doesn't have them either.

Avatar

Former Community Member

Hi,

The docs that we provide is for the player 9 swc. We haven't yet started providing the source or the doc for P2P and other player 10 stuff.

Thanks

Hironmay Basu