The red camera icon in chrome browser is not disappearing even after calling destroyClient API

Description
The red camera icon displayed in chrome browser tab is not disappearing even after calling destroyClient API

Which Web Video SDK version?
Video SDK Web 1.3.0

Steps to reproduce the behavior:

  1. Go to zoom screen
  2. Navigate to some other screen. destroyClient API is called before navigating to another screen.

Screenshot
Untitled2

  • Device: [e.g. Desktop]
  • OS: [e.g. Windows]
  • Browser: [e.g. Chrome ]
  • Browser Version 105.0.5195.53 (Official Build) (64-bit)

Hey @kvr

Was the camera still working after calling the destroyClient method?
If convenient, could you share the code snippet about this issue?

Thanks
Vic

Hi Vic,

  The camera light is still ON after calling the destroyClient method.  We tried with video SDK web version 1.3.9 and 1.4.1. The behavior is the same. We are showing a different screen after calling the destroyClient API. So, Not sure if the camera is still working.

Our web application is loading the index.umd.js and calling the Video SDK apis.

    if(typeof WebVideoSDK !== 'undefined'){
        WebVideoSDK.default.destroyClient();
    }

Please let me know if you need more information.

Hey @kvr

I test it on my device, and it works. I saw you were using the Video SDK by UMD, have you mixed the use of UMD and ESM? Such as the following example:

<!DOCTYPE html>
<html>
<head>
... 
<script src="[link to Video SDK Web entry]"></script>
</head>
...

</html>
import ZoomVideo from '@zoom/videosdk';
let client = ZoomVideo.createClient();
/** some preparations for using the SDK  */
...

stream.startVideo();

/** destroy the client,using the UMD instance */
if(typeof WebVideoSDK !== 'undefined'){
  WebVideoSDK.default.destroyClient();
}

Thanks
Vic

Hi Vic,

Thanks for the response. We are not importing the videosdk module. We are only using “WebVideoSDK” for getting the client instance and mediastream instance. The version number of video SDK mentioned in the previous post is incorrect. We tried with video SDK web version 1.3.0 and 1.4.1

client = WebVideoSDK.default.createClient();

Thanks
Krishnan

Hi Vic,

Is there any solution for this issue?

Thanks
Krishnan

Hey @kvr

I have tested it on my device, but cannot reproduce it. Could you please provide the code snippet for using the VideoSDK, from creating to destroying?

Thanks
Vic

Hi Vic,

   Please find the below code snippet. We are loading the index.umd.js at runtime in the **Vuejs** component.

client = WebVideoSDK.default.createClient();

//creating the mediastream from the client

audioTrack = WebVideoSDK.default.createLocalAudioTrack();
videoTrack = WebVideoSDK.default.createLocalVideoTrack();

client.init(‘en-US’, ‘Global’);

//On connection-change change to “connected”
mediaStream = client.getMediaStream();

//When the Vuejs component is destroyed
if(typeof WebVideoSDK !== ‘undefined’){
WebVideoSDK.default.destroyClient();
}

Pls let me know if you need more information
Thanks
Krishnan

Hey @kvr

I saw you created a ‘videoTrack’, did you intend to use it to preview the video before joining the session?

If you used it as follows:

videoTrack.start(videoElement);

Please make sure to call videoTrack.stop() before leaving session or destroying the component.

Thanks
Vic