Active Speaker Changed callback intermittently won't trigger in 2 participant meetings

Description
Our application relies on the onActiveSpeakerVideoUserChanged callback in order to keep up to date with the current speaker in the zoom meeting. We have found that intermittently in meetings with 2 participants, the callback won’t fire so the SDK is not notified that there is a change in active speaker. Here are some example logs of a meeting where we encountered this issue (user IDs and names are masked):

[2020-05-12 10:01:50.214] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 1 }
[2020-05-12 10:01:50.217] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 1 }
[2020-05-12 10:01:50.218] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 1 }
[2020-05-12 10:01:50.219] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 1 }
[2020-05-12 10:01:50.219] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:01:50.220] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:01:50.220] [debug] onActiveSpeakerVideoUserChanged user2
[2020-05-12 10:01:50.233] [info] meeting status change: 16
[2020-05-12 10:01:50.234] [debug] participants list: [ { userid: user1 }, { userid: user2 } ]
[2020-05-12 10:01:50.244] [debug] new user: {
userName: ‘User 1’,
email: ‘’,
isHost: false,
userID: user1,
isVideoOn: false,
isAudioMuted: false,
isMySelf: true,
userRole: 5,
isPurePhoneUser: false,
WebinarAtendeeStatus: false,
userInfoType: 0
}
[2020-05-12 10:01:50.343] [debug] new user: {
userName: ‘User 2’,
email: ‘’,
isHost: true,
userID: user2,
isVideoOn: true,
isAudioMuted: false,
isMySelf: false,
userRole: 1,
isPurePhoneUser: false,
WebinarAtendeeStatus: false,
userInfoType: 0
}
[2020-05-12 10:01:50.563] [info] meetinguserjoincb [ { userid: user1 } ]
[2020-05-12 10:01:50.564] [debug] participants list: [ { userid: user1 }, { userid: user2 } ]
[2020-05-12 10:01:50.767] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:01:53.296] [debug] onUserAudioStatusChange [ { userid: user1, audioStauts: 2 } ]
[2020-05-12 10:01:53.356] [info] meetinguserjoincb [ { userid: user1 } ]
[2020-05-12 10:01:53.357] [debug] participants list: [ { userid: user1 }, { userid: user2 } ]
[2020-05-12 10:01:54.479] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 0 }
[2020-05-12 10:01:54.480] [debug] onUserVideoStatusChange { userId: user1, videoStatus: 0 }
[2020-05-12 10:02:55.859] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:02:58.861] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:07:20.403] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:07:22.902] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:08:46.252] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:08:48.651] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:21:10.017] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }
[2020-05-12 10:21:13.068] [debug] onUserVideoStatusChange { userId: user2, videoStatus: 0 }

We have logging for whenever the onActiveSpeakerVideoUserChanged callback is triggered. In the logs above you can see that onActiveSpeakerVideoUserChanged fired once near the beginning of the meeting for “user 2” but for the next 20 minutes it does not fire again. Both users were speaking throughout the meeting. One other thing we’ve noticed in this scenario is that yellow highlight around the user’s video screen that normally indicates active speaker does not correctly change to the active speaker. To be explicit, here is the yellow highlight I’m referring to:

So when we encounter this bug, we find that both the yellow highlight is stuck on one participant even when the other participant is the active speaker, and the onActiveSpeakerVideoUserChanged callback is not fired. If a third participant joins the meeting, the onActiveSpeakerVideoUserChanged callback starts firing correctly and the yellow highlight also moves correctly but this functionality is broken throughout a 2 person meeting when encountering this issue.

Which version?
Latest Zoom Electron SDK: v4.6.21666.0428

To Reproduce(If applicable)
Steps to reproduce the behavior (note this is an intermittent issue)

  1. Start a meeting through the Zoom SDK
  2. Have a participant join the meeting
  3. Observe active speaker highlight and callback

Hi nraj,

Thanks for the post and thanks for providing the details. This sounds unexpected. Let me forward this to the engineering team for further investigation and get back to you shortly.

Thanks!

Hi @Carson_Chen,

Any update from the engineering team on this issue?

Thanks,
Nitin

Hi @nraj,

Thanks for the reply. The engineering team is able to locate an issue with the case you were mentioning and we will fix it in the next release.

Thanks!

1 Like

Great, thanks for the update @Carson_Chen!