Skip to content

Commit

Permalink
1.2.5 update (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
mayk-zoom authored Apr 26, 2022
1 parent a75df6b commit 1bc59c0
Show file tree
Hide file tree
Showing 29 changed files with 105 additions and 58 deletions.
14 changes: 12 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
## CHANGELOG
## v1.2.5
### Added:
* Support for audio on iOS Safari
* Support for multiple videos (3 others + 1 self) on Chromium browsers without SharedArrayBuffer. Set the value of `enforceMultipleVideos` to `true` in the `init` method to enable this feature

### Fixed:
* Audio issues on Safari browser
* Unexpected failover when leaving or ending a session on Safari (related to the [NSURLSession WebSocket](https://bugs.webkit.org/show_bug.cgi?id=228296) experimental feature)
* Issue of improperly clearing all sessionStorage when leaving the session
* An edge case issue with session idle timeouts and command channel

## v1.2.3

Expand All @@ -12,7 +22,7 @@

### Known Issue:
On Chromium, video stops playing and goes black when resolution changes to or from 720p. This is caused by a bug in Chromium, which is due to be fixed in Chrome 101, scheduled for release at the end of April. To work around this, you may reduce resolution below 720p; alternatively, if you’d like to continue using 720p, it may help to add a button or messaging to the user to toggle their video on and off

## v1.2.0

### Added:
Expand Down Expand Up @@ -141,4 +151,4 @@ The Video Web SDK provides the ability to experience the following functionality
* Share screen directly from your device
* Send instant chat messages during the session

To get started, visit: [Zoom Video Web SDK Get Started](https://marketplace.zoom.us/docs/sdk/custom/web);
To get started, visit: [Zoom Video Web SDK Get Started](https://marketplace.zoom.us/docs/sdk/custom/web);
2 changes: 1 addition & 1 deletion dist/index.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.umd.js

Large diffs are not rendered by default.

Binary file modified dist/lib/audio.encode.wasm
Binary file not shown.
Binary file modified dist/lib/audio.simd.wasm
Binary file not shown.
4 changes: 2 additions & 2 deletions dist/lib/audio_simd.min.js

Large diffs are not rendered by default.

9 changes: 0 additions & 9 deletions dist/lib/audio_simd_no_sab.min.js

This file was deleted.

4 changes: 2 additions & 2 deletions dist/lib/js_audio_process.min.js

Large diffs are not rendered by default.

9 changes: 0 additions & 9 deletions dist/lib/js_audio_process_no_sab.min.js

This file was deleted.

2 changes: 1 addition & 1 deletion dist/lib/js_audio_worklet.min.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion dist/lib/js_audio_worklet_no_sab.min.js

This file was deleted.

2 changes: 1 addition & 1 deletion dist/lib/js_media.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/sharing_m.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/sharing_mtsimd.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/sharing_s.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/sharing_simd.min.js

Large diffs are not rendered by default.

Binary file modified dist/lib/video.decode.wasm
Binary file not shown.
Binary file modified dist/lib/video.mt.wasm
Binary file not shown.
Binary file modified dist/lib/video.mtsimd.wasm
Binary file not shown.
Binary file modified dist/lib/video.simd.wasm
Binary file not shown.
4 changes: 2 additions & 2 deletions dist/lib/video_m.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/video_mtsimd.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/video_s.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/lib/video_simd.min.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion dist/lib/websipclient.min.js

This file was deleted.

52 changes: 44 additions & 8 deletions dist/types/media.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,14 @@ interface AudioOption {
/**
* Join audio only with the speaker, the microphoe is not connected.
*/
speakerOnly: boolean;
speakerOnly?: boolean;
/**
* start audio automatically in Safari
*
* It's a little different in the Safari browser, when calling `startAudio` automatically or programmatically without any gesture (click or touch on the document),
* the value of `autoStartAudioInSafari` should be `true`, other than that, the value should always be `false` or unset.
*/
autoStartAudioInSafari?: boolean;
}
/**
* Interface of dial out option
Expand Down Expand Up @@ -114,7 +121,6 @@ export declare namespace Stream {
// ------------------------------------------------[audio]------------------------------------------------------------
/**
* Join audio by the microphone and speaker.
* - It works only the audio flag is `true` in the media constraints.
* - If the participant has joined audio by the phone, he/she cannot join the computer audio.
*
* ```javascript
Expand All @@ -123,14 +129,49 @@ export declare namespace Stream {
* const stream = client.getMediaStream();
* await stream.startAudio();
* ```
*
* It's a little different in Safari browser.
* ```javascript
* let audioDecode, audioEncode;
* // wait until the encoding and decoding process is ready for the audio
* client.on("media-sdk-change", (payload) => {
* const { action, type, result } = payload;
* if (type === "audio" && result === "success") {
* if (action === "encode") {
* audioEncode = true;
* } else if (action === "decode") {
* audioDecode = true;
* }
* if (audioDecode && audioEncode) {
* try {
* // start audio automatically in Safari
* stream.startAudio({ autoStartAudioInSafari: true });
* } catch (err) {
* console.warn(err);
* }
* }
* }
* });
*
* // Start audio in 'click' callback in Safari
* joinAudioButton.addEventListener("click", () => {
* if (audioDecode && audioDecode) {
* try {
* stream.startAudio();
* } catch (err) {
* console.warn(err);
* }
* }
* });
*
* ```
* @returns executed promise. Following are the possible error reasons:
* - type=`USER_FORBIDDEN_MICROPHONE`: The user has blocked accesses to the microphone from the sdk, try to grant the privilege and rejoin the meeting.
*/
function startAudio(options?: AudioOption): ExecutedResult;

/**
* Leave the computer audio
* - It works only the audio flag is `true` in the media constraints.
*/
function stopAudio(): ExecutedResult;

Expand Down Expand Up @@ -171,7 +212,6 @@ export declare namespace Stream {
* If a number is not listed or has asterisks (***) in place of some of the numbers, it means that number is not available on the account that you're currently logged into.
* Check the `stream.getSupportCountryInfo()` method to get available countries.
*
* - It works only the audio flag is `true` in the media constraints.
* - This method will triggle `dialout-state-change` event, add listener to get the latest value.
* ```javascript
* const countryCode = '+1'
Expand Down Expand Up @@ -353,8 +393,6 @@ export declare namespace Stream {
*
* Start render video
*
* **Note**
* - It works only when the video flag is `true` in media constraints.
*
* **Example**
* ```javascript
Expand Down Expand Up @@ -398,8 +436,6 @@ export declare namespace Stream {
/**
* Stop render the video.
*
* **Note**
* - It works only when the video flag is `true` in media constraints.
*
* **Example**
* ```javascript
Expand Down
25 changes: 23 additions & 2 deletions dist/types/videoclient.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,27 @@ interface Participant {
*/
sharePause: boolean;
}

/**
* Init options of `init` method
*/
interface InitOptions {
/**
* optional spcify the web endpoint,default is zoom.us
*/
webEndpoint?: string;
/**
* optional
* Enforce multiple videos(up to 3 videos of others and 1 video of self) on Chromium-like browser without SharedArrayBuffer.
* Note that this may result in high CPU and memory usage.
*/
enforceMultipleVideos?: boolean;
/**
* optional do not load dependent assets
* Used to address specific edge-cases, please do not use for almost all use-cases
*/
skipJsMedia?: boolean;
}
export declare namespace VideoClient {
/**
* Initilize the ZOOM Video SDK before join a meeting.
Expand All @@ -135,12 +156,12 @@ export declare namespace VideoClient {
* - `CDN`: The dependent assets path will be `https://dmogdx0jrul3u.cloudfront.net/videosdk/{version}/lib/`
* - `CN`: Only applicable for China. The dependent assets path will be https://jssdk.zoomus.cn/videosdk/{version}/lib
* - `{FULL_ASSETS_PATH}`: The SDK will load the dependent assets spcified by the developer.
* @param webEndpoint optional spcify the web endpoint,default is zoom.us
* @param options optional additional options for initialization
*/
function init(
language: string,
dependentAssets: string | 'CDN' | 'Global' | 'CN',
webEndpoint?: string,
options?: InitOptions,
): ExecutedResult;
/**
* Get the media stream instance for managing the media.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@zoom/videosdk",
"version": "1.2.3",
"version": "1.2.5",
"description": "Zoom Web Video SDK",
"main": "dist/index.js",
"module": "dist/index.esm.js",
Expand Down

0 comments on commit 1bc59c0

Please sign in to comment.