Skip to content

Commit 0daca9e

Browse files
authored
Merge pull request #3550 from AgoraIO/4.3.0-releasenotes-fix
4.3.0 releasenotes fix
2 parents e5419ce + 0900ec4 commit 0daca9e

18 files changed

+116
-23
lines changed

en-US/dita/rtc_api.xpr

+3-3
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,11 @@
202202
<scenarioAssociation-array>
203203
<scenarioAssociation>
204204
<field name="url">
205-
<String>RTC-NG/RTC_NG_Release_Unreal.ditamap</String>
205+
<String>RTC-NG/RTC_NG_Release_Unity.ditamap</String>
206206
</field>
207207
<field name="scenarioIds">
208208
<list>
209-
<String>Release Notes HTML5 - NG Unreal</String>
209+
<String>Release Notes HTML5 - NG Unity</String>
210210
</list>
211211
</field>
212212
<field name="scenarioTypes">
@@ -222,7 +222,7 @@
222222
</scenarioAssociation>
223223
<scenarioAssociation>
224224
<field name="url">
225-
<String>RTC-NG/RTC_NG_Release_Unity.ditamap</String>
225+
<String>RTC-NG/RTC_NG_Release_Unreal.ditamap</String>
226226
</field>
227227
<field name="scenarioIds">
228228
<list>

markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md

+14-3
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,22 @@ This release has optimized the implementation of some functions, involving renam
4545
- The value of `LocalVideoStreamReasonScreenCaptureResumed` (formerly `LocalVideoStreamReasonScreenCaptureResumed`) has been changed from 24 to 29.
4646
- The `LocalVideoStreamReasonCodecNotSupport` enumeration has been changed to `LocalVideoStreamReasonCodecNotSupport`.
4747

48-
4. **Audio loopback capturing**
48+
4. **Log encryption behavior changes**
49+
50+
For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console.
51+
52+
Refer to the following solutions for different needs:
53+
- If you need to know the API call status, please check the API logs and print the SDK callback logs yourself.
54+
- For any other special requirements, please contact [technical support](mailto:[email protected]) and provide the corresponding encrypted logs.
55+
56+
57+
58+
5. **Audio loopback capturing**
4959

5060
- Before v4.3.0, if you call the [disableAudio](API/api_irtcengine_disableaudio.html) method to disable the audio module, audio loopback capturing will not be disabled.
5161
- As of v4.3.0, if you call the [disableAudio](API/api_irtcengine_disableaudio.html) method to disable the audio module, audio loopback capturing will be disabled as well. If you need to enable audio loopback capturing, you need to enable the audio module by calling the [enableAudio](API/api_irtcengine_enableaudio.html) method and then call [enableLoopbackRecording](API/api_irtcengine_enableloopbackrecording.html).
5262

63+
5364
#### New features
5465

5566
1. **Local preview with multiple views**
@@ -351,7 +362,7 @@ v4.2.2 was released on July xx, 2023.
351362

352363
This release includes the following additional improvements:
353364

354-
1. The SDK automacially adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
365+
1. The SDK automatically adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
355366
2. To help users understand the reasons for more types of remote video state changes, the `remoteVideoStateReasonCodecNotSupport` enumeration has been added to the `onRemoteVideoStateChanged` callback, indicating that the local video decoder does not support decoding the received remote video stream.
356367

