diff --git a/dita/RTC-NG/API/api_irtcengine_statechanged.dita b/dita/RTC-NG/API/api_irtcengine_statechanged.dita index 9a9f7e64be1..b069d68bdbd 100644 --- a/dita/RTC-NG/API/api_irtcengine_statechanged.dita +++ b/dita/RTC-NG/API/api_irtcengine_statechanged.dita @@ -49,8 +49,9 @@

设备状态:

diff --git a/dita/RTC-NG/API/enum_mediadevicestatetype.dita b/dita/RTC-NG/API/enum_mediadevicestatetype.dita index b3931ba54ca..a19ee4cab45 100644 --- a/dita/RTC-NG/API/enum_mediadevicestatetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicestatetype.dita @@ -19,6 +19,10 @@ 2: 设备被禁用。 + + + 3: 设备已插入。 + 4: 没有此设备。 diff --git a/dita/RTC-NG/API/rtc_api_sunset.dita b/dita/RTC-NG/API/rtc_api_sunset.dita index b426c9eec87..96c429214cf 100644 --- a/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/dita/RTC-NG/API/rtc_api_sunset.dita @@ -6,12 +6,13 @@
已废弃 API

废弃后的 API 预计会在 1 年左右正式下架。声网建议你尽快使用推荐的 API 进行替换,以免影响线上业务。

- +
+ - - - - + + + + API @@ -45,6 +46,12 @@ v4.4.0 + + + + + v4.4.0 + @@ -78,19 +85,19 @@ - 使用 中的 logConfig 参数 + 使用 中的 logConfig 参数 v4.0.0 - + v4.0.0 - + v4.0.0 @@ -102,13 +109,13 @@ - + v4.0.0 - + v4.0.0 @@ -120,20 +127,189 @@ - 使用 中的 logConfig 参数 + 使用 中的 logConfig 参数 v4.0.0 - + v4.0.0 - - - - v4.0.0 + + + + v4.0.0 + + + + + + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + +
+ + + + + + + + + + API + 描述 + 替代 API + 废弃版本 + + + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.3.1 + + + + + + v4.2.0 + + + + + + v4.2.0 + + + + + + v4.2.0 + + + + + - + v4.0.0 + + + + + 使用 中的 logConfig 参数 + v4.0.0 + + + + + + v4.0.0 + + + + + + v4.0.0 + + + + + + v4.0.0 + + + + + + v4.0.0 + + + + + + v4.0.0 + + + + + + v4.0.0 + + + + + 使用 中的 logConfig 参数 + v4.0.0 + + + + + + v4.0.0 @@ -283,7 +459,7 @@ v4.4.0 - +
diff --git a/dita/RTC-NG/API/rtc_lite_api.dita b/dita/RTC-NG/API/rtc_lite_api.dita index 50e08e2e163..6967f74af79 100644 --- a/dita/RTC-NG/API/rtc_lite_api.dita +++ b/dita/RTC-NG/API/rtc_lite_api.dita @@ -6,7 +6,7 @@
如果在本页中无法查询到你要使用的 API,则代表 Lite SDK 不支持该 API,调用该 API 时会返回错误码 -2。
- <ph keyref="IRtcEngine"/> + <apiname keyref="IRtcEngine"/>
  • @@ -335,7 +335,7 @@
- <ph keyref="IRtcEngineEx"/> + <apiname keyref="IRtcEngineEx"/>
  • @@ -390,7 +390,7 @@
- <ph keyref="IRtcEngineEventHandler"/> + <apiname keyref="IRtcEngineEventHandler"/>
  • @@ -479,7 +479,7 @@
- <ph keyref="IMediaExtensionObserver"/> + <apiname keyref="IMediaExtensionObserver"/>
  • @@ -488,7 +488,7 @@
- <ph keyref="IMediaPlayer"/> + <apiname keyref="IMediaPlayer"/> 媒体播放器中的 API 仅支持处理音频媒体文件、不支持处理视频媒体文件。
  • @@ -547,28 +547,29 @@
