From 853f76984ff8d3e507c810b7b73c199109fe2d50 Mon Sep 17 00:00:00 2001 From: jinyu Date: Fri, 23 Aug 2024 12:44:59 +0800 Subject: [PATCH 1/6] Update release_flutter_ng.md --- .../en-US/framework/release_flutter_ng.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md index 189466ba1e7..2aa7fe08726 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md @@ -10,6 +10,71 @@ AirPods Pro does not support A2DP protocol in communication audio mode, which ma + +## v6.4.0 + +This version was released on August x, 2024. + +#### Compatibility changes + +This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. + +1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. + + | Original callback | Current callback | + | ------------------ | ------------------------------- | + | `onExtensionEvent` | `onExtensionEventWithContext` | + | `onExtensionStarted` | `onExtensionStartedWithContext` | + | `onExtensionStopped` | `onExtensionStoppedWithContext` | + | `onExtensionError` | `onExtensionErrorWithContext` | + +#### New features + +1. **Voice AI tuner** + + This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +2. **1v1 video call scenario** + + This version adds `applicationScenario1v1` (1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. + +#### Improvements + +1. **Adaptive hardware decoding support (Android, Windows)** + + This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. + +2. **Rendering performance enhancement (Windows)** + + DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. + +3. **Facial region beautification** + + To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. + +4. **Other improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - The `localVideoStreamReasonScreenCaptureDisplayDisconnected` enumerator is added in `onLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS) + - Optimizes the video link for window sharing, reducing CPU usage. (macOS) + - Improves echo cancellation for screen sharing scenarios. (Windows) + - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. + - Deprecates redundant enumeration values `clientRoleChangeFailedRequestTimeOut` and `clientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. + +#### Issues fixed + +This release fixed the following issues: + +- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) +- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) +- After the sender called `startDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) +- Audio playback failed when pushing external audio data using `pushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. (Android, iOS) + + + + ## v6.3.2 This version was released on May x, 20xx. From 7f4df5d3f9c6f69684bb2ba26f9a3dc9e30e2ad2 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Fri, 23 Aug 2024 14:58:33 +0800 Subject: [PATCH 2/6] RN/Electron: add en release notes --- .../en-US/framework/release_electron_ng.md | 73 +++++++++++++++++++ .../en-US/framework/release_rn_ng.md | 71 ++++++++++++++++++ 2 files changed, 144 insertions(+) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md index ed1fbb00023..49643e81553 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md @@ -1,3 +1,76 @@ +## v4.4.0 + +This version was released on July x, 2024. + +#### Compatibility changes + +This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. + +1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. + + | Original callback | Current callback | + | ------------------ | ---------------- | + | `onExtensionEvent` | `onExtensionEventWithContext` | + | `onExtensionStarted` | `onExtensionStartedWithContext` | + | `onExtensionStopped` | `onExtensionStoppedWithContext` | + | `onExtensionError` | `onExtensionErrorWithContext` | + +2. This version renames the following members in `ExternalVideoFrame`: + + - `d3d11_texture_2d` is renamed to `d3d11Texture2d`. + - `texture_slice_index` is renamed to `textureSliceIndex`. + - `metadata_buffer` is renamed to `metadataBuffer`. + - `metadata_size` is renamed to `metadataSize`. + +#### New features + +1. **Alpha transparency effects** + + This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: + + - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. + - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. + +2. **Voice AI tuner** + + This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +3. **1v1 video call scenario** + + This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. + +#### Improvements + +1. **Adaptive hardware decoding support (Windows)** + + This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. + +2. **Rendering performance enhancement (Windows)** + + DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. + +3. **Facial region beautification** + + To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. + +4. **Other improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - The ``enumerator is added in `onLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. + - Optimizes the video link for window sharing, reducing CPU usage. (macOS) + - Improves echo cancellation for screen sharing scenarios. + - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. + - Deprecates redundant enumeration values `ClientRoleChangeFailedRequestTimeOut` and `ClientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. + +#### Issues fixed + +This release fixes the issue where the App crashes during audio and video interactions after the user actively denies permission for the App to use audio and video devices. (macOS) + ## v4.3.2 This version was released on May x, 20xx. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md index 8f1fc18434d..9180442b02f 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md @@ -8,6 +8,77 @@ On Android 14 devices (such as OnePlus 11), screen sharing may not be available AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. +## v4.4.0 + +This version was released on July x, 2024. + +#### Compatibility changes + +This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. + +1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. + + | Original callback | Current callback | + | ------------------ | ---------------- | + | `onExtensionEvent` | `onExtensionEventWithContext` | + | `onExtensionStarted` | `onExtensionStartedWithContext` | + | `onExtensionStopped` | `onExtensionStoppedWithContext` | + | `onExtensionError` | `onExtensionErrorWithContext` | + +2. This version renames the following members in `ExternalVideoFrame`: + + - `d3d11_texture_2d` is renamed to `d3d11Texture2d`. + - `texture_slice_index` is renamed to `textureSliceIndex`. + - `metadata_buffer` is renamed to `metadataBuffer`. + - `metadata_size` is renamed to `metadataSize`. + +#### New features + +1. **Alpha transparency effects** + + This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: + + - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. + - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. + +2. **Voice AI tuner** + + This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +3. **1v1 video call scenario** + + This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. + +#### Improvements + +1. **Adaptive hardware decoding support (Android)** + + This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. + +2. **Facial region beautification** + + To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. + +3. **Other improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. + - Deprecates redundant enumeration values `ClientRoleChangeFailedRequestTimeOut` and `ClientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. + +#### Issues fixed + +This release fixed the following issues: + +- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) +- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) +- After the sender called `startDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) +- Audio playback failed when pushing external audio data using `pushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. + ## v4.3.2 This version was released on May x, 20xx. From 2423f847f13ec100ae1b33d89db347f9bb94f4ad Mon Sep 17 00:00:00 2001 From: Suri539 Date: Fri, 23 Aug 2024 15:03:15 +0800 Subject: [PATCH 3/6] Update release_unity_ng.md --- .../en-US/framework/release_unity_ng.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md index 028412ca324..3a9e07977c3 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md @@ -8,6 +8,84 @@ On Android 14 devices (such as OnePlus 11), screen sharing may not be available AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. +## v4.4.0 + +This version was released on August x, 2024. + +#### Compatibility changes + +This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. + +1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. + + | Original callback | Current callback | + | -------------------- | ------------------------------- | + | `onExtensionEvent` | `OnExtensionEventWithContext` | + | `onExtensionStarted` | `OnExtensionStartedWithContext` | + | `onExtensionStopped` | `OnExtensionStoppedWithContext` | + | `onExtensionError` | `OnExtensionErrorWithContext` | + +2. This version renames the following members in `ExternalVideoFrame`: + +- `d3d11_texture_2d` is renamed to `d3d11Texture2d`. +- `texture_slice_index` is renamed to `textureSliceIndex`. +- `metadata_buffer` is renamed to `metadataBuffer`. +- `metadata_size` is renamed to `metadataSize`. + +#### New features + +1. **Alpha transparency effects** + + This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: + + - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. + - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `SetVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. + +2. **Voice AI tuner** + + This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `EnableVoiceAITuner` method and passing in the sound effect types supported in the `VOICE_AI_TUNER_TYPE` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +3. **1v1 video call scenario** + + This version adds `APPLICATION_SCENARIO_1V1` (1v1 video call) in `VIDEO_APPLICATION_SCENARIO_TYPE`. You can call `SetVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. + +#### Improvements + +1. **Adaptive hardware decoding support (Android, Windows)** + + This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. + +2. **Rendering performance enhancement (Windows)** + + DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. + +3. **Facial region beautification** + + To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. + +4. **Other improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `EnableInstantMediaRendering` no longer impacts the security of the transmission link. + - The `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_DISPLAY_DISCONNECTED` enumerator is added in `OnLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS) + - Optimizes the video link for window sharing, reducing CPU usage. (macOS) + - Improves echo cancellation for screen sharing scenarios. + - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. + - Deprecates redundant enumeration values `CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT` and `CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED` in `CLIENT_ROLE_CHANGE_FAILED_REASON`. + +#### Issues fixed + +This release fixed the following issues: + +- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) +- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) +- After the sender called `StartDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) +- Audio playback failed when pushing external audio data using `PushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. + ## v4.3.2 This version was released on May x, 20xx. From 3cf6612672b505c4e5ca87f9900f24f2990c2b08 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Fri, 23 Aug 2024 15:48:29 +0800 Subject: [PATCH 4/6] RN/Electron: remove alpha buffer --- .../en-US/framework/release_electron_ng.md | 14 ++------------ .../release-notes/en-US/framework/release_rn_ng.md | 14 ++------------ 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md index 49643e81553..27d65e4a375 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md @@ -24,21 +24,11 @@ This version includes optimizations to some features, including changes to SDK b #### New features -1. **Alpha transparency effects** - - This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: - - - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. - - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. - - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. - - Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. - -2. **Voice AI tuner** +1. **Voice AI tuner** This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. -3. **1v1 video call scenario** +2. **1v1 video call scenario** This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md index 9180442b02f..0060c74aa54 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md @@ -34,21 +34,11 @@ This version includes optimizations to some features, including changes to SDK b #### New features -1. **Alpha transparency effects** - - This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: - - - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. - - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. - - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. - - Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. - -2. **Voice AI tuner** +1. **Voice AI tuner** This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. -3. **1v1 video call scenario** +2. **1v1 video call scenario** This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. From 902d64da525c346f77f752ef9f31a9a584c9462e Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 23 Aug 2024 16:32:49 +0800 Subject: [PATCH 5/6] 1 --- .../release-notes/en-US/framework/release_electron_ng.md | 2 +- .../RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md | 2 +- .../RTC 4.x/release-notes/en-US/framework/release_unity_ng.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md index 27d65e4a375..6223d4c2282 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md @@ -51,7 +51,7 @@ This version includes optimizations to some features, including changes to SDK b This version also includes the following improvements: - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. - - The ``enumerator is added in `onLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. + - The ``enumerator is added in `onLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - Improves echo cancellation for screen sharing scenarios. - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md index 2aa7fe08726..3085667681c 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md @@ -57,7 +57,7 @@ This version includes optimizations to some features, including changes to SDK b This version also includes the following improvements: - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. - - The `localVideoStreamReasonScreenCaptureDisplayDisconnected` enumerator is added in `onLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS) + - The `localVideoStreamReasonScreenCaptureDisplayDisconnected` enumerator is added in `onLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. (Windows, macOS) - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - Improves echo cancellation for screen sharing scenarios. (Windows) - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md index 3a9e07977c3..fe8fee87ef3 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md @@ -71,7 +71,7 @@ This version includes optimizations to some features, including changes to SDK b This version also includes the following improvements: - Optimizes transmission strategy: calling `EnableInstantMediaRendering` no longer impacts the security of the transmission link. - - The `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_DISPLAY_DISCONNECTED` enumerator is added in `OnLocalVideoStateChanged` callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS) + - The `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_DISPLAY_DISCONNECTED` enumerator is added in `OnLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. (Windows, macOS) - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - Improves echo cancellation for screen sharing scenarios. - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. From fc03843734235b60924a9c1efe21815dc210b1c1 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Fri, 23 Aug 2024 16:49:50 +0800 Subject: [PATCH 6/6] recover RN alpha effect --- .../release-notes/en-US/framework/release_rn_ng.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md index 0060c74aa54..9180442b02f 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md @@ -34,11 +34,21 @@ This version includes optimizations to some features, including changes to SDK b #### New features -1. **Voice AI tuner** +1. **Alpha transparency effects** + + This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: + + - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. + - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. + +2. **Voice AI tuner** This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. -2. **1v1 video call scenario** +3. **1v1 video call scenario** This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions.