Swap shared screen with video



We start our sessions in dual screen mode and share one of the monitors, clients that join with dual monitors show the share on one monitor and the video on the other monitor. However we also have single monitor PCs that join the same session. These PCs will show the screen share with the video in floating thumbnail. On these PCs we want to see the video, not the share. When using Zoom client, there is an option in the floating window called “Swap shared screen with video” which does what we need.

How can I do this from Zoom SDK?





After experimenting I find that I can sometimes show the video instead of the share by simply pinning the video from SDK. However it does not always work. The log snippet below shows that the first pin fails with SDKERR_SERVICE_FAILED. If I pin another user and then pin the user I want it seems to work. This log was taken from machine “WA_Class2”. The session was started from “Bill Gardner” which is sharing monitor.

17:02:44.239 MainComp onUserJoin:User (WA_Class2) userid(16780288), IsHost(0), IsVideoOn(1)
17:02:44.258 MainComp onUserJoin:User (WA_Class1) userid(16778240), IsHost(1), IsVideoOn(1)
17:02:44.260 MainComp onUserJoin:User (Bill Gardner) userid(16779264), IsHost(0), IsVideoOn(1)

17:02:46.235 MeetingServiceMgr onSharingStatus: status 4, userId 16779264
17:02:46.235 MainComp onSharingStatus: status 4 (Sharing_View_Other_Sharing), userId 16779264

17:03:20.559 DemoUI PinVideo: pin 1 isFirst 1 userID 16779264
17:03:20.559 MeetingServiceMgr PinVideo returned 6 (SDKERR_SERVICE_FAILED)
17:03:57.894 DemoUI PinVideo: pin 1 isFirst 1 userID 16778240
17:03:57.935 MeetingServiceMgr PinVideo returned 0 (SDKERR_SUCCESS)
17:04:16.063 DemoUI PinVideo: pin 1 isFirst 1 userID 16779264
17:04:16.063 MeetingServiceMgr PinVideo returned 0 (SDKERR_SUCCESS)



It seems the SDKERR_SERVICE_FAILED happens when I have already pinned the user prior to Sharing_View_Other_Sharing message. If I unpin and then pin again it works.