[ https://issues.apache.org/jira/browse/OPENMEETINGS-2496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220727#comment-17220727 ]
ASF subversion and git services commented on OPENMEETINGS-2496: --------------------------------------------------------------- Commit e3401cb8df28a0443d1b7449b406d460092c87a7 in openmeetings's branch refs/heads/master from Maxim Solodovnik [ https://gitbox.apache.org/repos/asf?p=openmeetings.git;h=e3401cb ] [OPENMEETINGS-2496] sdpAnswer and iceCandidate processing performed in 'stable' state > a/v connection regression > ------------------------- > > Key: OPENMEETINGS-2496 > URL: https://issues.apache.org/jira/browse/OPENMEETINGS-2496 > Project: Openmeetings > Issue Type: Bug > Components: Audio/Video > Affects Versions: 5.0.1 > Reporter: Konstantin Kuzov > Assignee: Maxim Solodovnik > Priority: Major > Fix For: 5.1.0 > > > There is regression in a/v connection handshake js code which manifests > itself as some participants randomly not starting to receive feed for some > other participants. But other participants receive them fine and not > receiving some others. It can even be that user A doesn't receive feed from > user B, but user B receiving user A just fine. Reconnecting code doesn't > trigger. Half of the time a/v pod refresh button temporarily fix issue with > particular user. This issue become a more evident a more number of > participants there are in the room. > Introduced in this commit: > https://github.com/apache/openmeetings/commit/446b93a1d74826c9e54626ceaf3c75ee013c3301 > Reverting this commit entirely or making change below seems to fix the issue > at first glance. I'll test this change in production tomorrow. > {code} > --- > a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js > +++ > b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js > @@ -586,7 +586,7 @@ var Video = (function() { > } > function _processIceCandidate(candidate) { > const state = states.length > 0 ? states[0] : null; > - if (!state || state.disposed || !state.data.rtcPeer || > state.data.rtcPeer.cleaned || state.data.rtcPeer.peerConnection.signaling > State === 'stable') { > + if (!state || state.disposed || !state.data.rtcPeer || > state.data.rtcPeer.cleaned) { > return; > } > state.data.rtcPeer.addIceCandidate(candidate, function > (error) { > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)