- <ph keyref="IVideoEncodedFrameObserver"/> + <apiname keyref="IVideoEncodedFrameObserver"/>
- <ph keyref="IVideoFrameObserver"/> + <apiname keyref="IVideoFrameObserver"/> + 通过 回调返回的视频数据中,alphabuffer
  • -
  • +
- <ph keyref="IMediaExtensionObserver"/> + <apiname keyref="IMediaExtensionObserver"/>
  • @@ -577,7 +578,7 @@
- <ph keyref="IMusicPlayer"/> + <apiname keyref="IMusicPlayer"/>
  • diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 9590b0026eb..de998f9c726 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -9728,6 +9728,13 @@ + + + + MEDIA_DEVICE_STATE_PLUGGED_IN + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap index 0a22e681683..a2c8323ac3f 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap @@ -86,6 +86,5 @@ - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links.ditamap index 04830cdbbd9..2d834eecf84 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links.ditamap @@ -92,14 +92,14 @@ - + sales@shengwang.cn - + 联系技术支持 diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index b9439461a75..15910e7b198 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -20,19 +20,19 @@ 现有回调 - onExtensionEvent + onExtensionEventonEvent - onExtensionStarted + onExtensionStartedonStarted - onExtensionStopped + onExtensionStoppedonStopped - onExtensionError + onExtensionErroronError @@ -42,11 +42,13 @@
  • 该版本删除了 回调中的 bufferuidtimeStampMs 参数,你可以通过新增的 metadata 参数来获取 Metadata 的相关信息,包括 timeStampMs(发送数据的时间戳)、uid(用户 ID)、channelId(源频道名称)等。
  • 该版本修改了 中的以下成员名称:
      -
    • d3d11_texture_2d 更名为 d3d11Texture2d
    • -
    • texture_slice_index 更名为 textureSliceIndex
    • -
    • metadata_buffer 更名为 metadataBuffer
    • -
    • metadata_size 更名为 metadataSize
    • +
    • d3d11_texture_2d 更名为 d3d11Texture2d
    • +
    • texture_slice_index 更名为 textureSliceIndex
    • +
    • metadata_buffer 更名为 metadataBuffer
    • +
    • metadata_size 更名为 metadataSize
  • +
  • 在 v4.4.0 之前,音视频设备已插入、已就绪均会通过 中的 (0)状态报告。为进一步区分设备状态,自 v4.4.0 起,SDK 会通过新增的 (3)报告设备已插入。
  • +
  • 在 v4.4.0 之前,音视频设备已插入、已就绪均会通过 回调中的 state 参数报告状态码 0。为进一步区分设备状态,自 v4.4.0 起,SDK 会通过新增的状态码 3 报告设备已插入。
  • diff --git a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita index 96c9f79b009..8413aaa957e 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita @@ -78,7 +78,7 @@ - Use the logConfig parameter in + Use the logConfig parameter in v4.0.0 @@ -120,7 +120,7 @@ - Use the logConfig parameter in + Use the logConfig parameter in v4.0.0 diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 9590b0026eb..de998f9c726 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -9728,6 +9728,13 @@
    + + + + MEDIA_DEVICE_STATE_PLUGGED_IN + + + diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 29999f34bbd..b617ace93f2 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -14,7 +14,7 @@ Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See API Sunset NoticeAPI Sunset NoticeAPI Sunset NoticeAPI Sunset Notice.

      -
    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 in each callback. +
    2. 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 in each callback. Original Callback @@ -22,31 +22,31 @@ onExtensionEvent - + onExtensionStarted - + onExtensionStopped - + onExtensionError - +
    3. -
    4. Before v4.4.0, when a user role was set to audience and called to set the audio scenario to chatroom (), the user would see a microphone permission request popup. As of v4.4.0, the SDK uses native iOS APIs to control the microphone, so audience members in a chatroom scenario will no longer receive the microphone permission request popup.
    5. -
    6. This version renames the receiveMetadata callback to and removes the data and timeStamp parameters. You can get metadata-related information, including timeStamp (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
    7. -
    8. This version removes the buffer, uid, and timeStampMs parameters of the callback. You can get metadata-related information, including timeStampMs (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
    9. +
    10. Before v4.4.0, when a user role was set to audience and called to set the audio scenario to chatroom (), the user would see a microphone permission request popup. As of v4.4.0, the SDK uses native iOS APIs to control the microphone, so audience members in a chatroom scenario will no longer receive the microphone permission request popup.
    11. +
    12. This version renames the receiveMetadata callback to and removes the data and timeStamp parameters. You can get metadata-related information, including timeStamp (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
    13. +
    14. This version removes the buffer, uid, and timeStampMs parameters of the callback. You can get metadata-related information, including timeStampMs (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
    15. This version renames the following members in :
        -
      • 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.
      • +
      • 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.
    @@ -67,14 +67,14 @@
  • 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.:

      -
    • and add the alphaBuffer member: Sets the Alpha channel data.
    • -
    • 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.
    • -
    • and add the alphaStitchMode member: Sets the relative position of alphaBuffer and video frame stitching.
    • +
    • and add the alphaBuffer member: Sets the Alpha channel data.
    • +
    • 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.
    • +
    • and add the alphaStitchMode member: Sets the relative position of alphaBuffer and video frame stitching.
    -

    Additionally, 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 to set the video encoding properties and set encodeAlpha to .

    +

    Additionally, 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 to set the video encoding properties and set encodeAlpha to .

  • 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 method and passing in the sound effect types supported in the enum to achieve effects like deep voice, cute voice, husky singing voice, etc.

    +

    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 method and passing in the sound effect types supported in the enum to achieve effects like deep voice, cute voice, husky singing voice, etc.

  • @@ -97,22 +97,15 @@
    • Optimizes the parameter types of the following APIs. These improvements enhance code readability, reduce potential errors, and facilitate future maintenance.
        -
      • Deprecates the option parameter of type int in , and adds an overloaded function with the option parameter of type .
      • -
      • Deprecates the streamType parameter of type int in , , and , and adds overloaded functions , , and with the streamType parameter of type .
    • -
    • Optimizes transmission strategy: calling no longer impacts the security of the transmission link.
    • -
    • The enumerator is Adds in callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS)
    • +
    • Deprecates the option parameter of type int in , and adds an overloaded function with the option parameter of type .
    • +
    • Deprecates the streamType parameter of type int in , , and , and adds overloaded functions , , and with the streamType parameter of type .
    +
  • Optimizes transmission strategy: calling no longer impacts the security of the transmission link.
  • +
  • The enumerator is added in 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 , which is used to get the channel name from which the metadata is sent.
  • -
  • Deprecates redundant enumeration values and in .
  • -
  • Deprecates redundant enumeration values and .
  • -
  • Optimizes transmission strategy: calling no longer impacts the security of the transmission link.
  • -
  • The enumerator is added in 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 , which is used to get the channel name from which the metadata is sent.
  • -
  • Deprecates redundant enumerations and in .
  • -
  • Deprecates redundant enumerations and .
  • +
  • Adds the channelId parameter to , which is used to get the channel name from which the metadata is sent.
  • +
  • Deprecates redundant enumeration values and in .
  • +
  • Deprecates redundant enumeration values and .

@@ -125,7 +118,7 @@
  • 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 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)
  • +
  • After the sender called 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 and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz.
diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md index 70782e74fd6..bb3f0a168ed 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md @@ -6,6 +6,80 @@ On Android 14 devices (such as OnePlus 11), screen sharing may not be available +## 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. + +**Attention:** Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See [API Sunset Notice](https://doc.shengwang.cn/api-ref/rtc/android/API/rtc_api_sunset). + +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 | + | ------------------ | ---------------------- | + | `onEvent` | `onEventWithContext` | + | `onStarted` | `onStartedWithContext` | + | `onStopped` | `onStoppedWithContext` | + | `onError` | `onErrorWithContext` | + +2. This version removes the `buffer`, `uid`, and `timeStampMs` parameters of the `onMetadataReceived` callback. You can get metadata-related information, including `timeStampMs` (timestamp of the sent data), `uid` (user ID), and `channelId` (channel name) through the newly-added `metadata` parameter. + +#### New Features + +1. **Lite SDK** + + Starting from this version, Agora introduces the Lite SDK, which includes only the basic audio and video capabilities and partially cuts advanced features, effectively reducing the app size after integrating the SDK. + + - Lite SDK supports manual integration or third-party repository integration. For details, see [Download SDKs]() and [Integrate the SDK](). + - For information on dynamic libraries included in the Lite SDK, see [App size optimization](). + - For the list of APIs supported by the Lite SDK, see [Lite SDK API List](https://doc.shengwang.cn/api-ref/rtc/android/API/rtc_lite_api). + - For the limitations and precautions when using the Lite SDK to play media files, please refer to [Which audio file formats are supported by RTC SDK?](https://doc.shengwang.cn/faq/general-product-inquiry/audio-format) + +2. **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 `AgoraVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `AgoraVideoFrame` 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 `AgoraVideoFrame` 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`. + +3. **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. + +#### Improvements + +1. **Adaptive Hardware Decoding Support** + + 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 the parameter types of the following APIs. These improvements enhance code readability, reduce potential errors, and facilitate future maintenance. + - Deprecates the `option` parameter of type int in `setRemoteSubscribeFallbackOption` [1/2], and adds an overloaded function `setRemoteSubscribeFallbackOption` [2/2] with the `option` parameter of type `StreamFallbackOptions`. + - Deprecates the `streamType` parameter of type int in `setRemoteVideoStreamType` [1/2], `setRemoteDefaultVideoStreamType` [1/2], and `setRemoteVideoStreamTypeEx` [1/2], and adds overloaded functions `setRemoteVideoStreamType` [2/2], `setRemoteDefaultVideoStreamType` [2/2], and `setRemoteVideoStreamTypeEx` [2/2] with the `streamType` parameter of type `VideoStreamType`. + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - Deprecates redundant enumerations `CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT` and `CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED`. + +#### Issues fixed + +This release fixed the following issues: + +- Audio playback failed when pushing external audio data using `pushExternalAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. + + ## v4.3.2 diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md index 9f19c2ba089..675ebdd1994 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md @@ -4,6 +4,78 @@ 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. + +**Attention:** Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See [API Sunset Notice](https://doc.shengwang.cn/api-ref/rtc/ios/API/rtc_api_sunset). + +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 `AgoraExtensionContext` in each callback. + + | Original Callback | Current Callback | + | ------------------ | ------------------------------- | + | `onEvent` | `onExtensionEventWithContext` | + | `onExtensionStarted` | `onExtensionStartedWithContext` | + | `onExtensionStopped` | `onExtensionStoppedWithContext` | + | `onExtensionError` | `onExtensionErrorWithContext` | + +2. Before v4.4.0, when a user role was set to audience and called `setAudioScenario` to set the audio scenario to chatroom (`AgoraAudioScenarioChatRoom`), the user would see a microphone permission request popup. As of v4.4.0, the SDK uses native iOS APIs to control the microphone, so audience members in a chatroom scenario will no longer receive the microphone permission request popup. + +3. This version renames the `receiveMetadata` callback to `didMetadataReceived` and removes the `data` and `timeStamp` parameters. You can get metadata-related information, including `timeStamp` (timestamp of the sent data), `uid` (user ID), and `channelId` (channel name) through the newly-added `metadata` parameter. + +#### New Features + +1. **Lite SDK** + + Starting from this version, Agora introduces the Lite SDK, which includes only the basic audio and video capabilities and partially cuts advanced features, effectively reducing the app size after integrating the SDK. + + - Lite SDK supports manual integration or third-party repository integration. For details, see [Download SDKs]() and [Integrate the SDK](). + - For information on dynamic libraries included in the Lite SDK, see [App size optimization](). + - For the list of APIs supported by the Lite SDK, see [Lite SDK API List](https://doc.shengwang.cn/api-ref/rtc/ios/API/rtc_lite_api). + - For the limitations and precautions when using the Lite SDK to play media files, please refer to [Which audio file formats are supported by RTC SDK?](https://doc.shengwang.cn/faq/general-product-inquiry/audio-format) + +2. **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.: + + - `AgoraOutputVideoFrame` and `AgoraVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `AgoraVideoFrame` 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`. + - `AgoraOutputVideoFrame` and `AgoraVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AgoraAdvancedVideoOptions` 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 `YES`. + +3. **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 `AgoraVoiceAITunerType` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +#### Improvements + +1. **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. + +2. **Other Improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - Deprecates redundant enumeration values `AgoraClientRoleChangeFailedRequestTimeout` and `AgoraClientRoleChangeFailedConnectionFailed` in `AgoraClientRoleChangeFailedReason`. + +#### Issues fixed + +This release fixed the following issues: + +- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. +- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. +- 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. +- Audio playback failed when pushing external audio data using `pushExternalAudioFrameRawData` 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. diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md index ef138de4fe4..c0a492bf9c7 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md @@ -1,3 +1,58 @@ +## 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. + +**Attention:** Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See [API Sunset Notice](https://doc.shengwang.cn/api-ref/rtc/macos/API/rtc_api_sunset). + +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 `AgoraExtensionContext` in each callback. + + | Original Callback | Current Callback | + | ------------------ | ------------------------------- | + | `onEvent` | `onExtensionEventWithContext` | + | `onExtensionStarted` | `onExtensionStartedWithContext` | + | `onExtensionStopped` | `onExtensionStoppedWithContext` | + | `onExtensionError` | `onExtensionErrorWithContext` | + +1. This version renames the `receiveMetadata` callback to `didMetadataReceived` and removes the `data` and `timeStamp` parameters. You can get metadata-related information, including `timeStamp` (timestamp of the sent data), `uid` (user ID), and `channelId` (channel name) through the newly-added `metadata` parameter. + +#### 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.: + + - `AgoraOutputVideoFrame` and `AgoraVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. + - `AgoraVideoFrame` 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`. + - `AgoraOutputVideoFrame` and `AgoraVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. + + Additionally, `AgoraAdvancedVideoOptions` 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 `YES`. + +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 `AgoraVoiceAITunerType` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. + +#### Improvements + +1. **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. + +2. **Other Improvements** + + This version also includes the following improvements: + + - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. + - The `AgoraLocalVideoStreamReasonScreenCaptureDisplayDisconnected` enumerator is added in `localVideoStateChangedOfState` callback , indicating that the display used for screen capture has been disconnected. + - Optimizes the video link for window sharing, reducing CPU usage. + - Deprecates redundant enumeration values `AgoraClientRoleChangeFailedRequestTimeout` and `AgoraClientRoleChangeFailedConnectionFailed` in `AgoraClientRoleChangeFailedReason`. + +#### Issues fixed + +None. ## v4.3.2 diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md index 58918362bab..cc2fffb28ee 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md @@ -1,3 +1,69 @@ +## 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. + +**Attention:** Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See [API Sunset Notice](https://doc.shengwang.cn/api-ref/rtc/android/API/rtc_api_sunset). + +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. + +#### Improvements + +1. **Adaptive Hardware Decoding Support** + + This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. + +2. **Rendering Performance Enhancement** + + 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. + - 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`. + ## v4.3.2 This version was released on May x, 20xx.