357368
#### Issues fixed
@@ -522,7 +533,7 @@ This release introduces `startCameraCapture` and `startScreenCaptureBySourceType
522533

523534
**5. Channel media relay**
524535

525-
This release introduces `startOrUpdateChannleMediaRelay` and `startOrUpdateChannleMediaRelayEx`, allowing for a simpler and smoother way to start and update media relay across channels. With these methods, developers can easily start the media relay across channels and update the target channels for media relay with a single method. Additionally, the internal interaction frequency has been optimized, effectively reducing latency in function calls.
536+
This release introduces `startOrUpdateChannelMediaRelay` and `startOrUpdateChannelMediaRelayEx`, allowing for a simpler and smoother way to start and update media relay across channels. With these methods, developers can easily start the media relay across channels and update the target channels for media relay with a single method. Additionally, the internal interaction frequency has been optimized, effectively reducing latency in function calls.
526537

527538
**6. Custom audio tracks**
528539

markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,15 @@ This release has optimized the implementation of some functions, involving renam
6060
- The value of `localVideoStreamReasonScreenCaptureResumed` (formerly `localVideoStreamReasonScreenCaptureResumed`) has been changed from 24 to 29. (Windows)
6161
- The `localVideoStreamErrorEncodeFailure` enumeration has been changed to `localVideoStreamReasonCodecNotSupport`.
6262

63-
5. **Audio loopback capturing (Windows, macOS)**
63+
5. **Log encryption behavior changes**
64+
65+
For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console.
66+
67+
Refer to the following solutions for different needs:
68+
- If you need to know the API call status, please check the API logs and print the SDK callback logs yourself.
69+
- For any other special requirements, please contact [technical support](mailto:[email protected]) and provide the corresponding encrypted logs.
70+
71+
6. **Audio loopback capturing (Windows, macOS)**
6472

6573
- Before v6.3.0, if you call the [`disableAudio`](API/api_irtcengine_disableaudio.html) method to disable the audio module, audio loopback capturing will not be disabled.
6674
- As of v6.3.0, if you call the [`disableAudio`](API/api_irtcengine_disableaudio.html) method to disable the audio module, audio loopback capturing will be disabled as well. If you need to enable audio loopback capturing, you need to enable the audio module by calling the [`enableAudio`](API/api_irtcengine_enableaudio.html) method and then call [`enableLoopbackRecording`](API/api_irtcengine_enableloopbackrecording.html).
@@ -415,7 +423,7 @@ v6.2.2 was released on July xx, 2023.
415423
This release includes the following additional improvements:
416424

417425
1. To improve the switching experience between multiple audio routes, this release adds the `setRouteInCommunicationMode` method. This method can switch the audio route from a Bluetooth headphone to the earpiece, wired headphone or speaker in communication volume mode ([`MODE_IN_COMMUNICATION`](https://developer.android.google.cn/reference/kotlin/android/media/AudioManager?hl=en#mode_in_communication)). (Android)
418-
2. The SDK automacially adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
426+
2. The SDK automatically adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
419427
3. To help users understand the reasons for more types of remote video state changes, the `remoteVideoStateReasonCodecNotSupport` enumeration has been added to the `onRemoteVideoStateChanged` callback, indicating that the local video decoder does not support decoding the received remote video stream.
420428

421429
#### Issues fixed

markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ This release has optimized the implementation of some functions, involving renam
6969
- The value of `LocalVideoStreamReasonScreenCaptureResumed` (formerly `LocalVideoStreamReasonScreenCaptureResumed`) has been changed from 24 to 29.
7070
- The `LocalVideoStreamReasonCodecNotSupport` enumeration has been changed to `LocalVideoStreamReasonCodecNotSupport`.
7171

72+
5. **Log encryption behavior changes**
73+
74+
For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console.
75+
76+
Refer to the following solutions for different needs:
77+
- If you need to know the API call status, please check the API logs and print the SDK callback logs yourself.
78+
- For any other special requirements, please contact [technical support](mailto:[email protected]) and provide the corresponding encrypted logs.
79+
7280
#### New features
7381

7482
1. **Custom mixed video layout on receiving end **
@@ -341,7 +349,7 @@ This release includes the following additional improvements:
341349
- Optimizes the logic of handling invalid parameters. When you call the `setPlaybackSpeed` method to set the playback speed of audio files, if you pass an invalid parameter, the SDK returns the error code -2, which means that you need to reset the parameter.
342350
- Optimizes the logic of Token parsing, in order to prevent an app from crash when an invalid token is passed in.
343351
- To improve the switching experience between multiple audio routes, this release adds the `setRouteInCommunicationMode` method. This method can switch the audio route from a Bluetooth headphone to the earpiece, wired headphone or speaker in communication volume mode ([`MODE_IN_COMMUNICATION`](https://developer.android.google.cn/reference/kotlin/android/media/AudioManager?hl=en#mode_in_communication)). (Android)
344-
- The SDK automacially adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
352+
- The SDK automatically adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
345353
- To help users understand the reasons for more types of remote video state changes, the `remoteVideoStateReasonCodecNotSupport` enumeration has been added to the `onRemoteVideoStateChanged` callback, indicating that the local video decoder does not support decoding the received remote video stream.
346354

347355
#### Issues fixed
@@ -521,7 +529,7 @@ This release introduces `startCameraCapture`. By calling this method multiple ti
521529

522530
**6. Channel media relay**
523531

524-
This release introduces `startOrUpdateChannleMediaRelay` and `startOrUpdateChannleMediaRelayEx`, allowing for a simpler and smoother way to start and update media relay across channels. With these methods, developers can easily start the media relay across channels and update the target channels for media relay with a single method. Additionally, the internal interaction frequency has been optimized, effectively reducing latency in function calls.
532+
This release introduces `startOrUpdateChannelMediaRelay` and `startOrUpdateChannelMediaRelayEx`, allowing for a simpler and smoother way to start and update media relay across channels. With these methods, developers can easily start the media relay across channels and update the target channels for media relay with a single method. Additionally, the internal interaction frequency has been optimized, effectively reducing latency in function calls.
525533

526534
**7. Custom audio tracks**
527535

markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md

+35-7
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,25 @@ This release has optimized the implementation of some functions, involving renam
5353

5454
- The value of `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_PAUSED` (formerly `LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_PAUSED`) has been changed from 23 to 28.
5555
- The value of `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_RESUMED` (formerly `LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_RESUMED`) has been changed from 24 to 29.
56-
- The `LOCAL_VIDEO_STREAM_ERROR_CODEC_NOT_SUPPORT` enumeration has been changed to `LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT`.
56+
- The `LOCAL_VIDEO_STREAM_ERROR_CODEC_NOT_SUPPORT` enumeration has been changed to `LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT`
57+
58+
4. **Audio route**
59+
60+
Starting with this release, `routeBluetooth` in [`AudioRoute`](/api-ref/rtc/unity/API/enum_audioroute) is renamed to `ROUTE_BLUETOOTH_DEVICE_HFP`, representing a Bluetooth device using the HFP protocol. `ROUTE_BLUETOOTH_DEVICE_A2DP`(10) is added to represent a Bluetooth device using the A2DP protocol
61+
62+
5. **Audio loopback capturing (Windows, macOS)**
63+
64+
- Before v4.3.0, if you call the [`DisableAudio`](/api-ref/rtc/unity/API/toc_audio_basic#api_irtcengine_disableaudio) method to disable the audio module, audio loopback capturing will not be disabled.
65+
- As of v4.3.0, if you call the [`DisableAudio`](/api-ref/rtc/unity/API/toc_audio_basic#api_irtcengine_disableaudio) method to disable the audio module, audio loopback capturing will be disabled as well. If you need to enable audio loopback capturing, you need to enable the audio module by calling the [`EnableAudio`](/api-ref/rtc/unity/API/toc_audio_basic#api_irtcengine_enableaudio) method and then call [`EnableLoopbackRecording`](/api-ref/rtc/unity/API/toc_audio_capture#api_irtcengine_enableloopbackrecording).
66+
67+
6. **Log encryption behavior changes**
68+
69+
For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console.
70+
71+
Refer to the following solutions for different needs:
72+
73+
- If you need to know the API call status, please check the API logs and print the SDK callback logs yourself.
74+
- For any other special requirements, please contact [technical support](mailto:[email protected]) and provide the corresponding encrypted logs.
5775

5876
#### New features
5977

@@ -65,15 +83,23 @@ This release has optimized the implementation of some functions, involving renam
6583
2. Call [SetupLocalVideo](API/api_irtcengine_setuplocalvideo.html) to set the second view: Set the `position` parameter to `POSITION_POST_CAPTURER` in `VideoCanvas`, the video observed here has the effect of video preprocessing.
6684
3. Observe the local preview effect: The first view is the original video of a real person; the second view is the virtual portrait after video preprocessing (including image enhancement, virtual background, and local preview of watermarks) effects.
6785

68-
2. **Query Device Score**
86+
2. **Custom mixed video layout on receiving end (Android, iOS)**
87+
88+
To facilitate customized layout of mixed video stream at the receiver end, this release introduces the [OnTranscodedStreamLayoutInfo](API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.html) callback. When the receiver receives the channel's mixed video stream sent by the video mixing server, this callback is triggered, reporting the layout information of the mixed video stream and the layout information of each sub-video stream in the mixed stream. The receiver can set a separate `view` for rendering the sub-video stream (distinguished by `subviewUid`) in the mixed video stream when calling the [SetupRemoteVideo](API/api_irtcengine_setupremotevideo.html) method, achieving a custom video layout effect.
89+
90+
When the layout of the sub-video streams in the mixed video stream changes, this callback will also be triggered to report the latest layout information in real time.
91+
92+
Through this feature, the receiver end can flexibly adjust the local view layout. When applied in a multi-person video scenario, the receiving end only needs to receive and decode a mixed video stream, which can effectively reduce the CPU usage and network bandwidth when decoding multiple video streams on the receiving end.
93+
94+
3. **Query Device Score**
6995

7096
This release adds the [QueryDeviceScore](API/api_irtcengine_querydevicescore.html) method to query the device's score level to ensure that the user-set parameters do not exceed the device's capabilities. For example, in HD or UHD video scenarios, you can first call this method to query the device's score. If the returned score is low (for example, below 60), you need to lower the video resolution to avoid affecting the video experience. The minimum device score required for different business scenarios is varied. For specific score recommendations, please contact [technical support](mailto:[email protected]).
7197

72-
3. **Select different audio tracks for local playback and streaming**
98+
4. **Select different audio tracks for local playback and streaming**
7399

74100
This release introduces the [SelectMultiAudioTrack](API/api_imediaplayer_selectmultiaudiotrack.html) method that allows you to select different audio tracks for local playback and streaming to remote users. For example, in scenarios like online karaoke, the host can choose to play the original sound locally and publish the accompaniment in the channel. Before using this function, you need to open the media file through the [OpenWithMediaSource](API/api_imediaplayer_openwithmediasource.html) method and enable this function by setting the `enableMultiAudioTrack` parameter in [MediaSource](API/class_mediasource.html).
75101

76-
4. **Others**
102+
5. **Others**
77103

78104
This release has passed the test verification of the following APIs and can be applied to the entire series of RTC 4.x SDK.
79105

@@ -125,6 +151,8 @@ This release fixed the following issues:
125151

126152
**Added**
127153

154+
- [OnTranscodedStreamLayoutInfo](API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.html) (Android, iOS)
155+
- [VideoLayout](API/class_videolayout.html) (Android, iOS)
128156
- The `subviewUid` member in [VideoCanvas](API/class_videocanvas.html)
129157
- [EnableCustomAudioLocalPlayback](API/api_irtcengine_enablecustomaudiolocalplayback.html)
130158
- [QueryDeviceScore](API/api_irtcengine_querydevicescore.html)
@@ -137,9 +165,9 @@ This release fixed the following issues:
137165

138166
**Modified**
139167

168+
- `ROUTE_BLUETOOTH` is renamed as`ROUTE_BLUETOOTH_DEVICE_HFP`
140169
- All `ERROR` fields in the following enumerations are changed to `REASON`:
141-
142-
- `LOCAL_AUDIO_STREAM_ERROR_OK`
170+
- `LOCAL_AUDIO_STREAM_ERROR_OK`
143171
- `LOCAL_AUDIO_STREAM_ERROR_FAILURE`
144172
- `LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION`
145173
- `LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY`
@@ -413,7 +441,7 @@ This release deletes `GetMaxMetadataSize` and `OnReadyToSendMetadata` in the `IM
413441
This release includes the following additional improvements:
414442

415443
1. To improve the switching experience between multiple audio routes, this release adds the `SetRouteInCommunicationMode` method. This method can switch the audio route from a Bluetooth headphone to the earpiece, wired headphone or speaker in communication volume mode ([`MODE_IN_COMMUNICATION`](https://developer.android.google.cn/reference/kotlin/android/media/AudioManager?hl=en#mode_in_communication)). (Android)
416-
2. The SDK automacially adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
444+
2. The SDK automatically adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
417445
3. To help users understand the reasons for more types of remote video state changes, the `REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT` enumeration has been added to the `OnRemoteVideoStateChanged` callback, indicating that the local video decoder does not support decoding the received remote video stream.
418446

419447
#### Issues fixed

0 commit comments

Comments
 (0)