Skip to content

Commit

Permalink
feat: support native 4.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
guoxianzhe committed Mar 11, 2024
1 parent 5311402 commit c4f239b
Show file tree
Hide file tree
Showing 30 changed files with 570 additions and 140 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
lint:
strategy:
matrix:
platform: [ ubuntu, windows ]
platform: [ubuntu, windows]
runs-on: ${{ matrix.platform }}-latest
steps:
- name: Checkout
Expand All @@ -35,7 +35,7 @@ jobs:
test:
strategy:
matrix:
platform: [ ubuntu, windows ]
platform: [ubuntu, windows]
runs-on: ${{ matrix.platform }}-latest
steps:
- name: Checkout
Expand All @@ -50,7 +50,7 @@ jobs:
build-library:
strategy:
matrix:
platform: [ ubuntu, windows ]
platform: [ubuntu, windows]
runs-on: ${{ matrix.platform }}-latest
steps:
- name: Checkout
Expand All @@ -65,7 +65,7 @@ jobs:
test-android:
strategy:
matrix:
newArch: [ true, false ]
newArch: [true, false]
runs-on: macos-latest
env:
TURBO_CACHE_DIR: .turbo/android
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
test-ios:
strategy:
matrix:
newArch: [ 1, 0 ]
newArch: [1, 0]
runs-on: macos-latest
env:
TURBO_CACHE_DIR: .turbo/ios
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:

- name: Build example for iOS
run: |
yarn turbo run detox:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --force=true
yarn turbo run detox:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
- uses: futureware-tech/simulator-action@v1
with:
Expand Down
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,9 @@ dependencies {
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+"
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
api 'io.agora.rtc:full-sdk:4.3.0'
implementation 'io.agora.rtc:full-screen-sharing:4.3.0'
implementation 'io.agora.rtc:iris-rtc:4.3.0-build.2'
api 'io.agora.rtc:agora-full-preview:4.3.1-dev.2'
implementation 'io.agora.rtc:full-screen-sharing-special:4.3.1-dev.2'
implementation 'io.agora.rtc:iris-rtc:4.3.1-dev.2'
}

