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

feat: upgrade native sdk 4.3.2.234 #2159

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ dependencies {
if (isDev(project)) {
api fileTree(dir: "libs", include: ["*.jar"])
} else {
api 'io.agora.rtc:iris-rtc:4.3.2.11-build.1'
api 'io.agora.rtc:agora-special-full:4.3.2.11'
api 'io.agora.rtc:full-screen-sharing:4.3.2.11'
api 'io.agora.rtc:iris-rtc:4.3.2.234-build.1'
api 'io.agora.rtc:agora-special-full:4.3.2.234'
api 'io.agora.rtc:full-screen-sharing:4.3.2.234'
}
}

Expand Down
30 changes: 30 additions & 0 deletions android/src/main/cpp/third_party/include/agora_rtc/AgoraBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,14 @@ enum ERROR_CODE_TYPE {
ERR_PCMSEND_FORMAT = 200, // unsupport pcm format
ERR_PCMSEND_BUFFEROVERFLOW = 201, // buffer overflow, the pcm send rate too quickly

// 250~270 RDT error code
ERR_RDT_USER_NOT_EXIST = 250,
ERR_RDT_USER_NOT_READY = 251,
ERR_RDT_DATA_BLOCKED = 252,
ERR_RDT_CMD_EXCEED_LIMIT = 253,
ERR_RDT_DATA_EXCEED_LIMIT = 254,
ERR_RDT_ENCRYPTION = 255,

/// @cond
// signaling: 400~600
ERR_LOGIN_ALREADY_LOGIN = 428,
Expand Down Expand Up @@ -6266,6 +6274,28 @@ struct RecorderStreamInfo {
RecorderStreamInfo() : channelId(NULL), uid(0) {}
RecorderStreamInfo(const char* channelId, uid_t uid) : channelId(channelId), uid(uid) {}
};

/**
* Reliable Data Transmission Tunnel message type
*/
enum RdtStreamType {
RDT_STREAM_CMD, // Reliable; High priority; Limit 256 bytes per packet, 100 packets per second
RDT_STREAM_DATA, // Reliable; Low priority; Restricted by congestion control; Limit 128K bytes per packet
RDT_STREAM_COUNT,
};

/**
* Reliable Data Transmission tunnel state
*/
enum RdtState {
RDT_STATE_CLOSED, // initial or closed
RDT_STATE_OPENED, // opened and can send data
RDT_STATE_BLOCKED, // send buffer is full, can't send data, but can send cmd
RDT_STATE_PENDING, // reconnecting tunnel, can't send data
RDT_STATE_BROKEN, // rdt tunnel broken, will auto reset and rebuild tunnel
};


} // namespace rtc

namespace base {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2282,6 +2282,45 @@ class IRtcEngineEventHandler {
(void)cached;
}

/** Occurs when the local user receives the rdt data from the remote user.
*
* The SDK triggers this callback when the user receives the data stream that another user sends
* by calling the \ref agora::rtc::IRtcEngine::sendRdtMessage "sendRdtMessage" method.
*
* @param userId ID of the user who sends the data.
* @param type The RDT stream type
* @param data The sending data.
* @param length The length (byte) of the data.
*/
virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length) {
(void)userId;
(void)type;
(void)data;
(void)length;
};

/** Occurs when the RDT tunnel state changed
*
* @param userId ID of the user who sends the data.
* @param state The RDT tunnel state
*/
virtual void onRdtStateChanged(uid_t userId, RdtState state) {
(void)userId;
(void)state;
}

/** Occurs when the Media Control Message sent by others use sendMediaControlMessage
*
* @param userId ID of the user who sends the data.
* @param data The sending data.
* @param length The length (byte) of the data.
*/
virtual void onMediaControlMessage(uid_t userId, const char* data, size_t length) {
(void)userId;
(void)data;
(void)length;
}

/**
* Occurs when the token expires.
*
Expand Down Expand Up @@ -7669,6 +7708,27 @@ class IRtcEngine : public agora::base::IEngineBase {
*/
virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;

