Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/rtc ng/4.4.0 #3703

Merged
merged 33 commits into from
Jul 15, 2024
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6def737
add codeph
Cilla-luodan Jul 12, 2024
fe57406
ios & mac
Cilla-luodan Jul 12, 2024
adfa4ec
Merge branch 'master' into release/rtc-ng/4.4.0
Cilla-luodan Jul 12, 2024
6637882
fix
Cilla-luodan Jul 12, 2024
dd3456f
Update release_android_ng.md
jinyuagora Jul 12, 2024
26e6d76
1
Cilla-luodan Jul 12, 2024
b932cc1
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Cilla-luodan Jul 12, 2024
10f645b
delete redundant content
Suri539 Jul 12, 2024
97069e3
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Suri539 Jul 12, 2024
a59ff10
windows 440
Suri539 Jul 12, 2024
6ea9403
fix
Cilla-luodan Jul 12, 2024
f72135e
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Cilla-luodan Jul 12, 2024
bb8c0ec
1
Cilla-luodan Jul 12, 2024
2e55d53
tiny fix
Cilla-luodan Jul 12, 2024
9330430
fix
Cilla-luodan Jul 15, 2024
149ea59
Update release_android_ng.md
jinyuagora Jul 15, 2024
3e87cee
add destroy_IMusicPlayer
Suri539 Jul 15, 2024
fa489a9
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Suri539 Jul 15, 2024
df3641b
Update api_irtcengine_setremotedefaultvideostreamtype2.dita
jinyuagora Jul 15, 2024
d8a29be
update release notes
Nero-Hu Jul 15, 2024
eb85266
sales link
Suri539 Jul 15, 2024
8b7ef48
update links
Suri539 Jul 15, 2024
77b40bb
1
Cilla-luodan Jul 15, 2024
3436356
1
Cilla-luodan Jul 15, 2024
b699d58
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Cilla-luodan Jul 15, 2024
c359428
CSD-54930
Suri539 Jul 15, 2024
aa24c41
Sync cn prototype to en prototype
Suri539 Jul 15, 2024
4982294
Merge pull request #3704 from AgoraIO/auto/sync-cn-proto-to-en-patch-…
github-actions[bot] Jul 15, 2024
70e94bc
NMS-20887
Cilla-luodan Jul 15, 2024
cc089ed
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Cilla-luodan Jul 15, 2024
dfab8d6
review comments
Cilla-luodan Jul 15, 2024
44aa193
Update release_notes.dita
Suri539 Jul 15, 2024
925dc18
Merge branch 'release/rtc-ng/4.4.0' of github.com:AgoraIO/agora_doc_s…
Suri539 Jul 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dita/RTC-NG/API/rtc_api_sunset.dita
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
<row>
<entry><xref keyref="setLogFileSize"/></entry>
<entry><ph conkeyref="setLogFileSize/shortdesc"/></entry>
<entry>使用 <xref keyref="initialize" /> 中的 <codeph>logConfig</codeph> 参数</entry>
<entry>使用 <xref keyref="initialize" /> 中的 <parmname>logConfig</parmname> 参数</entry>
<entry>v4.0.0</entry>
</row>
<row props="android apple">
Expand Down Expand Up @@ -120,7 +120,7 @@
<row>
<entry><xref keyref="setLogFile"/></entry>
<entry><ph conkeyref="setLogFile/shortdesc"/></entry>
<entry>使用 <xref keyref="initialize" /> 中的 <codeph>logConfig</codeph> 参数</entry>
<entry>使用 <xref keyref="initialize" /> 中的 <parmname>logConfig</parmname> 参数</entry>
<entry>v4.0.0</entry>
</row>
<row>
Expand Down
8 changes: 4 additions & 4 deletions dita/RTC-NG/release/release_notes.dita
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@
<li props="android">该版本删除了 <codeph><apiname keyref="onMetadataReceived"/></codeph> 回调中的 <codeph>buffer</codeph>、<codeph>uid</codeph>、<codeph>timeStampMs</codeph> 参数,你可以通过新增的 <codeph>metadata</codeph> 参数来获取 Metadata 的相关信息,包括 <codeph>timeStampMs</codeph>(发送数据的时间戳)、<codeph>uid</codeph>(用户 ID)、<codeph>channelId</codeph>(源频道名称)等。</li>
<li props="cpp">该版本修改了 <xref keyref="ExternalVideoFrame"/> 中的以下成员名称:
<ul>
<li><parmname>d3d11_texture_2d</parmname> 更名为 <parmname>d3d11Texture2d</parmname>。</li>
<li><parmname>texture_slice_index</parmname> 更名为 <parmname>textureSliceIndex</parmname>。</li>
<li><parmname>metadata_buffer</parmname> 更名为 <parmname>metadataBuffer</parmname>。</li>
<li><parmname>metadata_size</parmname> 更名为 <parmname>metadataSize</parmname>。</li>
<li><codeph>d3d11_texture_2d</codeph> 更名为 <codeph>d3d11Texture2d</codeph>。</li>
<li><codeph>texture_slice_index</codeph> 更名为 <codeph>textureSliceIndex</codeph>。</li>
<li><codeph>metadata_buffer</codeph> 更名为 <codeph>metadataBuffer</codeph>。</li>
<li><codeph>metadata_size</codeph> 更名为 <codeph>metadataSize</codeph>。</li>
</ul></li>
</ol>
</body>
Expand Down
4 changes: 2 additions & 2 deletions en-US/dita/RTC-NG/API/rtc_api_sunset.dita
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
<row>
<entry><xref keyref="setLogFileSize"/></entry>
<entry><ph conkeyref="setLogFileSize/shortdesc"/></entry>
<entry>Use the <codeph>logConfig</codeph> parameter in <xref keyref="initialize" /></entry>
<entry>Use the <parmname>logConfig</parmname> parameter in <xref keyref="initialize" /></entry>
<entry>v4.0.0</entry>
</row>
<row props="android apple">
Expand Down Expand Up @@ -120,7 +120,7 @@
<row>
<entry><xref keyref="setLogFile"/></entry>
<entry><ph conkeyref="setLogFile/shortdesc"/></entry>
<entry>Use the <codeph>logConfig</codeph> parameter in <xref keyref="initialize" /></entry>
<entry>Use the <parmname>logConfig</parmname> parameter in <xref keyref="initialize" /></entry>
<entry>v4.0.0</entry>
</row>
<row>
Expand Down
57 changes: 25 additions & 32 deletions en-US/dita/RTC-NG/release/release_notes.dita

Large diffs are not rendered by default.

74 changes: 74 additions & 0 deletions markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
| ------------------ | ---------------------- |
| `onExtensionEvent` | `onEventWithContext` |
| `onExtensionStarted` | `onStartedWithContext` |
| `onExtensionStopped` | `onStoppedWithContext` |
| `onExtensionError` | `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](xxx).
- 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

Expand Down
74 changes: 74 additions & 0 deletions markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,80 @@

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 |
| ------------------ | ------------------------------- |
| `onExtensionEvent` | `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`.
- Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link.
- Deprecates redundant enumerations `AgoraClientRoleChangeFailedRequestTimeout` and `AgoraClientRoleChangeFailedConnectionFailed` in `AgoraClientRoleChangeFailedReason`.
Cilla-luodan marked this conversation as resolved.
Show resolved Hide resolved

#### 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.
Expand Down
Loading
Loading