if (isNewArchitectureEnabled()) {
Expand Down
2 changes: 1 addition & 1 deletion example/ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,5 @@ target 'AgoraRtcNgExample' do
end

target 'ScreenShare' do
pod 'AgoraRtcEngine_iOS', '4.3.0'
pod 'AgoraRtcEngine_iOS_Preview', '4.3.1-dev.2'
end
52 changes: 11 additions & 41 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,36 +1,6 @@
PODS:
- AgoraIrisRTC_iOS (4.3.0-build.2)
- AgoraRtcEngine_iOS (4.3.0):
- AgoraRtcEngine_iOS/AIAEC (= 4.3.0)
- AgoraRtcEngine_iOS/AINS (= 4.3.0)
- AgoraRtcEngine_iOS/AudioBeauty (= 4.3.0)
- AgoraRtcEngine_iOS/ClearVision (= 4.3.0)
- AgoraRtcEngine_iOS/ContentInspect (= 4.3.0)
- AgoraRtcEngine_iOS/FaceCapture (= 4.3.0)
- AgoraRtcEngine_iOS/FaceDetection (= 4.3.0)
- AgoraRtcEngine_iOS/ReplayKit (= 4.3.0)
- AgoraRtcEngine_iOS/RtcBasic (= 4.3.0)
- AgoraRtcEngine_iOS/SpatialAudio (= 4.3.0)
- AgoraRtcEngine_iOS/VideoAv1CodecDec (= 4.3.0)
- AgoraRtcEngine_iOS/VideoCodecDec (= 4.3.0)
- AgoraRtcEngine_iOS/VideoCodecEnc (= 4.3.0)
- AgoraRtcEngine_iOS/VirtualBackground (= 4.3.0)
- AgoraRtcEngine_iOS/VQA (= 4.3.0)
- AgoraRtcEngine_iOS/AIAEC (4.3.0)
- AgoraRtcEngine_iOS/AINS (4.3.0)
- AgoraRtcEngine_iOS/AudioBeauty (4.3.0)
- AgoraRtcEngine_iOS/ClearVision (4.3.0)
- AgoraRtcEngine_iOS/ContentInspect (4.3.0)
- AgoraRtcEngine_iOS/FaceCapture (4.3.0)
- AgoraRtcEngine_iOS/FaceDetection (4.3.0)
- AgoraRtcEngine_iOS/ReplayKit (4.3.0)
- AgoraRtcEngine_iOS/RtcBasic (4.3.0)
- AgoraRtcEngine_iOS/SpatialAudio (4.3.0)
- AgoraRtcEngine_iOS/VideoAv1CodecDec (4.3.0)
- AgoraRtcEngine_iOS/VideoCodecDec (4.3.0)
- AgoraRtcEngine_iOS/VideoCodecEnc (4.3.0)
- AgoraRtcEngine_iOS/VirtualBackground (4.3.0)
- AgoraRtcEngine_iOS/VQA (4.3.0)
- AgoraIrisRTC_iOS (4.3.1-dev.2)
- AgoraRtcEngine_iOS_Preview (4.3.1-dev.2)
- boost (1.76.0)
- CocoaAsyncSocket (7.6.5)
- DoubleConversion (1.1.6)
Expand Down Expand Up @@ -407,9 +377,9 @@ PODS:
- React-jsinspector (0.72.10)
- React-logger (0.72.10):
- glog
- react-native-agora (4.2.6):
- AgoraIrisRTC_iOS (= 4.3.0-build.2)
- AgoraRtcEngine_iOS (= 4.3.0)
- react-native-agora (4.3.0):
- AgoraIrisRTC_iOS (= 4.3.1-dev.2)
- AgoraRtcEngine_iOS_Preview (= 4.3.1-dev.2)
- RCT-Folly (= 2021.07.22.00)
- React-Core
- react-native-agora-rawdata (0.1.0):
Expand Down Expand Up @@ -549,7 +519,7 @@ PODS:
- Yoga (~> 1.14)

DEPENDENCIES:
- AgoraRtcEngine_iOS (= 4.3.0)
- AgoraRtcEngine_iOS_Preview (= 4.3.1-dev.2)
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
Expand Down Expand Up @@ -628,7 +598,7 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- AgoraIrisRTC_iOS
- AgoraRtcEngine_iOS
- AgoraRtcEngine_iOS_Preview
- CocoaAsyncSocket
- Flipper
- Flipper-Boost-iOSX
Expand Down Expand Up @@ -747,8 +717,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"

SPEC CHECKSUMS:
AgoraIrisRTC_iOS: 2caf892fa827777fe43b6ac7d12e9b42579eb865
AgoraRtcEngine_iOS: 267c0980c1fb97e056d05b850f8629b05b6e467a
AgoraIrisRTC_iOS: d832ff9af15347bad75fdc09e31d49a78dc95b9e
AgoraRtcEngine_iOS_Preview: 0e67d4a42123860fa8226d74ca317d7eb81669a8
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
Expand Down Expand Up @@ -782,7 +752,7 @@ SPEC CHECKSUMS:
React-jsiexecutor: 45ef2ec6dcde31b90469175ec76ddac77b91dfc3
React-jsinspector: de0198127395fec3058140a20c045167f761bb16
React-logger: dc3a2b174d79c2da635059212747d8d929b54e06
react-native-agora: d485857dafe397d26f2ba2355b4b7db98508bc17
react-native-agora: 6fc143898be226f30fffcd249161b210daa1502c
react-native-agora-rawdata: 097895cdccd8fcf3cff5dffe23372f5d3c89fd31
react-native-image-tools: 88218449791389bbf550a2c475a3b564c8233c8b
react-native-safe-area-context: 7aa8e6d9d0f3100a820efb1a98af68aa747f9284
Expand Down Expand Up @@ -814,6 +784,6 @@ SPEC CHECKSUMS:
Yoga: d0003f849d2b5224c072cef6568b540d8bb15cd3
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a

PODFILE CHECKSUM: 130d9ef97e0ac413532866c101953098003f33da
PODFILE CHECKSUM: f4fb8fcaf1ae5070714b48f21daf167b92d72aa3

COCOAPODS: 1.13.0
4 changes: 2 additions & 2 deletions react-native-agora.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ Pod::Spec.new do |s|
end
end

s.dependency 'AgoraRtcEngine_iOS', '4.3.0'
s.dependency 'AgoraIrisRTC_iOS', '4.3.0-build.2'
s.dependency 'AgoraRtcEngine_iOS_Preview', '4.3.1-dev.2'
s.dependency 'AgoraIrisRTC_iOS', '4.3.1-dev.2'
s.libraries = 'stdc++'
s.framework = 'ReplayKit'
end
2 changes: 1 addition & 1 deletion scripts/terra/config/impl_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ parsers:
- name: RTCParser
package: '@agoraio-extensions/terra_shared_configs'
args:
sdkVersion: 4.3.0
sdkVersion: 4.3.1
FixEnumConstantParser:
skipCalEnumValue: true

Expand Down
2 changes: 1 addition & 1 deletion scripts/terra/config/types_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ parsers:
- name: RTCParser
package: '@agoraio-extensions/terra_shared_configs'
args:
sdkVersion: 4.3.0
sdkVersion: 4.3.1
FixEnumConstantParser:
skipCalEnumValue: true

Expand Down
2 changes: 1 addition & 1 deletion scripts/terra/impl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ type ClazzMethodUserData = IrisApiIdParserUserData & {
};

export function impl(parseResult: ParseResult) {
let preParseResult = deepClone(parseResult, ['parent']);
let preParseResult = deepClone(parseResult, ['parent', 'outVariable']);
let cxxfiles = parseResult.nodes as CXXFile[];
//only render file which has clazz
let view = cxxfiles
Expand Down
82 changes: 78 additions & 4 deletions src/AgoraBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,10 @@ export enum ErrorCodeType {
* 121: The user ID is invalid.
*/
ErrInvalidUserId = 121,
/**
* @ignore
*/
ErrDatastreamDecryptionFailed = 122,
/**
* 123: The user is banned from the server.
*/
Expand Down Expand Up @@ -1196,6 +1200,10 @@ export class EncodedVideoFrameInfo {
* The type of video streams. See VideoStreamType.
*/
streamType?: VideoStreamType;
/**
* @ignore
*/
presentationMs?: number;
}

/**
Expand Down Expand Up @@ -1465,7 +1473,7 @@ export class WatermarkRatio {
*/
export class WatermarkOptions {
/**
* Is the watermark visible in the local preview view? true : (Default) The watermark is visible in the local preview view. false : The watermark is not visible in the local preview view.
* Whether the watermark is visible in the local preview view: true : (Default) The watermark is visible in the local preview view. false : The watermark is not visible in the local preview view.
*/
visibleInPreview?: boolean;
/**
Expand Down Expand Up @@ -1940,6 +1948,36 @@ export enum CaptureBrightnessLevelType {
CaptureBrightnessLevelDark = 2,
}

/**
* @ignore
*/
export enum CameraStabilizationMode {
/**
* @ignore
*/
CameraStabilizationModeOff = -1,
/**
* @ignore
*/
CameraStabilizationModeAuto = 0,
/**
* @ignore
*/
CameraStabilizationModeLevel1 = 1,
/**
* @ignore
*/
CameraStabilizationModeLevel2 = 2,
/**
* @ignore
*/
CameraStabilizationModeLevel3 = 3,
/**
* @ignore
*/
CameraStabilizationModeMaxLevel = 3,
}

/**
* The state of the local audio.
*/
Expand Down Expand Up @@ -2082,6 +2120,14 @@ export enum LocalVideoStreamReason {
* @ignore
*/
LocalVideoStreamReasonDeviceInvalidId = 10,
/**
* @ignore
*/
LocalVideoStreamErrorDeviceInterrupt = 14,
/**
* @ignore
*/
LocalVideoStreamErrorDeviceFatalError = 15,
/**
* @ignore
*/
Expand Down Expand Up @@ -2198,6 +2244,14 @@ export enum RemoteAudioStateReason {
* 7: The remote user leaves the channel.
*/
RemoteAudioReasonRemoteOffline = 7,
/**
* @ignore
*/
RemoteAudioReasonNoPacketReceive = 8,
/**
* @ignore
*/
RemoteAudioReasonLocalPlayFailed = 9,
}

/**
Expand Down Expand Up @@ -2639,7 +2693,7 @@ export enum RtmpStreamPublishReason {
*/
RtmpStreamPublishReasonInvalidAppid = 15,
/**
* 16: Your project does not have permission to use streaming services. Refer to Media Push to enable the Media Push permission.
* 16: Your project does not have permission to use streaming services.
*/
RtmpStreamPublishReasonInvalidPrivilege = 16,
/**
Expand Down Expand Up @@ -3773,6 +3827,10 @@ export enum AudioEffectPreset {
* Virtual surround sound, that is, the SDK generates a simulated surround sound field on the basis of stereo channels, thereby creating a surround sound effect. If the virtual surround sound is enabled, users need to use stereo audio playback devices to hear the anticipated audio effect.
*/
RoomAcousticsVirtualSurroundSound = 0x02010900,
/**
* @ignore
*/
RoomAcousticsChorus = 0x02010d00,
/**
* A middle-aged man's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
*/
Expand Down Expand Up @@ -4203,7 +4261,7 @@ export enum ChannelMediaRelayError {
*/
RelayErrorServerErrorResponse = 1,
/**
* 2: No server response. You can call leaveChannel to leave the channel. This error can also occur if your project has not enabled co-host token authentication. You can to enable the service for cohosting across channels before starting a channel media relay.
* 2: No server response. This error may be caused by poor network connections. If this error occurs when initiating a channel media relay, you can try again later; if this error occurs during channel media relay, you can call leaveChannel to leave the channel. This error can also occur if the channel media relay service is not enabled in the project. You can contact to enable the service.
*/
RelayErrorServerNoResponse = 2,
/**
Expand Down Expand Up @@ -4424,6 +4482,10 @@ export class EncryptionConfig {
* Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on the server side. See Media Stream Encryption for details. This parameter takes effect only in Aes128Gcm2 or Aes256Gcm2 encrypted mode. In this case, ensure that this parameter is not 0.
*/
encryptionKdfSalt?: number[];
/**
* @ignore
*/
datastreamEncryptionEnabled?: boolean;
}

/**
Expand All @@ -4442,6 +4504,14 @@ export enum EncryptionErrorType {
* 2: Encryption errors.
*/
EncryptionErrorEncryptionFailure = 2,
/**
* @ignore
*/
EncryptionErrorDatastreamDecryptionFailure = 3,
/**
* @ignore
*/
EncryptionErrorDatastreamEncryptionFailure = 4,
}

/**
Expand Down Expand Up @@ -4598,6 +4668,10 @@ export enum EarMonitoringFilterType {
* 1<<2: Enable noise suppression to the in-ear monitor.
*/
EarMonitoringFilterNoiseSuppression = 1 << 2,
/**
* @ignore
*/
EarMonitoringFilterReusePostProcessingFilter = 1 << 15,
}

/**
Expand Down Expand Up @@ -4916,7 +4990,7 @@ export class SpatialAudioParams {
speaker_attenuation?: number;
/**
* Whether to enable the Doppler effect: When there is a relative displacement between the sound source and the receiver of the sound source, the tone heard by the receiver changes. true : Enable the Doppler effect. false : (Default) Disable the Doppler effect.
* This parameter is suitable for scenarios where the sound source is moving at high speed (for example, racing games). It is not recommended for common audio and video interactive scenarios (for example, voice chat, cohosting, or online KTV).
* This parameter is suitable for scenarios where the sound source is moving at high speed (for example, racing games). It is not recommended for common audio and video interactive scenarios (for example, voice chat, co-streaming, or online KTV).
* When this parameter is enabled, Agora recommends that you set a regular period (such as 30 ms), and then call the updatePlayerPositionInfo, updateSelfPosition, and updateRemotePosition methods to continuously update the relative distance between the sound source and the receiver. The following factors can cause the Doppler effect to be unpredictable or the sound to be jittery: the period of updating the distance is too long, the updating period is irregular, or the distance information is lost due to network packet loss or delay.
*/
enable_doppler?: boolean;
Expand Down

0 comments on commit c4f239b

Please sign in to comment.