Skip to content

Commit

Permalink
Merge branch 'dev/4.5.0' of ssh://github.com/AgoraIO-Extensions/react…
Browse files Browse the repository at this point in the history
…-native-agora into dev/4.5.0
  • Loading branch information
guoxianzhe committed Oct 15, 2024
2 parents e9bee62 + 5dacdc4 commit 41f6b99
Show file tree
Hide file tree
Showing 9 changed files with 602 additions and 17 deletions.
137 changes: 133 additions & 4 deletions src/AgoraBase.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import './extension/AgoraBaseExtension';
import {
AudioSourceType,
RenderModeType,
VideoModulePosition,
VideoSourceType,
Expand Down Expand Up @@ -770,6 +771,10 @@ export enum OrientationMode {
* Video degradation preferences when the bandwidth is a constraint.
*/
export enum DegradationPreference {
/**
* @ignore
*/
MaintainAuto = -1,
/**
* 0: (Default) Prefers to reduce the video frame rate while maintaining video resolution during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where video quality is prioritized.
*/
Expand Down Expand Up @@ -1260,6 +1265,10 @@ export class EncodedVideoFrameInfo {
* Compression preference for video encoding.
*/
export enum CompressionPreference {
/**
* @ignore
*/
PreferCompressionAuto = -1,
/**
* 0: Low latency preference. The SDK compresses video frames to reduce latency. This preference is suitable for scenarios where smoothness is prioritized and reduced video quality is acceptable.
*/
Expand Down Expand Up @@ -1340,6 +1349,54 @@ export enum CameraFormatType {
CameraFormatBgra = 1,
}

/**
* @ignore
*/
export enum VideoModuleType {
/**
* @ignore
*/
VideoModuleCapturer = 0,
/**
* @ignore
*/
VideoModuleSoftwareEncoder = 1,
/**
* @ignore
*/
VideoModuleHardwareEncoder = 2,
/**
* @ignore
*/
VideoModuleSoftwareDecoder = 3,
/**
* @ignore
*/
VideoModuleHardwareDecoder = 4,
/**
* @ignore
*/
VideoModuleRenderer = 5,
}

/**
* @ignore
*/
export enum HdrCapability {
/**
* @ignore
*/
HdrCapabilityUnknown = -1,
/**
* @ignore
*/
HdrCapabilityUnsupported = 0,
/**
* @ignore
*/
HdrCapabilitySupported = 1,
}

/**
* The bit mask of the codec type.
*/
Expand Down Expand Up @@ -2054,6 +2111,10 @@ export enum VideoApplicationScenarioType {
* ApplicationScenario1v1 (2) is suitable for 1v1 video call scenarios. To meet the requirements for low latency and high-quality video in this scenario, the SDK optimizes its strategies, improving performance in terms of video quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under weak network conditions. 2: 1v1 video call scenario.
*/
ApplicationScenario1v1 = 2,
/**
* @ignore
*/
ApplicationScenarioLiveshow = 3,
}

/**
Expand Down Expand Up @@ -3223,6 +3284,46 @@ export enum VideoTranscoderError {
VtErrInternal = 20,
}

/**
* @ignore
*/
export class MixedAudioStream {
/**
* @ignore
*/
sourceType?: AudioSourceType;
/**
* @ignore
*/
remoteUserUid?: number;
/**
* @ignore
*/
channelName?: string;
/**
* @ignore
*/
trackId?: number;
}

/**
* @ignore
*/
export class LocalAudioMixerConfiguration {
/**
* @ignore
*/
streamCount?: number;
/**
* @ignore
*/
sourceStreams?: MixedAudioStream[];
/**
* @ignore
*/
syncWithLocalMic?: boolean;
}

/**
* Configurations of the last-mile network test.
*/
Expand Down Expand Up @@ -3753,6 +3854,20 @@ export class FaceShapeBeautyOptions {
styleIntensity?: number;
}

/**
* @ignore
*/
export class FilterEffectOptions {
/**
* @ignore
*/
path?: string;
/**
* @ignore
*/
strength?: number;
}

/**
* The low-light enhancement mode.
*/
Expand Down Expand Up @@ -3821,10 +3936,6 @@ export enum VideoDenoiserLevel {
* 1: Promotes reducing performance consumption during video noise reduction. prioritizes reducing performance consumption over video noise reduction quality. The performance consumption is lower, and the video noise reduction speed is faster. To avoid a noticeable shadowing effect (shadows trailing behind moving objects) in the processed video, Agora recommends that you use this settinging when the camera is fixed.
*/
VideoDenoiserLevelFast = 1,
/**
* 2: Enhanced video noise reduction. prioritizes video noise reduction quality over reducing performance consumption. The performance consumption is higher, the video noise reduction speed is slower, and the video noise reduction quality is better. If VideoDenoiserLevelHighQuality is not enough for your video noise reduction needs, you can use this enumerator.
*/
VideoDenoiserLevelStrength = 2,
}

/**
Expand Down Expand Up @@ -5242,6 +5353,20 @@ export class LocalAccessPointConfiguration {
disableAut?: boolean;
}

/**
* @ignore
*/
export enum RecorderStreamType {
/**
* @ignore
*/
Rtc = 0,
/**
* @ignore
*/
Preview = 1,
}

/**
* @ignore
*/
Expand All @@ -5254,6 +5379,10 @@ export class RecorderStreamInfo {
* @ignore
*/
uid?: number;
/**
* @ignore
*/
type?: RecorderStreamType;
}

/**
Expand Down
76 changes: 76 additions & 0 deletions src/AgoraMediaBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,44 @@ export enum VideoSourceType {
VideoSourceUnknown = 100,
}

/**
* @ignore
*/
export enum AudioSourceType {
/**
* @ignore
*/
AudioSourceMicrophone = 0,
/**
* @ignore
*/
AudioSourceCustom = 1,
/**
* @ignore
*/
AudioSourceMediaPlayer = 2,
/**
* @ignore
*/
AudioSourceLoopbackRecording = 3,
/**
* @ignore
*/
AudioSourceMixedStream = 4,
/**
* @ignore
*/
AudioSourceRemoteUser = 5,
/**
* @ignore
*/
AudioSourceRemoteChannel = 6,
/**
* @ignore
*/
AudioSourceUnknown = 100,
}

/**
* The type of the audio route.
*/
Expand Down Expand Up @@ -1137,6 +1175,20 @@ export enum VideoModulePosition {
PositionPostCapturerOrigin = 1 << 3,
}

/**
* @ignore
*/
export class SnapshotConfig {
/**
* @ignore
*/
filePath?: string;
/**
* @ignore
*/
position?: VideoModulePosition;
}

/**
* This class is used to get raw PCM audio.
*
Expand Down Expand Up @@ -1613,6 +1665,30 @@ export class MediaRecorderConfiguration {
* @ignore
*/
recorderInfoUpdateInterval?: number;
/**
* @ignore
*/
width?: number;
/**
* @ignore
*/
height?: number;
/**
* @ignore
*/
fps?: number;
/**
* @ignore
*/
sample_rate?: number;
/**
* @ignore
*/
channel_num?: number;
/**
* @ignore
*/
videoSourceType?: VideoSourceType;
}

/**
Expand Down
5 changes: 5 additions & 0 deletions src/IAgoraMediaEngine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,11 @@ export abstract class IMediaEngine {
encodedVideoOption?: SenderOptions
): number;

/**
* @ignore
*/
abstract setExternalRemoteEglContext(eglContext: any): number;

/**
* Sets the external audio source parameters.
*
Expand Down
Loading

0 comments on commit 41f6b99

Please sign in to comment.