/** Send Reliable message to remote uid in channel.
* @param uid remote user id.
* @param type Reliable Data Transmission tunnel message type.
* @param data The pointer to the sent data.
* @param length The length of the sent data.
* @return
* - 0: Success.
* - < 0: Failure.
*/
virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length) = 0;

/** Send media control message
* @param uid Remote user id. In particular, if uid=0, the user is broadcast to the channel
* @param data The pointer to the sent data.
* @param length The length of the sent data, max 1024.
* @return
* - 0: Success.
* - < 0: Failure.
*/
virtual int sendMediaControlMessage(uid_t uid, const char* data, size_t length) = 0;

/** **DEPRECATED** Adds a watermark image to the local video or CDN live stream.

This method is not recommend, Use \ref agora::rtc::IRtcEngine::addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) "addVideoWatermark"2 instead.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ class IRtcEngineEventHandlerEx : public IRtcEngineEventHandler {
using IRtcEngineEventHandler::onConnectionBanned;
using IRtcEngineEventHandler::onStreamMessage;
using IRtcEngineEventHandler::onStreamMessageError;
using IRtcEngineEventHandler::onRdtMessage;
using IRtcEngineEventHandler::onRdtStateChanged;
using IRtcEngineEventHandler::onMediaControlMessage;
using IRtcEngineEventHandler::onRequestToken;
using IRtcEngineEventHandler::onTokenPrivilegeWillExpire;
using IRtcEngineEventHandler::onLicenseValidationFailure;
Expand Down Expand Up @@ -661,6 +664,51 @@ class IRtcEngineEventHandlerEx : public IRtcEngineEventHandler {
(void)cached;
}

/** Occurs when the local user receives the rdt data from the remote user.
*
* The SDK triggers this callback when the user receives the data stream that another user sends
* by calling the \ref agora::rtc::IRtcEngine::sendRdtMessage "sendRdtMessage" method.
*
* @param connection The RtcConnection object.
* @param userId ID of the user who sends the data.
* @param type The RDT stream type
* @param data The sending data.
* @param length The length (byte) of the data.
*/
virtual void onRdtMessage(const RtcConnection& connection, uid_t userId, RdtStreamType type, const char *data, size_t length) {
(void)connection;
(void)userId;
(void)type;
(void)data;
(void)length;
}

/** Occurs when the RDT tunnel state changed
*
* @param connection The RtcConnection object.
* @param userId ID of the user who sends the data.
* @param state The RDT tunnel state
*/
virtual void onRdtStateChanged(const RtcConnection& connection, uid_t userId, RdtState state) {
(void)connection;
(void)userId;
(void)state;
}

/** Occurs when the Media Control Message sent by others use sendMediaControlMessage
*
* @param connection The RtcConnection object.
* @param userId ID of the user who sends the data.
* @param data The sending data.
* @param length The length (byte) of the data.
*/
virtual void onMediaControlMessage(const RtcConnection& connection, uid_t userId, const char* data, size_t length) {
(void)connection;
(void)userId;
(void)data;
(void)length;
}

/**
* Occurs when the token expires.
*
Expand Down Expand Up @@ -1690,6 +1738,30 @@ class IRtcEngineEx : public IRtcEngine {
* - < 0: Failure.
*/
virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0;

/** Send Reliable message to remote uid in channel.
* @param uid Remote user id.
* @param type Reliable Data Transmission tunnel message type.
* @param data The pointer to the sent data.
* @param length The length of the sent data.
* @param connection The RtcConnection object.
* @return
* - 0: Success.
* - < 0: Failure.
*/
virtual int sendRdtMessageEx(uid_t uid, RdtStreamType type, const char *data, size_t length, const RtcConnection& connection) = 0;

/** Send media control message
* @param uid Remote user id. In particular, if uid=0, the user is broadcast to the channel
* @param data The pointer to the sent data.
* @param length The length of the sent data, max 1024.
* @param connection The RtcConnection object.
* @return
* - 0: Success.
* - < 0: Failure.
*/
virtual int sendMediaControlMessageEx(uid_t uid, const char *data, size_t length, const RtcConnection& connection) = 0;

/** Adds a watermark image to the local video.

This method adds a PNG watermark image to the local video in a live broadcast. Once the watermark image is added, all the audience in the channel (CDN audience included),
Expand Down
18 changes: 9 additions & 9 deletions internal/deps_summary.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
Iris:
https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Android_Video_20241206_1145_704.zip
https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_iOS_Video_20241206_1148_579.zip
https://download.agora.io/sdk/release/iris_4.3.2.234-build.1_DCG_Android_Video_20241218_1023_711.zip
https://download.agora.io/sdk/release/iris_4.3.2.234-build.1_DCG_iOS_Video_20241218_1025_587.zip
https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Mac_Video_20241206_1145_537.zip
https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Windows_Video_20241206_1146_579.zip
implementation 'io.agora.rtc:iris-rtc:4.3.2.11-build.1'
pod 'AgoraIrisRTC_iOS', '4.3.2.11-build.1'
implementation 'io.agora.rtc:iris-rtc:4.3.2.234-build.1'
pod 'AgoraIrisRTC_iOS', '4.3.2.234-build.1'
pod 'AgoraIrisRTC_macOS', '4.3.2.11-build.1'

Native:
<NATIVE_CDN_URL_ANDROID>
<NATIVE_CDN_URL_IOS>
https://download.agora.io/sdk/release/Agora_Native_SDK_for_Android_rel.v4.3.2.234_67684_FULL_20241216_1150_481084.zip
https://download.agora.io/sdk/release/Agora_Native_SDK_for_iOS_rel.v4.3.2.234_48133_FULL_20241216_1153_481087.zip
<NATIVE_CDN_URL_MACOS>
<NATIVE_CDN_URL_WINDOWS>
implementation 'io.agora.rtc:agora-special-full:4.3.2.11'
implementation 'io.agora.rtc:full-screen-sharing:4.3.2.11'
pod 'AgoraRtcEngine_Special_iOS', '4.3.2.11'
implementation 'io.agora.rtc:agora-special-full:4.3.2.234'
implementation 'io.agora.rtc:full-screen-sharing:4.3.2.234'
pod 'AgoraRtcEngine_Special_iOS', '4.3.2.234'
pod 'AgoraRtcEngine_Special_macOS', '4.3.2.11'
4 changes: 2 additions & 2 deletions ios/agora_rtc_engine.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ Pod::Spec.new do |s|
puts '[plugin_dev] Found .plugin_dev file, use vendored_frameworks instead.'
s.vendored_frameworks = 'libs/*.xcframework'
else
s.dependency 'AgoraIrisRTC_iOS', '4.3.2.11-build.1'
s.dependency 'AgoraRtcEngine_Special_iOS', '4.3.2.11'
s.dependency 'AgoraIrisRTC_iOS', '4.3.2.234-build.1'
s.dependency 'AgoraRtcEngine_Special_iOS', '4.3.2.234'
end

s.platform = :ios, '9.0'
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: agora_rtc_engine
description: >-
Flutter plugin of Agora RTC SDK, allow you to simply integrate Agora Video
Calling or Live Video Streaming to your app with just a few lines of code.
version: 6.3.2-sp.43211
version: 6.3.2-sp.432234
homepage: https://www.agora.io
repository: https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK/tree/main
environment:
Expand Down
4 changes: 2 additions & 2 deletions scripts/artifacts_version.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
set -e

export IRIS_CDN_URL_ANDROID="https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Android_Video_20241206_1145_704.zip"
export IRIS_CDN_URL_IOS="https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_iOS_Video_20241206_1148_579.zip"
export IRIS_CDN_URL_ANDROID="https://download.agora.io/sdk/release/iris_4.3.2.234-build.1_DCG_Android_Video_20241218_1023_711.zip"
export IRIS_CDN_URL_IOS="https://download.agora.io/sdk/release/iris_4.3.2.234-build.1_DCG_iOS_Video_20241218_1025_587.zip"
export IRIS_CDN_URL_MACOS="https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Mac_Video_20241206_1145_537.zip"
export IRIS_CDN_URL_WINDOWS="https://download.agora.io/sdk/release/iris_4.3.2.11-build.1_DCG_Windows_Video_20241206_1146_579.zip"
Loading