Skip to content

Commit

Permalink
feat: support 3.6.2
Browse files Browse the repository at this point in the history
  • Loading branch information
LichKing-2234 committed Mar 8, 2022
1 parent 5fcf108 commit 1133c71
Show file tree
Hide file tree
Showing 8 changed files with 515 additions and 25 deletions.
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ def kotlin_version = getExtOrDefault('kotlinVersion')
dependencies {
// noinspection GradleDynamicVersion
api 'com.facebook.react:react-native:+'
api 'com.github.agorabuilder:native-full-sdk:3.5.2'
api 'com.github.agorabuilder:native-full-sdk:3.6.2'

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
40 changes: 24 additions & 16 deletions example/ios/AgoraExample.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -231,32 +231,40 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-AgoraExample/Pods-AgoraExample-frameworks.sh",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraAIDenoiseExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraCIExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraCore.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraDav1dExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraFDExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraJNDExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraRtcKit.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraSoundTouch.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/AgoraVideoSegmentationExtension.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/Agorafdkaac.framework",
"${PODS_ROOT}/AgoraRtcEngine_iOS/Agoraffmpeg.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/AINS/AgoraAIDenoiseExtension.framework/AgoraAIDenoiseExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/AV1Dec/AgoraDav1dExtension.framework/AgoraDav1dExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ContentInspect/AgoraCIExtension.framework/AgoraCIExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/FullAudioFormat/AgoraFullAudioFormatExtension.framework/AgoraFullAudioFormatExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/JND/AgoraJNDExtension.framework/AgoraJNDExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ROIEnc/AgoraFDExtension.framework/AgoraFDExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/ReplayKit/AgoraReplayKitExtension.framework/AgoraReplayKitExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraRtcKit.framework/AgoraRtcKit",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraCore.framework/AgoraCore",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/Agoraffmpeg.framework/Agoraffmpeg",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/Agorafdkaac.framework/Agorafdkaac",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/RtcBasic/AgoraSoundTouch.framework/AgoraSoundTouch",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/SuperResolution/AgoraSuperResolutionExtension.framework/AgoraSuperResolutionExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/VideoPreprocess/AgoraVideoProcessExtension.framework/AgoraVideoProcessExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraRtcEngine_iOS/VirtualBackground/AgoraVideoSegmentationExtension.framework/AgoraVideoSegmentationExtension",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraAIDenoiseExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCIExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraDav1dExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFDExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCIExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFullAudioFormatExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraJNDExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraFDExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraReplayKitExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraRtcKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSoundTouch.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSuperResolutionExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoProcessExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoSegmentationExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
2 changes: 1 addition & 1 deletion react-native-agora.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ Pod::Spec.new do |s|
s.swift_version = "4.0"

s.dependency "React"
s.dependency "AgoraRtcEngine_iOS", "3.5.2"
s.dependency "AgoraRtcEngine_iOS", "3.6.2"
end
129 changes: 123 additions & 6 deletions src/common/Classes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import type {
VideoStreamType,
VirtualBackgroundBlurDegree,
VirtualBackgroundSourceType,
VideoCodecTypeForStream,
} from './Enums';

/**
Expand Down Expand Up @@ -347,18 +348,24 @@ export class BeautyOptions {
* The default value is 0.1. This parameter adjusts the red saturation level.
*/
rednessLevel?: number;
/**
* TODO(doc)
*/
sharpnessLevel?: number;

constructor(params?: {
lighteningContrastLevel?: LighteningContrastLevel;
lighteningLevel?: number;
smoothnessLevel?: number;
rednessLevel?: number;
sharpnessLevel?: number;
}) {
if (params) {
this.lighteningContrastLevel = params.lighteningContrastLevel;
this.lighteningLevel = params.lighteningLevel;
this.smoothnessLevel = params.smoothnessLevel;
this.rednessLevel = params.rednessLevel;
this.sharpnessLevel = params.sharpnessLevel;
}
}
}
Expand Down Expand Up @@ -387,6 +394,14 @@ export class AgoraImage {
* Height of the image on the broadcasting video.
*/
height?: number;
/**
* TODO(doc)
*/
zOrder?: number;
/**
* TODO(doc)
*/
alpha?: number;

constructor(
url: string,
Expand All @@ -395,6 +410,8 @@ export class AgoraImage {
y?: number;
width?: number;
height?: number;
zOrder?: number;
alpha?: number;
}
) {
this.url = url;
Expand All @@ -403,6 +420,8 @@ export class AgoraImage {
this.y = params.y;
this.width = params.width;
this.height = params.height;
this.zOrder = params.zOrder;
this.alpha = params.alpha;
}
}
}
Expand Down Expand Up @@ -551,11 +570,19 @@ export class LiveTranscoding {
* the audience of the CDN live publishing stream can see it.
*/
watermark?: AgoraImage;
/**
* TODO(doc)
*/
watermarkList?: AgoraImage[];
/**
* The background image added to the CDN live publishing stream. Once a background image is added,
* the audience of the CDN live publishing stream can see it.
*/
backgroundImage?: AgoraImage;
/**
* TODO(doc)
*/
backgroundImageList?: AgoraImage[];
/**
* Self-defined audio-sample rate: AudioSampleRateType.
*/
Expand Down Expand Up @@ -583,6 +610,10 @@ export class LiveTranscoding {
* Video codec profile type: VideoCodecProfileType. Set it as BASELINE, MAIN, or HIGH (default). If you set this parameter to other values, Agora adjusts it to the default value HIGH.
*/
videoCodecProfile?: VideoCodecProfileType;
/**
* TODO(doc)
*/
videoCodecType?: VideoCodecTypeForStream;
/**
* Sets the background color.
*/
Expand All @@ -591,10 +622,18 @@ export class LiveTranscoding {
* Reserved property. Extra user-defined information to send the Supplemental Enhancement Information (SEI) for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 Bytes.
*/
userConfigExtraInfo?: string;
/**
* TODO(doc)
*/
metadata?: string;
/**
* An TranscodingUser object managing the user layout configuration in the CDN live stream. Agora supports a maximum of 17 transcoding users in a CDN live stream channel.
*/
transcodingUsers: TranscodingUser[];
/**
* TODO(doc)
*/
advancedFeatures?: Map<String, boolean>;

constructor(
transcodingUsers: TranscodingUser[],
Expand All @@ -606,14 +645,19 @@ export class LiveTranscoding {
lowLatency?: boolean;
videoGop?: number;
watermark?: AgoraImage;
watermarkList?: AgoraImage[];
backgroundImage?: AgoraImage;
backgroundImageList?: AgoraImage[];
audioSampleRate?: AudioSampleRateType;
audioBitrate?: number;
audioChannels?: AudioChannel;
audioCodecProfile?: AudioCodecProfileType;
videoCodecProfile?: VideoCodecProfileType;
videoCodecType?: VideoCodecTypeForStream;
backgroundColor?: Color;
userConfigExtraInfo?: string;
metadata?: string;
advancedFeatures?: Map<String, boolean>;
}
) {
if (params) {
Expand All @@ -624,14 +668,19 @@ export class LiveTranscoding {
this.lowLatency = params.lowLatency;
this.videoGop = params.videoGop;
this.watermark = params.watermark;
this.watermarkList = params.watermarkList;
this.backgroundImage = params.backgroundImage;
this.backgroundImageList = params.backgroundImageList;
this.audioSampleRate = params.audioSampleRate;
this.audioBitrate = params.audioBitrate;
this.audioChannels = params.audioChannels;
this.audioCodecProfile = params.audioCodecProfile;
this.videoCodecProfile = params.videoCodecProfile;
this.videoCodecType = params.videoCodecType;
this.backgroundColor = params.backgroundColor;
this.userConfigExtraInfo = params.userConfigExtraInfo;
this.metadata = params.metadata;
this.advancedFeatures = params.advancedFeatures;
}
this.transcodingUsers = transcodingUsers;
}
Expand Down Expand Up @@ -1731,27 +1780,25 @@ export class AudioRecordingConfiguration {
*/
recordingSampleRate?: AudioSampleRateType;
/**
* The degree of blurring applied to the custom background image. See [`VirtualBackgroundBlurDegree`]{@link VirtualBackgroundBlurDegree}.
*
* @note This parameter takes effect only when the type of the custom background image is `blur`.
*
* @since v3.5.2
* TODO(doc)
*/
blur_degree?: VirtualBackgroundBlurDegree;
recordingChannel?: number;

constructor(
filePath: string,
params?: {
recordingQuality?: AudioRecordingQuality;
recordingPosition?: AudioRecordingPosition;
recordingSampleRate?: AudioSampleRateType;
recordingChannel?: number;
}
) {
this.filePath = filePath;
if (params) {
this.recordingQuality = params.recordingQuality;
this.recordingPosition = params.recordingPosition;
this.recordingSampleRate = params.recordingSampleRate;
this.recordingChannel = params.recordingChannel;
}
}
}
Expand Down Expand Up @@ -1864,3 +1911,73 @@ export class EchoTestConfiguration {
}
}
}

/**
* TODO(doc)
*/
export class MediaRecorderConfiguration {
storagePath: string;
containerFormat: number;
streamType: number;
maxDurationMs: number;
recorderInfoUpdateInterval: number;

constructor(
storagePath: string,
containerFormat: number,
streamType: number,
maxDurationMs: number,
recorderInfoUpdateInterval: number
) {
this.storagePath = storagePath;
this.containerFormat = containerFormat;
this.streamType = streamType;
this.maxDurationMs = maxDurationMs;
this.recorderInfoUpdateInterval = recorderInfoUpdateInterval;
}
}

export class ContentInspectModule {
type?: number;
interval?: number;
}

export class ContentInspectConfig {
extraInfo?: string;
modules?: ContentInspectModule[];
moduleCount?: number;
}

export class LocalAccessPointConfiguration {
ipList?: string[];
domainList?: string[];
verifyDomainName?: string;
mode?: number;
}

export class VideoDenoiserOptions {
denoiserMode?: number;
denoiserLevel?: number;
}

export class LowLightEnhanceOptions {
lowlightEnhanceMode?: number;
lowlightEnhanceLevel?: number;
}

export class ColorEnhanceOptions {
strengthLevel?: number;
skinProtectLevel?: number;
}

export interface RecorderInfo {
fileName: string;
durationMs: number;
fileSize: number;
}

export interface WlAccStats {
e2eDelayPercent: number;
frozenRatioPercent: number;
lossRatePercent: number;
}
Loading

0 comments on commit 1133c71

Please sign in to comment.