You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by "Konstantin Kuzov (Jira)" <ji...@apache.org> on 2020/10/27 06:56:00 UTC

[jira] [Resolved] (OPENMEETINGS-2496) a/v connection regression

     [ https://issues.apache.org/jira/browse/OPENMEETINGS-2496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konstantin Kuzov resolved OPENMEETINGS-2496.
--------------------------------------------
    Resolution: Fixed

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