Spotlight call-back routine gives inconsistent results

I’m using the Windows Client SDK with the C# wrapper, both versions 5.4.54802.0124, with Visual Studio 2019.

I’m sending a sequence of spotlight and unspotlight instructions using the SpotlightVideo and UnSpotlightVideo calls. I have defined a callback routine using onSpotlightVideoChangeNotification. Having called (Un)SpotlightVideo once I wait for the callback routine to be called before calling (Un)SpotlightVideo again.

The parameters to the callback routine (bool bSpotlight and uint userid) are sometimes set as I would expect, but sometimes not, in any of 3 ways:

  1. After a successful SpotlightVideo call bSpotlight is false and userid is zero.
  2. After a successful UnSpotlightVideo call bSpotlight is true and userid is set to a user that was already and is still spotlighted.
  3. After a successful SpotlightVideo or UnSpotlightVideo call the callback routine is not called.

Can anyone suggest what I can do to reliably send a sequence of (un)spotlight calls?

Thanks,

Mark

1 Like

Hey @mark.itzcovitz,

Thanks for using the dev forum!

After some extensive testing, I believe I am seeing a similar behavior (I was using the C++ demo application).

  • I joined a meeting with 3 devices: A mac running the mac client application, an iPad running the iOS client application, and a windows machine running the SDK.
  • The mac was the host (just to keep things simple).
  • On the mac I spotlighted the iPad, and saw the breakout room callback on the windows SDK with bSpotlight returning true and userID being the userID of the iPad.
  • I then (un)spotlighted the iPad from the mac and saw the callback return false and 0.
  • So no issues yet.
  • Then I spotlighted the mac, then added a spotlight of the windows SDK.
  • When I added the windows machine as a second spotlight, the callback returned true and the userID for the windows machine.
  • But then I (un)spotlighted the iPad and got false and 0, which doesn’t really make sense.

I am going to file a bug report for this to see if the engineers can investigate further. Would you be able to get the SDK logs and Dump from an instance of your application where you saw inconsistent callbacks, then attach them to an email to DeveloperSupport@zoom.us? Please provide a link to this post in your email and mention my name.

Thanks!
Michael

Hi.
I am seeing the same thing, and somethimes the GetSpotlightedUserList returns an ID (not 0) that does not exist in the meeting…

Hey @bm.erikstad,

Thank you for providing the additional context, that is very helpful information :slight_smile:

Thanks!
Michael

Thanks @Michael_Condon and @bm.erikstad. I have emailed developer support as suggested.

Michael, there are a couple of things I’m not clear about in the description of your testing. You say “I then (un)spotlighted the iPad from the mac and saw the callback return false and 0” and seemed to think that was correct. Maybe I’m not understanding how it works, but shouldn’t the callback have returned the userID for the iPad rather than zero? Shouldn’t it always give the userID of the user for which the operation has just completed?

Also, you say “Then I spotlighted the mac, then added a spotlight of the windows SDK” but you don’t say that the callback was called for spotlighting the mac; shouldn’t it have been if it wasn’t?

Thanks,

Mark

Hey @mark.itzcovitz,

I understand the confusion here. My understanding of this callback was that the userID is 0 when there is no longer a spotlighted user. As in, the userID is supposed to be the userID of the current spotlighted user. Regardless, the callback is behaving incorrectly.

I spoke with the engineers to get some clarification on this callback, and there is some good news. This callback was made when Zoom only supported spotlighting a single user at a time. Since then, a new feature allows for multiple users to be spotlighted simultaneously. However, this callback was not modified since then, which is why this callback behaves illogically. The next version of the SDK will deprecate this callback and replace it with one that will provide a list of users who are currently spotlighted.

CC: @bm.erikstad

Thanks!
Michael

Thanks, @Michael_Condon, that makes total sense now. I’ll look forward to the next version but meanwhile I can use it as it is as long as I only try to do one operation at a time.

Regards,

Mark

Hey @mark.itzcovitz,

Sounds good. From what I can tell, the current callback will always report the userID as 0 when a user is unspotlighted.

Michael

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.