diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita index 646fd7e580e..f65990908ac 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita @@ -17,10 +17,11 @@ - (int)enableVoiceAITuner:(bool)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:)); virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0; - - - -

+ abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number; + public abstract int EnableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type); + abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number; + Future<void> enableVoiceAITuner( + {required bool enabled, required VoiceAiTunerType type});

diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita index 2dc7f13c286..468d0e47c27 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita @@ -24,22 +24,19 @@ (void)message; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); - onExtensionError?( - provider: string, - extension: string, + onExtensionErrorWithContext?( + context: ExtensionContext, error: number, message: string ): void; - public virtual void OnExtensionError(string provider, string extension, int error, string message) { } - onExtensionError?( - provider: string, - extension: string, + public virtual void OnExtensionErrorWithContext(ExtensionContext context, int error, string message){} + onExtensionErrorWithContext?( + context: ExtensionContext, error: number, message: string ): void; - final void Function( - String provider, String extension, int error, String message)? - onExtensionError; + final void Function(ExtensionContext context, int error, String message)? + onExtensionErrorWithContext;

diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita index 05996359cae..f9bcb7d0258 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita @@ -24,22 +24,19 @@ (void)value; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); - onExtensionEvent?( - provider: string, - extension: string, + onExtensionEventWithContext?( + context: ExtensionContext, key: string, value: string ): void; - public virtual void OnExtensionEvent(string provider, string extension, string key, string value) { } - onExtensionEvent?( - provider: string, - extension: string, + public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){} + onExtensionEventWithContext?( + context: ExtensionContext, key: string, value: string ): void; - final void Function( - String provider, String extName, String key, String value)? - onExtensionEvent; + final void Function(ExtensionContext context, String key, String value)? + onExtensionEventWithContext;

diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita index a2af322073b..808ed6f91da 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita @@ -20,10 +20,10 @@ (void)context; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); - onExtensionStarted?(provider: string, extension: string): void; - public virtual void OnExtensionStarted(string provider, string extension) { } - onExtensionStarted?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStarted; + onExtensionStartedWithContext?(context: ExtensionContext): void; + public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } + onExtensionStartedWithContext?(context: ExtensionContext): void; + final void Function(ExtensionContext context)? onExtensionStartedWithContext;

diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita index 6d68d544ea2..da58558e123 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita @@ -20,10 +20,10 @@ (void)context; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); - onExtensionStopped?(provider: string, extension: string): void; - public virtual void OnExtensionStopped(string provider, string extension) { } - onExtensionStopped?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStopped; + onExtensionStoppedWithContext?(context: ExtensionContext): void; + public virtual void OnExtensionStoppedWithContext(ExtensionContext context){ } + onExtensionStoppedWithContext?(context: ExtensionContext): void; + final void Function(ExtensionContext context)? onExtensionStoppedWithContext;

diff --git a/en-US/dita/RTC-NG/API/class_advanceoptions.dita b/en-US/dita/RTC-NG/API/class_advanceoptions.dita index 3cf02ad43c8..6b2f460e793 100644 --- a/en-US/dita/RTC-NG/API/class_advanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_advanceoptions.dita @@ -68,41 +68,52 @@ struct FAdvanceOptions { export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; + encodeAlpha?: boolean; } public class AdvanceOptions - { - public ENCODING_PREFERENCE encodingPreference { set; get; } - public COMPRESSION_PREFERENCE compressionPreference { set; get; } + { + public ENCODING_PREFERENCE encodingPreference; + public COMPRESSION_PREFERENCE compressionPreference; + public bool encodeAlpha; - public AdvanceOptions() - { - encodingPreference = ENCODING_PREFERENCE.PREFER_AUTO; - compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; - } + public AdvanceOptions() + { + this.encodingPreference = ENCODING_PREFERENCE.PREFER_AUTO; + this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; + this.encodeAlpha = false; + } - public AdvanceOptions(ENCODING_PREFERENCE encoding_preference, COMPRESSION_PREFERENCE compression_preference) - { - encodingPreference = encoding_preference; - compressionPreference = compression_preference; - } - } + public AdvanceOptions(ENCODING_PREFERENCE encoding_preference, COMPRESSION_PREFERENCE compression_preference, bool encode_alpha) + { + this.encodingPreference = encoding_preference; + this.compressionPreference = compression_preference; + this.encodeAlpha = encode_alpha; + } + + } export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; + encodeAlpha?: boolean; } - class AdvanceOptions { - const AdvanceOptions({this.encodingPreference, this.compressionPreference}); + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class AdvanceOptions { + const AdvanceOptions( + {this.encodingPreference, this.compressionPreference, this.encodeAlpha}); - @JsonKey(name: 'encodingPreference') + @JsonKey(name: 'encodingPreference') final EncodingPreference? encodingPreference; - @JsonKey(name: 'compressionPreference') + @JsonKey(name: 'compressionPreference') final CompressionPreference? compressionPreference; - factory AdvanceOptions.fromJson(Map<String, dynamic> json) => + @JsonKey(name: 'encodeAlpha') + final bool? encodeAlpha; + + factory AdvanceOptions.fromJson(Map<String, dynamic> json) => _$AdvanceOptionsFromJson(json); - Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); + Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); }

diff --git a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita index 3bc6d81c316..bb87752b55d 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -5,7 +5,7 @@ The channel media options.
-

+

public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; @@ -343,6 +343,8 @@ struct FChannelMediaOptions publishTranscodedVideoTrack?: boolean; + publishLipSyncTrack?: boolean; + autoSubscribeAudio?: boolean; autoSubscribeVideo?: boolean; @@ -391,6 +393,7 @@ struct FChannelMediaOptions public Optional<bool> publishMediaPlayerAudioTrack = new Optional<bool>(); public Optional<bool> publishMediaPlayerVideoTrack = new Optional<bool>(); public Optional<bool> publishTranscodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishLipSyncTrack = new Optional<bool>(); public Optional<bool> autoSubscribeAudio = new Optional<bool>(); public Optional<bool> autoSubscribeVideo = new Optional<bool>(); public Optional<bool> enableAudioRecordingOrPlayout = new Optional<bool>(); @@ -442,6 +445,8 @@ struct FChannelMediaOptions publishTranscodedVideoTrack?: boolean; + publishLipSyncTrack?: boolean; + autoSubscribeAudio?: boolean; autoSubscribeVideo?: boolean; @@ -491,6 +496,8 @@ class ChannelMediaOptions { this.publishMediaPlayerAudioTrack, this.publishMediaPlayerVideoTrack, this.publishTranscodedVideoTrack, + this.publishMixedAudioTrack, + this.publishLipSyncTrack, this.autoSubscribeAudio, this.autoSubscribeVideo, this.enableAudioRecordingOrPlayout, @@ -506,117 +513,755 @@ class ChannelMediaOptions { this.publishRhythmPlayerTrack, this.isInteractiveAudience, this.customVideoTrackId, - this.isAudioFilterable}); + this.isAudioFilterable, + this.parameters}); - @JsonKey(name: 'publishCameraTrack') + @JsonKey(name: 'publishCameraTrack') final bool? publishCameraTrack; - @JsonKey(name: 'publishSecondaryCameraTrack') + @JsonKey(name: 'publishSecondaryCameraTrack') final bool? publishSecondaryCameraTrack; - @JsonKey(name: 'publishThirdCameraTrack') + @JsonKey(name: 'publishThirdCameraTrack') final bool? publishThirdCameraTrack; - @JsonKey(name: 'publishFourthCameraTrack') + @JsonKey(name: 'publishFourthCameraTrack') final bool? publishFourthCameraTrack; - @JsonKey(name: 'publishMicrophoneTrack') + @JsonKey(name: 'publishMicrophoneTrack') final bool? publishMicrophoneTrack; - @JsonKey(name: 'publishScreenCaptureVideo') + @JsonKey(name: 'publishScreenCaptureVideo') final bool? publishScreenCaptureVideo; - @JsonKey(name: 'publishScreenCaptureAudio') + @JsonKey(name: 'publishScreenCaptureAudio') final bool? publishScreenCaptureAudio; - @JsonKey(name: 'publishScreenTrack') + @JsonKey(name: 'publishScreenTrack') final bool? publishScreenTrack; - @JsonKey(name: 'publishSecondaryScreenTrack') + @JsonKey(name: 'publishSecondaryScreenTrack') final bool? publishSecondaryScreenTrack; - @JsonKey(name: 'publishThirdScreenTrack') + @JsonKey(name: 'publishThirdScreenTrack') final bool? publishThirdScreenTrack; - @JsonKey(name: 'publishFourthScreenTrack') + @JsonKey(name: 'publishFourthScreenTrack') final bool? publishFourthScreenTrack; - @JsonKey(name: 'publishCustomAudioTrack') + @JsonKey(name: 'publishCustomAudioTrack') final bool? publishCustomAudioTrack; - @JsonKey(name: 'publishCustomAudioTrackId') + @JsonKey(name: 'publishCustomAudioTrackId') final int? publishCustomAudioTrackId; - @JsonKey(name: 'publishCustomVideoTrack') + @JsonKey(name: 'publishCustomVideoTrack') final bool? publishCustomVideoTrack; - @JsonKey(name: 'publishEncodedVideoTrack') + @JsonKey(name: 'publishEncodedVideoTrack') final bool? publishEncodedVideoTrack; - @JsonKey(name: 'publishMediaPlayerAudioTrack') + @JsonKey(name: 'publishMediaPlayerAudioTrack') final bool? publishMediaPlayerAudioTrack; - @JsonKey(name: 'publishMediaPlayerVideoTrack') + @JsonKey(name: 'publishMediaPlayerVideoTrack') final bool? publishMediaPlayerVideoTrack; - @JsonKey(name: 'publishTranscodedVideoTrack') + @JsonKey(name: 'publishTranscodedVideoTrack') final bool? publishTranscodedVideoTrack; - @JsonKey(name: 'autoSubscribeAudio') + @JsonKey(name: 'publishMixedAudioTrack') + final bool? publishMixedAudioTrack; + + @JsonKey(name: 'autoSubscribeAudio') final bool? autoSubscribeAudio; - @JsonKey(name: 'autoSubscribeVideo') + @JsonKey(name: 'autoSubscribeVideo') final bool? autoSubscribeVideo; - @JsonKey(name: 'enableAudioRecordingOrPlayout') + @JsonKey(name: 'enableAudioRecordingOrPlayout') final bool? enableAudioRecordingOrPlayout; - @JsonKey(name: 'publishMediaPlayerId') + @JsonKey(name: 'publishMediaPlayerId') final int? publishMediaPlayerId; - @JsonKey(name: 'clientRoleType') + @JsonKey(name: 'clientRoleType') final ClientRoleType? clientRoleType; - @JsonKey(name: 'audienceLatencyLevel') + @JsonKey(name: 'audienceLatencyLevel') final AudienceLatencyLevelType? audienceLatencyLevel; - @JsonKey(name: 'defaultVideoStreamType') + @JsonKey(name: 'defaultVideoStreamType') final VideoStreamType? defaultVideoStreamType; - @JsonKey(name: 'channelProfile') + @JsonKey(name: 'channelProfile') final ChannelProfileType? channelProfile; - @JsonKey(name: 'audioDelayMs') + @JsonKey(name: 'audioDelayMs') final int? audioDelayMs; - @JsonKey(name: 'mediaPlayerAudioDelayMs') + @JsonKey(name: 'mediaPlayerAudioDelayMs') final int? mediaPlayerAudioDelayMs; - @JsonKey(name: 'token') + @JsonKey(name: 'token') final String? token; - @JsonKey(name: 'enableBuiltInMediaEncryption') + @JsonKey(name: 'enableBuiltInMediaEncryption') final bool? enableBuiltInMediaEncryption; - @JsonKey(name: 'publishRhythmPlayerTrack') + @JsonKey(name: 'publishRhythmPlayerTrack') final bool? publishRhythmPlayerTrack; - @JsonKey(name: 'isInteractiveAudience') + @JsonKey(name: 'isInteractiveAudience') final bool? isInteractiveAudience; - @JsonKey(name: 'customVideoTrackId') + @JsonKey(name: 'customVideoTrackId') final int? customVideoTrackId; - @JsonKey(name: 'isAudioFilterable') + @JsonKey(name: 'isAudioFilterable') final bool? isAudioFilterable; - factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => + @JsonKey(name: 'parameters') + final String? parameters; + + factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => _$ChannelMediaOptionsFromJson(json); - Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); + Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); }

-
+

+ public class ChannelMediaOptions { + public Boolean publishCameraTrack; + public Boolean publishSecondaryCameraTrack; + public Boolean publishThirdCameraTrack; + public Boolean publishFourthCameraTrack; + public Boolean publishMicrophoneTrack; + public Boolean publishScreenCaptureVideo; + public Boolean publishScreenCaptureAudio; + public Boolean publishCustomAudioTrack; + public Integer publishCustomAudioTrackId; + public Boolean publishCustomVideoTrack; + public Boolean publishEncodedVideoTrack; + public Boolean publishMediaPlayerAudioTrack; + public Boolean publishMediaPlayerVideoTrack; + public Boolean publishTranscodedVideoTrack; + public Boolean publishLipSyncTrack; + public Boolean autoSubscribeAudio; + public Boolean autoSubscribeVideo; + public Boolean enableAudioRecordingOrPlayout; + public Integer publishMediaPlayerId; + public Integer clientRoleType; + public Integer audienceLatencyLevel; + public Integer defaultVideoStreamType; + public Integer channelProfile; + public Integer mediaPlayerAudioDelayMs; + public String token; + public Boolean enableBuiltInMediaEncryption; + public Boolean publishRhythmPlayerTrack; + public Boolean isInteractiveAudience; + public Integer customVideoTrackId; + public Boolean isAudioFilterable; + } + export class ChannelMediaOptions { + + public publishCameraTrack?:boolean; + + public publishSecondaryCameraTrack?:boolean; + + public publishMicrophoneTrack?:boolean; + + public publishScreenCaptureVideo?:boolean; + + public publishScreenCaptureAudio?:boolean; + + public publishCustomAudioTrack?:boolean; + + public publishCustomAudioTrackId?:number; + + public publishCustomVideoTrack?:boolean; + + public publishEncodedVideoTrack?:boolean; + + public publishMediaPlayerAudioTrack?:boolean; + + public publishMediaPlayerVideoTrack?:boolean; + + public publishTranscodedVideoTrack?:boolean; + + public publishMixedAudioTrack?:boolean; + + public autoSubscribeAudio?:boolean; + + public autoSubscribeVideo?:boolean; + + public enableAudioRecordingOrPlayout?:boolean; + + public publishMediaPlayerId?:number; + + public clientRoleType?:number; + + public audienceLatencyLevel?:number; + + public defaultVideoStreamType?:number; + + public channelProfile?:number; + + public audioDelayMs?:number; + + public mediaPlayerAudioDelayMs?:number; + + public enableBuiltInMediaEncryption?:boolean; + + public publishRhythmPlayerTrack?:boolean; + + public isInteractiveAudience?:boolean; + + public customVideoTrackId?:number; + + public isAudioFilterable?:boolean; + + public startPreview?:boolean; + public constructor() { + } + } + __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + @property(assign, nonatomic) BOOL publishCameraTrack; + @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; + @property(assign, nonatomic) BOOL publishMicrophoneTrack; + #if TARGET_OS_IPHONE + @property(assign, nonatomic) BOOL publishScreenCaptureVideo; + @property(assign, nonatomic) BOOL publishScreenCaptureAudio; + #elif TARGET_OS_MAC + @property(assign, nonatomic) BOOL publishThirdCameraTrack; + @property(assign, nonatomic) BOOL publishFourthCameraTrack; + @property(assign, nonatomic) BOOL publishScreenTrack; + @property(assign, nonatomic) BOOL publishSecondaryScreenTrack; + @property(assign, nonatomic) BOOL publishThirdScreenTrack; + @property(assign, nonatomic) BOOL publishFourthScreenTrack; + #endif + @property(assign, nonatomic) BOOL publishCustomAudioTrack; + @property(assign, nonatomic) NSInteger publishCustomAudioTrackId; + + @property(assign, nonatomic) BOOL publishCustomVideoTrack; + @property(assign, nonatomic) BOOL publishEncodedVideoTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack; + @property(assign, nonatomic) BOOL publishTranscodedVideoTrack; + @property(assign, nonatomic) BOOL publishLipSyncTrack; + @property(assign, nonatomic) BOOL autoSubscribeAudio; + @property(assign, nonatomic) BOOL autoSubscribeVideo; + @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout; + @property(assign, nonatomic) NSInteger publishMediaPlayerId; + @property(assign, nonatomic) AgoraClientRole clientRoleType; + @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; + @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType; + @property(assign, nonatomic) AgoraChannelProfile channelProfile; + @property(copy, nonatomic) NSString * _Nullable token; + @property(assign, nonatomic) BOOL enableBuiltInMediaEncryption; + + @property(assign, nonatomic) BOOL publishRhythmPlayerTrack; + @property(assign, nonatomic) BOOL isInteractiveAudience; + + @property(assign, nonatomic) NSInteger customVideoTrackId; + + @property(assign, nonatomic) BOOL isAudioFilterable; + + @end + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishThirdCameraTrack; + Optional<bool> publishFourthCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + Optional<bool> publishThirdScreenTrack; + Optional<bool> publishFourthScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> publishLipSyncTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + USTRUCT(BlueprintType) + struct FChannelMediaOptions + { + GENERATED_BODY() + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMicrophoneTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishCustomAudioTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishCustomAudioTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishEncodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishTranscodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableAudioRecordingOrPlayout; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishMediaPlayerId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishMediaPlayerId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool clientRoleType_SetValue = true; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + ECLIENT_ROLE_TYPE clientRoleType = ECLIENT_ROLE_TYPE::CLIENT_ROLE_BROADCASTER; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool audienceLatencyLevel_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool defaultVideoStreamType_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EVIDEO_STREAM_TYPE defaultVideoStreamType; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool channelProfile_SetValue = true; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + ECHANNEL_PROFILE_TYPE channelProfile = ECHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool audioDelayMs_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int audioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool mediaPlayerAudioDelayMs_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int mediaPlayerAudioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool token_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + FString token; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableBuiltInMediaEncryption; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishRhythmPlayerTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isInteractiveAudience; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool customVideoTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int64 customVideoTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isAudioFilterable; + }; + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenTrack?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + public class ChannelMediaOptions : OptionalJsonParse + { + public Optional<bool> publishCameraTrack = new Optional<bool>(); + public Optional<bool> publishSecondaryCameraTrack = new Optional<bool>(); + public Optional<bool> publishThirdCameraTrack = new Optional<bool>(); + public Optional<bool> publishFourthCameraTrack = new Optional<bool>(); + public Optional<bool> publishMicrophoneTrack = new Optional<bool>(); + public Optional<bool> publishScreenCaptureVideo = new Optional<bool>(); + public Optional<bool> publishScreenCaptureAudio = new Optional<bool>(); + public Optional<bool> publishScreenTrack = new Optional<bool>(); + public Optional<bool> publishSecondaryScreenTrack = new Optional<bool>(); + public Optional<bool> publishThirdScreenTrack = new Optional<bool>(); + public Optional<bool> publishFourthScreenTrack = new Optional<bool>(); + public Optional<bool> publishCustomAudioTrack = new Optional<bool>(); + public Optional<int> publishCustomAudioTrackId = new Optional<int>(); + public Optional<bool> publishCustomVideoTrack = new Optional<bool>(); + public Optional<bool> publishEncodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishMediaPlayerAudioTrack = new Optional<bool>(); + public Optional<bool> publishMediaPlayerVideoTrack = new Optional<bool>(); + public Optional<bool> publishTranscodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishLipSyncTrack = new Optional<bool>(); + public Optional<bool> autoSubscribeAudio = new Optional<bool>(); + public Optional<bool> autoSubscribeVideo = new Optional<bool>(); + public Optional<bool> enableAudioRecordingOrPlayout = new Optional<bool>(); + public Optional<int> publishMediaPlayerId = new Optional<int>(); + public Optional<CLIENT_ROLE_TYPE> clientRoleType = new Optional<CLIENT_ROLE_TYPE>(); + public Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel = new Optional<AUDIENCE_LATENCY_LEVEL_TYPE>(); + public Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType = new Optional<VIDEO_STREAM_TYPE>(); + public Optional<CHANNEL_PROFILE_TYPE> channelProfile = new Optional<CHANNEL_PROFILE_TYPE>(); + public Optional<string> token = new Optional<string>(); + public Optional<bool> publishRhythmPlayerTrack = new Optional<bool>(); + public Optional<bool> isInteractiveAudience = new Optional<bool>(); + public Optional<video_track_id_t> customVideoTrackId = new Optional<video_track_id_t>(); + public Optional<bool> isAudioFilterable = new Optional<bool>(); + + } + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenCaptureVideo?: boolean; + + publishScreenCaptureAudio?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + @JsonSerializable(explicitToJson: true, includeIfNull: false) + class ChannelMediaOptions { + const ChannelMediaOptions( + {this.publishCameraTrack, + this.publishSecondaryCameraTrack, + this.publishThirdCameraTrack, + this.publishFourthCameraTrack, + this.publishMicrophoneTrack, + this.publishScreenCaptureVideo, + this.publishScreenCaptureAudio, + this.publishScreenTrack, + this.publishSecondaryScreenTrack, + this.publishThirdScreenTrack, + this.publishFourthScreenTrack, + this.publishCustomAudioTrack, + this.publishCustomAudioTrackId, + this.publishCustomVideoTrack, + this.publishEncodedVideoTrack, + this.publishMediaPlayerAudioTrack, + this.publishMediaPlayerVideoTrack, + this.publishTranscodedVideoTrack, + this.publishMixedAudioTrack, + this.publishLipSyncTrack, + this.autoSubscribeAudio, + this.autoSubscribeVideo, + this.enableAudioRecordingOrPlayout, + this.publishMediaPlayerId, + this.clientRoleType, + this.audienceLatencyLevel, + this.defaultVideoStreamType, + this.channelProfile, + this.audioDelayMs, + this.mediaPlayerAudioDelayMs, + this.token, + this.enableBuiltInMediaEncryption, + this.publishRhythmPlayerTrack, + this.isInteractiveAudience, + this.customVideoTrackId, + this.isAudioFilterable, + this.parameters}); + + @JsonKey(name: 'publishCameraTrack') + final bool? publishCameraTrack; + + @JsonKey(name: 'publishSecondaryCameraTrack') + final bool? publishSecondaryCameraTrack; + + @JsonKey(name: 'publishThirdCameraTrack') + final bool? publishThirdCameraTrack; + + @JsonKey(name: 'publishFourthCameraTrack') + final bool? publishFourthCameraTrack; + + @JsonKey(name: 'publishMicrophoneTrack') + final bool? publishMicrophoneTrack; + + @JsonKey(name: 'publishScreenCaptureVideo') + final bool? publishScreenCaptureVideo; + + @JsonKey(name: 'publishScreenCaptureAudio') + final bool? publishScreenCaptureAudio; + + @JsonKey(name: 'publishScreenTrack') + final bool? publishScreenTrack; + + @JsonKey(name: 'publishSecondaryScreenTrack') + final bool? publishSecondaryScreenTrack; + + @JsonKey(name: 'publishThirdScreenTrack') + final bool? publishThirdScreenTrack; + + @JsonKey(name: 'publishFourthScreenTrack') + final bool? publishFourthScreenTrack; + + @JsonKey(name: 'publishCustomAudioTrack') + final bool? publishCustomAudioTrack; + + @JsonKey(name: 'publishCustomAudioTrackId') + final int? publishCustomAudioTrackId; + + @JsonKey(name: 'publishCustomVideoTrack') + final bool? publishCustomVideoTrack; + + @JsonKey(name: 'publishEncodedVideoTrack') + final bool? publishEncodedVideoTrack; + + @JsonKey(name: 'publishMediaPlayerAudioTrack') + final bool? publishMediaPlayerAudioTrack; + + @JsonKey(name: 'publishMediaPlayerVideoTrack') + final bool? publishMediaPlayerVideoTrack; + + @JsonKey(name: 'publishTranscodedVideoTrack') + final bool? publishTranscodedVideoTrack; + + @JsonKey(name: 'publishMixedAudioTrack') + final bool? publishMixedAudioTrack; + + @JsonKey(name: 'publishLipSyncTrack') + final bool? publishLipSyncTrack; + + @JsonKey(name: 'autoSubscribeAudio') + final bool? autoSubscribeAudio; + + @JsonKey(name: 'autoSubscribeVideo') + final bool? autoSubscribeVideo; + + @JsonKey(name: 'enableAudioRecordingOrPlayout') + final bool? enableAudioRecordingOrPlayout; + + @JsonKey(name: 'publishMediaPlayerId') + final int? publishMediaPlayerId; + + @JsonKey(name: 'clientRoleType') + final ClientRoleType? clientRoleType; + + @JsonKey(name: 'audienceLatencyLevel') + final AudienceLatencyLevelType? audienceLatencyLevel; + + @JsonKey(name: 'defaultVideoStreamType') + final VideoStreamType? defaultVideoStreamType; + + @JsonKey(name: 'channelProfile') + final ChannelProfileType? channelProfile; + + @JsonKey(name: 'audioDelayMs') + final int? audioDelayMs; + + @JsonKey(name: 'mediaPlayerAudioDelayMs') + final int? mediaPlayerAudioDelayMs; + + @JsonKey(name: 'token') + final String? token; + + @JsonKey(name: 'enableBuiltInMediaEncryption') + final bool? enableBuiltInMediaEncryption; + + @JsonKey(name: 'publishRhythmPlayerTrack') + final bool? publishRhythmPlayerTrack; + + @JsonKey(name: 'isInteractiveAudience') + final bool? isInteractiveAudience; + + @JsonKey(name: 'customVideoTrackId') + final int? customVideoTrackId; + + @JsonKey(name: 'isAudioFilterable') + final bool? isAudioFilterable; + + @JsonKey(name: 'parameters') + final String? parameters; + + factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => + _$ChannelMediaOptionsFromJson(json); + + Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); + } +

+
Agora supports publishing multiple audio streams and one video stream at the same time and in the same . For example, publishMicrophoneTrack, publishCustomAudioTrack, and publishMediaPlayerAudioTrack can be set as at the same time, but only one of publishCameraTrack, publishScreenCaptureVideo, publishScreenTrack, publishCustomVideoTrack, or publishEncodedVideoTrack can be set as .Agora recommends that you set member parameter values yourself according to your business scenario, otherwise the SDK will automatically assign values to member parameters.
diff --git a/en-US/dita/RTC-NG/API/class_extensioncontext.dita b/en-US/dita/RTC-NG/API/class_extensioncontext.dita index 6e653e4ace3..d35cedfa267 100644 --- a/en-US/dita/RTC-NG/API/class_extensioncontext.dita +++ b/en-US/dita/RTC-NG/API/class_extensioncontext.dita @@ -42,10 +42,71 @@ ExtensionContext():isValid(false), uid(0), providerName(NULL), extensionName(NULL) {} }; - - - -

+ export class ExtensionContext { + + isValid?: boolean; + + uid?: number; + + providerName?: string; + + extensionName?: string; +} + public class ExtensionContext + { + public bool isValid; + public uint uid; + public string providerName; + public string extensionName; + + public ExtensionContext() + { + this.isValid = false; + this.uid = 0; + this.providerName = ""; + this.extensionName = ""; + } + + public ExtensionContext(bool isValid, uint uid, string providerName, string extensionName) + { + this.isValid = isValid; + this.uid = uid; + this.providerName = providerName; + this.extensionName = extensionName; + } + } + export class ExtensionContext { + + isValid?: boolean; + + uid?: number; + + providerName?: string; + + extensionName?: string; +} + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class ExtensionContext { + const ExtensionContext( + {this.isValid, this.uid, this.providerName, this.extensionName}); + + @JsonKey(name: 'isValid') + final bool? isValid; + + @JsonKey(name: 'uid') + final int? uid; + + @JsonKey(name: 'providerName') + final String? providerName; + + @JsonKey(name: 'extensionName') + final String? extensionName; + + factory ExtensionContext.fromJson(Map<String, dynamic> json) => + _$ExtensionContextFromJson(json); + + Map<String, dynamic> toJson() => _$ExtensionContextToJson(this); +}

diff --git a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita index b3bfee20dd8..2ab0a5c3afd 100644 --- a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita @@ -20,7 +20,7 @@ public static final int BUFFER_TYPE_ARRAY = 2; public static final int BUFFER_TYPE_TEXTURE = 3; public AgoraVideoFrame() { - format = 10; + format = 10; timeStamp = 0; stride = 0; height = 0; @@ -46,7 +46,7 @@ public float[] transform; public javax.microedition.khronos.egl.EGLContext eglContext10; public android.opengl.EGLContext eglContext14; - + public byte[] buf; public int cropLeft; public int cropTop; @@ -67,20 +67,20 @@ __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; -@property(assign, nonatomic) CMTime time; +@property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); -@property(assign, nonatomic) int strideInPixels; -@property(assign, nonatomic) int height; +@property(assign, nonatomic) int strideInPixels; +@property(assign, nonatomic) int height; @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf; @property(strong, nonatomic) IMAGE_CLASS * _Nullable image; -@property(strong, nonatomic) NSData *_Nullable dataBuf; +@property(strong, nonatomic) NSData *_Nullable dataBuf; @property(strong, nonatomic) NSData *_Nullable alphaBuf; @property(assign, nonatomic) AgoraAlphaStitchMode alphaStitchMode; -@property(assign, nonatomic) int cropLeft; -@property(assign, nonatomic) int cropTop; -@property(assign, nonatomic) int cropRight; -@property(assign, nonatomic) int cropBottom; -@property(assign, nonatomic) int rotation; +@property(assign, nonatomic) int cropLeft; +@property(assign, nonatomic) int cropTop; +@property(assign, nonatomic) int cropRight; +@property(assign, nonatomic) int cropBottom; +@property(assign, nonatomic) int rotation; - (void)fillAlphaData; @end struct ExternalVideoFrame { @@ -153,8 +153,13 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; + fillAlphaBuffer?: boolean; + alphaStitchMode?: AlphaStitchMode; + d3d11Texture2d?: any; + textureSliceIndex?: number; } public class ExternalVideoFrame { @@ -172,8 +177,11 @@ public byte[] eglContext; public EGL_CONTEXT_TYPE eglType; public int textureId; - public byte[] metadata_buffer; - public int metadata_size; + public byte[] metadataBuffer; + public int metadataSize; + public byte[] alphaBuffer; + public bool fillAlphaBuffer; + public ALPHA_STITCH_MODE alphaStitchMode; public IntPtr d3d11_texture_2d; public int texture_slice_index; }; @@ -192,8 +200,11 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; + fillAlphaBuffer?: boolean; + alphaStitchMode?: AlphaStitchMode; } @JsonSerializable(explicitToJson: true, includeIfNull: false) class ExternalVideoFrame { @@ -215,6 +226,9 @@ class ExternalVideoFrame { this.metadataBuffer, this.metadataSize, this.alphaBuffer, + this.fillAlphaBuffer, + this.alphaStitchMode, + this.d3d11Texture2d, this.textureSliceIndex}); @JsonKey(name: 'type') @@ -259,16 +273,25 @@ class ExternalVideoFrame { @JsonKey(name: 'matrix') final List<double>? matrix; - @JsonKey(name: 'metadata_buffer', ignore: true) + @JsonKey(name: 'metadataBuffer', ignore: true) final Uint8List? metadataBuffer; - @JsonKey(name: 'metadata_size') + @JsonKey(name: 'metadataSize') final int? metadataSize; @JsonKey(name: 'alphaBuffer', ignore: true) final Uint8List? alphaBuffer; - @JsonKey(name: 'texture_slice_index') + @JsonKey(name: 'fillAlphaBuffer') + final bool? fillAlphaBuffer; + + @JsonKey(name: 'alphaStitchMode') + final AlphaStitchMode? alphaStitchMode; + + @JsonKey(name: 'd3d11Texture2d', readValue: readIntPtr) + final int? d3d11Texture2d; + + @JsonKey(name: 'textureSliceIndex') final int? textureSliceIndex; factory ExternalVideoFrame.fromJson(Map<String, dynamic> json) => diff --git a/en-US/dita/RTC-NG/API/class_metadata.dita b/en-US/dita/RTC-NG/API/class_metadata.dita index 37901d6a458..2cb9cf7bc55 100644 --- a/en-US/dita/RTC-NG/API/class_metadata.dita +++ b/en-US/dita/RTC-NG/API/class_metadata.dita @@ -57,58 +57,67 @@ struct FAgoraMetadata }; public class Metadata { + public string channelId; public uint uid; public uint size; + public IntPtr buffer; + public long timeStampMs; - public IntPtr buffer + public Metadata() { - set - { - _buffer = (UInt64)value; - } - get - { - return (IntPtr)_buffer; - } + this.channelId = ""; + this.uid = 0; + this.size = 0; + this.buffer = IntPtr.Zero; + this.timeStampMs = 0; } - private UInt64 _buffer; - - public long timeStampMs; - }; + public Metadata(string channelId, uint uid, uint size, IntPtr buffer, long timeStampMs) + { + this.channelId = channelId; + this.uid = uid; + this.size = size; + this.buffer = buffer; + this.timeStampMs = timeStampMs; + } + } export class Metadata { - + channelId?: string; uid?: number; - size?: number; - buffer?: Uint8Array; - timeStampMs?: number; } export class Metadata { - + channelId?: string; uid?: number; - size?: number; - buffer?: Uint8Array; - timeStampMs?: number; } - class Metadata { - const Metadata({this.uid, this.size, this.buffer, this.timeStampMs}); + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class Metadata { + const Metadata( + {this.channelId, this.uid, this.size, this.buffer, this.timeStampMs}); + + @JsonKey(name: 'channelId') + final String? channelId; @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'size') final int? size; + @JsonKey(name: 'buffer', ignore: true) final Uint8List? buffer; + @JsonKey(name: 'timeStampMs') final int? timeStampMs; + factory Metadata.fromJson(Map<String, dynamic> json) => _$MetadataFromJson(json); + Map<String, dynamic> toJson() => _$MetadataToJson(this); }

diff --git a/en-US/dita/RTC-NG/API/class_videoframe.dita b/en-US/dita/RTC-NG/API/class_videoframe.dita index 5c74b9394f6..353c05ed784 100644 --- a/en-US/dita/RTC-NG/API/class_videoframe.dita +++ b/en-US/dita/RTC-NG/API/class_videoframe.dita @@ -135,7 +135,7 @@ Unspecified(2), BT470M(4), BT470BG(5), - kSMPTE170M(6), + kSMPTE170M(6), kSMPTE240M(7), kFILM(8), kBT2020(9), @@ -421,6 +421,10 @@ struct FVideoFrame { matrix?: number[]; + alphaBuffer?: Uint8Array; + + alphaStitchMode?: AlphaStitchMode; + }
public class VideoFrame { @@ -462,7 +466,13 @@ struct FVideoFrame { public int textureId; + public IntPtr d3d11Texture2d; + public float[] matrix; + + public byte[] alphaBuffer; + + public ALPHA_STITCH_MODE alphaStitchMode; }; export class VideoFrame { @@ -498,6 +508,10 @@ struct FVideoFrame { matrix?: number[]; + alphaBuffer?: Uint8Array; + + alphaStitchMode?: AlphaStitchMode; + } @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrame { @@ -518,63 +532,76 @@ class VideoFrame { this.metadataSize, this.textureId, this.matrix, - this.pixelBuffer}); + this.alphaBuffer, + this.alphaStitchMode, + this.pixelBuffer, + this.metaInfo}); - @JsonKey(name: 'type') + @JsonKey(name: 'type') final VideoPixelFormat? type; - @JsonKey(name: 'width') + @JsonKey(name: 'width') final int? width; - @JsonKey(name: 'height') + @JsonKey(name: 'height') final int? height; - @JsonKey(name: 'yStride') + @JsonKey(name: 'yStride') final int? yStride; - @JsonKey(name: 'uStride') + @JsonKey(name: 'uStride') final int? uStride; - @JsonKey(name: 'vStride') + @JsonKey(name: 'vStride') final int? vStride; - @JsonKey(name: 'yBuffer', ignore: true) + @JsonKey(name: 'yBuffer', ignore: true) final Uint8List? yBuffer; - @JsonKey(name: 'uBuffer', ignore: true) + @JsonKey(name: 'uBuffer', ignore: true) final Uint8List? uBuffer; - @JsonKey(name: 'vBuffer', ignore: true) + @JsonKey(name: 'vBuffer', ignore: true) final Uint8List? vBuffer; - @JsonKey(name: 'rotation') + @JsonKey(name: 'rotation') final int? rotation; - @JsonKey(name: 'renderTimeMs') + @JsonKey(name: 'renderTimeMs') final int? renderTimeMs; - @JsonKey(name: 'avsync_type') + @JsonKey(name: 'avsync_type') final int? avsyncType; - @JsonKey(name: 'metadata_buffer', ignore: true) + @JsonKey(name: 'metadata_buffer', ignore: true) final Uint8List? metadataBuffer; - @JsonKey(name: 'metadata_size') + @JsonKey(name: 'metadata_size') final int? metadataSize; - @JsonKey(name: 'textureId') + @JsonKey(name: 'textureId') final int? textureId; - @JsonKey(name: 'matrix') - final List<double>? matrix; + @JsonKey(name: 'matrix') + final List<double>? matrix; + + @JsonKey(name: 'alphaBuffer', ignore: true) + final Uint8List? alphaBuffer; - @JsonKey(name: 'pixelBuffer', ignore: true) + @JsonKey(name: 'alphaStitchMode') + final AlphaStitchMode? alphaStitchMode; + + @JsonKey(name: 'pixelBuffer', ignore: true) final Uint8List? pixelBuffer; - factory VideoFrame.fromJson(Map<String, dynamic> json) => + @VideoFrameMetaInfoConverter() + @JsonKey(name: 'metaInfo') + final VideoFrameMetaInfo? metaInfo; + + factory VideoFrame.fromJson(Map<String, dynamic> json) => _$VideoFrameFromJson(json); - Map<String, dynamic> toJson() => _$VideoFrameToJson(this); + Map<String, dynamic> toJson() => _$VideoFrameToJson(this); }

diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index c56ea6e11c7..bf4073b8d0e 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -12500,510 +12500,6 @@ - - - - VIDEO_PROFILE_TYPE - - - - - - - VIDEO_PROFILE_LANDSCAPE_120P - - - - - - - VIDEO_PROFILE_LANDSCAPE_120P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_7 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_8 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_9 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_10 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_11 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_8 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_9 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_10 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_5 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P_5 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1440P - - - - - - - VIDEO_PROFILE_LANDSCAPE_1440P_2 - - - - - - - VIDEO_PROFILE_LANDSCAPE_4K - - - - - - - VIDEO_PROFILE_LANDSCAPE_4K_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_120P - - - - - - - VIDEO_PROFILE_PORTRAIT_120P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_180P - - - - - - - VIDEO_PROFILE_PORTRAIT_180P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_180P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_240P - - - - - - - VIDEO_PROFILE_PORTRAIT_240P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_240P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_6 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_7 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_8 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_9 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_10 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_11 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_6 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_8 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_9 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_10 - - - - - - - VIDEO_PROFILE_PORTRAIT_720P - - - - - - - VIDEO_PROFILE_PORTRAIT_720P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_720P_5 - - - - - - - VIDEO_PROFILE_PORTRAIT_720P_6 - - - - - - - VIDEO_PROFILE_PORTRAIT_1080P - - - - - - - VIDEO_PROFILE_PORTRAIT_1080P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_1080P_5 - - - - - - - VIDEO_PROFILE_PORTRAIT_1440P - - - - - - - VIDEO_PROFILE_PORTRAIT_1440P_2 - - - - - - - VIDEO_PROFILE_PORTRAIT_4K - - - - - - - VIDEO_PROFILE_PORTRAIT_4K_3 - - - - - - - VIDEO_PROFILE_DEFAULT - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap index 179ba56dd04..4af0e354d1b 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap @@ -1870,6 +1870,13 @@ + + + + enableVoiceAITuner + + + @@ -2582,31 +2589,31 @@ - + - onExtensionEvent + onExtensionEventWithContext - + - onExtensionStarted + onExtensionStartedWithContext - + - onExtensionStopped + onExtensionStoppedWithContext - + - onExtensionError + onExtensionErrorWithContext @@ -2695,20 +2702,6 @@ - - - - setEncryptionMode - - - - - - - setEncryptionSecret - - - @@ -3059,6 +3052,13 @@ + + + + destroyMusicPlayer + + + @@ -3177,6 +3177,34 @@ kMusicContentCenterReasonHttpInternalError + + + + MusicPlayMode + + + + + + + kMusicPlayModeOriginal + + + + + + + kMusicPlayModeAccompany + + + + + + + kMusicPlayModeLeadSing + + + @@ -3185,13 +3213,6 @@ - - - - onSongSimpleInfoResult - - - @@ -3213,6 +3234,13 @@ + + + + onSongSimpleInfoResult + + + @@ -3297,6 +3325,13 @@ + + + + setPlayMode + + + @@ -4778,6 +4813,13 @@ + + + + ExtensionContext + + + @@ -5284,6 +5326,48 @@ + + + + AlphaStitchMode + + + + + + + NoAlphaStitch + + + + + + + AlphaStitchUp + + + + + + + AlphaStitchBelow + + + + + + + AlphaStitchLeft + + + + + + + AlphaStitchRight + + + @@ -8700,7 +8784,14 @@ - + + + + LocalVideoStreamReasonScreenCaptureDisplayDisconnected + + + + LocalVideoStreamState @@ -10709,6 +10800,13 @@ + + + + ApplicationScenario1v1 + + + @@ -11395,591 +11493,164 @@ - - - - VideoProfileType - - - - - - - VideoProfileLandscape120p - - - - - - - VideoProfileLandscape120p3 - - - - - - - VideoProfileLandscape180p - - - - - - - VideoProfileLandscape180p3 - - - - - - - VideoProfileLandscape180p4 - - - - - - - VideoProfileLandscape240p - - - - - - - VideoProfileLandscape240p3 - - - - - - - VideoProfileLandscape240p4 - - - - - - - VideoProfileLandscape360p - - - - - - - VideoProfileLandscape360p3 - - - - - - - VideoProfileLandscape360p4 - - - - - - - VideoProfileLandscape360p6 - - - - - - - VideoProfileLandscape360p7 - - - - - - - VideoProfileLandscape360p8 - - - - - - - VideoProfileLandscape360p9 - - - - - - - VideoProfileLandscape360p10 - - - - - - - VideoProfileLandscape360p11 - - - - - - - VideoProfileLandscape480p - - - - - - - VideoProfileLandscape480p3 - - - - - - - VideoProfileLandscape480p4 - - - - - - - VideoProfileLandscape480p6 - - - - - - - VideoProfileLandscape480p8 - - - - - - - VideoProfileLandscape480p9 - - - - - - - VideoProfileLandscape480p10 - - - - - - - VideoProfileLandscape720p - - - - - - - VideoProfileLandscape720p3 - - - - - - - VideoProfileLandscape720p5 - - - - - - - VideoProfileLandscape720p6 - - - - - - - VideoProfileLandscape1080p - - - - - - - VideoProfileLandscape1080p3 - - - - - - - VideoProfileLandscape1080p5 - - - - - - - VideoProfileLandscape1440p - - - - - - - VideoProfileLandscape1440p2 - - - - - - - VideoProfileLandscape4k - - - - - - - VideoProfileLandscape4k3 - - - - - - - VideoProfilePortrait120p - - - - - - - VideoProfilePortrait120p3 - - - - - - - VideoProfilePortrait180p - - - - - - - VideoProfilePortrait180p3 - - - - - - - VideoProfilePortrait180p4 - - - - - - - VideoProfilePortrait240p - - - - - - - VideoProfilePortrait240p3 - - - - - - - VideoProfilePortrait240p4 - - - - - - - VideoProfilePortrait360p - - - - - - - VideoProfilePortrait360p3 - - - - - - - VideoProfilePortrait360p4 - - - - - - - VideoProfilePortrait360p6 - - - - - - - VideoProfilePortrait360p7 - - - - - - - VideoProfilePortrait360p8 - - - - - - - VideoProfilePortrait360p9 - - - - - - - VideoProfilePortrait360p10 - - - - - - - VideoProfilePortrait360p11 - - - - - - - VideoProfilePortrait480p - - - - - - - VideoProfilePortrait480p3 - - - - - - - VideoProfilePortrait480p4 - - - - - - - VideoProfilePortrait480p6 - - - - - - - VideoProfilePortrait480p8 - - - - - - - VideoProfilePortrait480p9 - - - - - - - VideoProfilePortrait480p10 - - - - - - - VideoProfilePortrait720p - - - - + + + + VideoViewSetupMode + + + + + + + VideoViewSetupReplace + + + + + + + VideoViewSetupAdd + + + + + + + VideoViewSetupRemove + + + + - VideoProfilePortrait720p3 + VideoTranscoderError - + - VideoProfilePortrait720p5 + VtErrOk - + - VideoProfilePortrait720p6 + VtErrVideoSourceNotReady - + - VideoProfilePortrait1080p + VtErrInvalidVideoSourceType - + - VideoProfilePortrait1080p3 + VtErrInvalidImagePath - + - VideoProfilePortrait1080p5 + VtErrUnsupportImageFormat - + - VideoProfilePortrait1440p + VtErrInvalidLayout - + - VideoProfilePortrait1440p2 + VtErrInternal - + - VideoProfilePortrait4k + VoiceAiTunerType - + - VideoProfilePortrait4k3 + VoiceAiTunerMatureMale - + - VideoProfileDefault + VoiceAiTunerFreshMale - - - - VideoViewSetupMode - - - - - - - VideoViewSetupReplace - - - - - - - VideoViewSetupAdd - - - - - - - VideoViewSetupRemove - - - - + - VideoTranscoderError + VoiceAiTunerElegantFemale - + - VtErrOk + VoiceAiTunerSweetFemale - + - VtErrVideoSourceNotReady + VoiceAiTunerWarmMaleSinging - + - VtErrInvalidVideoSourceType + VoiceAiTunerGentleFemaleSinging - + - VtErrInvalidImagePath + VoiceAiTunerHuskyMaleSinging - + - VtErrUnsupportImageFormat + VoiceAiTunerWarmElegantFemaleSinging - + - VtErrInvalidLayout + VoiceAiTunerPowerfulMaleSinging - + - VtErrInternal + VoiceAiTunerDreamyFemaleSinging diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap index 7408c54b4a8..96fafab5e72 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap @@ -1911,6 +1911,13 @@ + + + + enableVoiceAITuner + + + @@ -2673,31 +2680,31 @@ - + - onExtensionEvent + onExtensionEventWithContext - + - onExtensionStarted + onExtensionStartedWithContext - + - onExtensionStopped + onExtensionStoppedWithContext - + - onExtensionError + onExtensionErrorWithContext @@ -2772,20 +2779,6 @@ - - - - setEncryptionMode - - - - - - - setEncryptionSecret - - - @@ -3278,6 +3271,13 @@ + + + + destroyMusicPlayer + + + @@ -3390,90 +3390,6 @@ - - - - MusicCacheStatusType - - - - - - - musicCacheStatusTypeCached - - - - - - - musicCacheStatusTypeCaching - - - - - - - MusicContentCenterStateReason - - - - - - - kMusicContentCenterReasonOk - - - - - - - kMusicContentCenterReasonError - - - - - - - kMusicContentCenterReasonGateway - - - - - - - kMusicContentCenterReasonPermissionAndResource - - - - - - - kMusicContentCenterReasonInternalDataParse - - - - - - - kMusicContentCenterReasonMusicLoading - - - - - - - kMusicContentCenterReasonMusicDecryption - - - - - - - kMusicContentCenterReasonHttpInternalError - - - @@ -3593,6 +3509,13 @@ + + + + setPlayMode + + + @@ -4966,6 +4889,13 @@ + + + + ExtensionContext + + + @@ -5472,6 +5402,48 @@ + + + + AlphaStitchMode + + + + + + + noAlphaStitch + + + + + + + alphaStitchUp + + + + + + + alphaStitchBelow + + + + + + + alphaStitchLeft + + + + + + + alphaStitchRight + + + @@ -8678,6 +8650,13 @@ + + + + localVideoStreamReasonScreenCaptureDisplayDisconnected + + + @@ -9448,6 +9427,118 @@ + + + + MusicCacheStatusType + + + + + + + musicCacheStatusTypeCached + + + + + + + musicCacheStatusTypeCaching + + + + + + + MusicContentCenterStateReason + + + + + + + kMusicContentCenterReasonOk + + + + + + + kMusicContentCenterReasonError + + + + + + + kMusicContentCenterReasonGateway + + + + + + + kMusicContentCenterReasonPermissionAndResource + + + + + + + kMusicContentCenterReasonInternalDataParse + + + + + + + kMusicContentCenterReasonMusicLoading + + + + + + + kMusicContentCenterReasonMusicDecryption + + + + + + + kMusicContentCenterReasonHttpInternalError + + + + + + + MusicPlayMode + + + + + + + kMusicPlayModeOriginal + + + + + + + kMusicPlayModeAccompany + + + + + + + kMusicPlayModeLeadSing + + + @@ -10722,6 +10813,13 @@ + + + + applicationScenario1v1 + + + @@ -11380,591 +11478,164 @@ - - - - VideoProfileType - - - - - - - videoProfileLandscape120p - - - - - - - videoProfileLandscape120p3 - - - - - - - videoProfileLandscape180p - - - - + - videoProfileLandscape180p3 + VideoViewSetupMode - + - videoProfileLandscape180p4 + videoViewSetupReplace - + - videoProfileLandscape240p + videoViewSetupAdd - + - videoProfileLandscape240p3 + videoViewSetupRemove - + - videoProfileLandscape240p4 + VideoTranscoderError - + - videoProfileLandscape360p + vtErrOk - + - videoProfileLandscape360p3 + vtErrVideoSourceNotReady - + - videoProfileLandscape360p4 + vtErrInvalidVideoSourceType - + - videoProfileLandscape360p6 + vtErrInvalidImagePath - + - videoProfileLandscape360p7 + vtErrUnsupportImageFormat - + - videoProfileLandscape360p8 + vtErrInvalidLayout - + - videoProfileLandscape360p9 + vtErrInternal - + - videoProfileLandscape360p10 + VoiceAiTunerType - + - videoProfileLandscape360p11 + voiceAiTunerMatureMale - + - videoProfileLandscape480p + voiceAiTunerFreshMale - + - videoProfileLandscape480p3 + voiceAiTunerElegantFemale - + - videoProfileLandscape480p4 + voiceAiTunerSweetFemale - + - videoProfileLandscape480p6 + voiceAiTunerWarmMaleSinging - + - videoProfileLandscape480p8 + voiceAiTunerGentleFemaleSinging - + - videoProfileLandscape480p9 + voiceAiTunerHuskyMaleSinging - + - videoProfileLandscape480p10 + voiceAiTunerWarmElegantFemaleSinging - + - videoProfileLandscape720p + voiceAiTunerPowerfulMaleSinging - + - videoProfileLandscape720p3 - - - - - - - videoProfileLandscape720p5 - - - - - - - videoProfileLandscape720p6 - - - - - - - videoProfileLandscape1080p - - - - - - - videoProfileLandscape1080p3 - - - - - - - videoProfileLandscape1080p5 - - - - - - - videoProfileLandscape1440p - - - - - - - videoProfileLandscape1440p2 - - - - - - - videoProfileLandscape4k - - - - - - - videoProfileLandscape4k3 - - - - - - - videoProfilePortrait120p - - - - - - - videoProfilePortrait120p3 - - - - - - - videoProfilePortrait180p - - - - - - - videoProfilePortrait180p3 - - - - - - - videoProfilePortrait180p4 - - - - - - - videoProfilePortrait240p - - - - - - - videoProfilePortrait240p3 - - - - - - - videoProfilePortrait240p4 - - - - - - - videoProfilePortrait360p - - - - - - - videoProfilePortrait360p3 - - - - - - - videoProfilePortrait360p4 - - - - - - - videoProfilePortrait360p6 - - - - - - - videoProfilePortrait360p7 - - - - - - - videoProfilePortrait360p8 - - - - - - - videoProfilePortrait360p9 - - - - - - - videoProfilePortrait360p10 - - - - - - - videoProfilePortrait360p11 - - - - - - - videoProfilePortrait480p - - - - - - - videoProfilePortrait480p3 - - - - - - - videoProfilePortrait480p4 - - - - - - - videoProfilePortrait480p6 - - - - - - - videoProfilePortrait480p8 - - - - - - - videoProfilePortrait480p9 - - - - - - - videoProfilePortrait480p10 - - - - - - - videoProfilePortrait720p - - - - - - - videoProfilePortrait720p3 - - - - - - - videoProfilePortrait720p5 - - - - - - - videoProfilePortrait720p6 - - - - - - - videoProfilePortrait1080p - - - - - - - videoProfilePortrait1080p3 - - - - - - - videoProfilePortrait1080p5 - - - - - - - videoProfilePortrait1440p - - - - - - - videoProfilePortrait1440p2 - - - - - - - videoProfilePortrait4k - - - - - - - videoProfilePortrait4k3 - - - - - - - videoProfileDefault - - - - - - - VideoViewSetupMode - - - - - - - videoViewSetupReplace - - - - - - - videoViewSetupAdd - - - - - - - videoViewSetupRemove - - - - - - - VideoTranscoderError - - - - - - - vtErrOk - - - - - - - vtErrVideoSourceNotReady - - - - - - - vtErrInvalidVideoSourceType - - - - - - - vtErrInvalidImagePath - - - - - - - vtErrUnsupportImageFormat - - - - - - - vtErrInvalidLayout - - - - - - - vtErrInternal + voiceAiTunerDreamyFemaleSinging diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index 5bdfb7bef82..c0c5975466f 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -11533,517 +11533,6 @@ - - - - AgoraVideoProfile - - - - - - - AgoraVideoProfileInvalid - - - - - - - AgoraVideoProfileLandscape120P - - - - - - - AgoraVideoProfileLandscape120P_3 - - - - - - - AgoraVideoProfileLandscape180P - - - - - - - AgoraVideoProfileLandscape180P_3 - - - - - - - AgoraVideoProfileLandscape180P_4 - - - - - - - AgoraVideoProfileLandscape240P - - - - - - - AgoraVideoProfileLandscape240P_3 - - - - - - - AgoraVideoProfileLandscape240P_4 - - - - - - - AgoraVideoProfileLandscape360P - - - - - - - AgoraVideoProfileLandscape360P_3 - - - - - - - AgoraVideoProfileLandscape360P_4 - - - - - - - AgoraVideoProfileLandscape360P_6 - - - - - - - AgoraVideoProfileLandscape360P_7 - - - - - - - AgoraVideoProfileLandscape360P_8 - - - - - - - AgoraVideoProfileLandscape360P_9 - - - - - - - AgoraVideoProfileLandscape360P_10 - - - - - - - AgoraVideoProfileLandscape360P_11 - - - - - - - AgoraVideoProfileLandscape480P - - - - - - - AgoraVideoProfileLandscape480P_3 - - - - - - - AgoraVideoProfileLandscape480P_4 - - - - - - - AgoraVideoProfileLandscape480P_6 - - - - - - - AgoraVideoProfileLandscape480P_8 - - - - - - - AgoraVideoProfileLandscape480P_9 - - - - - - - AgoraVideoProfileLandscape480P_10 - - - - - - - AgoraVideoProfileLandscape720P - - - - - - - AgoraVideoProfileLandscape720P_3 - - - - - - - AgoraVideoProfileLandscape720P_5 - - - - - - - AgoraVideoProfileLandscape720P_6 - - - - - - - AgoraVideoProfileLandscape1080P - - - - - - - AgoraVideoProfileLandscape1080P_3 - - - - - - - AgoraVideoProfileLandscape1080P_5 - - - - - - - AgoraVideoProfileLandscape1440P - - - - - - - AgoraVideoProfileLandscape1440P_2 - - - - - - - AgoraVideoProfileLandscape4K - - - - - - - AgoraVideoProfileLandscape4K_3 - - - - - - - AgoraVideoProfilePortrait120P - - - - - - - AgoraVideoProfilePortrait120P_3 - - - - - - - AgoraVideoProfilePortrait180P - - - - - - - AgoraVideoProfilePortrait180P_3 - - - - - - - AgoraVideoProfilePortrait180P_4 - - - - - - - AgoraVideoProfilePortrait240P - - - - - - - AgoraVideoProfilePortrait240P_3 - - - - - - - AgoraVideoProfilePortrait240P_4 - - - - - - - AgoraVideoProfilePortrait360P - - - - - - - AgoraVideoProfilePortrait360P_3 - - - - - - - AgoraVideoProfilePortrait360P_4 - - - - - - - AgoraVideoProfilePortrait360P_6 - - - - - - - AgoraVideoProfilePortrait360P_7 - - - - - - - AgoraVideoProfilePortrait360P_8 - - - - - - - AgoraVideoProfilePortrait360P_9 - - - - - - - AgoraVideoProfilePortrait360P_10 - - - - - - - AgoraVideoProfilePortrait360P_11 - - - - - - - AgoraVideoProfilePortrait480P - - - - - - - AgoraVideoProfilePortrait480P_3 - - - - - - - AgoraVideoProfilePortrait480P_4 - - - - - - - AgoraVideoProfilePortrait480P_6 - - - - - - - AgoraVideoProfilePortrait480P_8 - - - - - - - AgoraVideoProfilePortrait480P_9 - - - - - - - AgoraVideoProfilePortrait480P_10 - - - - - - - AgoraVideoProfilePortrait720P - - - - - - - AgoraVideoProfilePortrait720P_3 - - - - - - - AgoraVideoProfilePortrait720P_5 - - - - - - - AgoraVideoProfilePortrait720P_6 - - - - - - - AgoraVideoProfilePortrait1080P - - - - - - - AgoraVideoProfilePortrait1080P_3 - - - - - - - AgoraVideoProfilePortrait1080P_5 - - - - - - - AgoraVideoProfilePortrait1440P - - - - - - - AgoraVideoProfilePortrait1440P_2 - - - - - - - AgoraVideoProfilePortrait4K - - - - - - - AgoraVideoProfilePortrait4K_3 - - - - - - - AgoraVideoProfileDEFAULT - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index af70d04c5ca..299bc6b503c 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -10978,517 +10978,6 @@ - - - - AgoraVideoProfile - - - - - - - AgoraVideoProfileInvalid - - - - - - - AgoraVideoProfileLandscape120P - - - - - - - AgoraVideoProfileLandscape120P_3 - - - - - - - AgoraVideoProfileLandscape180P - - - - - - - AgoraVideoProfileLandscape180P_3 - - - - - - - AgoraVideoProfileLandscape180P_4 - - - - - - - AgoraVideoProfileLandscape240P - - - - - - - AgoraVideoProfileLandscape240P_3 - - - - - - - AgoraVideoProfileLandscape240P_4 - - - - - - - AgoraVideoProfileLandscape360P - - - - - - - AgoraVideoProfileLandscape360P_3 - - - - - - - AgoraVideoProfileLandscape360P_4 - - - - - - - AgoraVideoProfileLandscape360P_6 - - - - - - - AgoraVideoProfileLandscape360P_7 - - - - - - - AgoraVideoProfileLandscape360P_8 - - - - - - - AgoraVideoProfileLandscape360P_9 - - - - - - - AgoraVideoProfileLandscape360P_10 - - - - - - - AgoraVideoProfileLandscape360P_11 - - - - - - - AgoraVideoProfileLandscape480P - - - - - - - AgoraVideoProfileLandscape480P_3 - - - - - - - AgoraVideoProfileLandscape480P_4 - - - - - - - AgoraVideoProfileLandscape480P_6 - - - - - - - AgoraVideoProfileLandscape480P_8 - - - - - - - AgoraVideoProfileLandscape480P_9 - - - - - - - AgoraVideoProfileLandscape480P_10 - - - - - - - AgoraVideoProfileLandscape720P - - - - - - - AgoraVideoProfileLandscape720P_3 - - - - - - - AgoraVideoProfileLandscape720P_5 - - - - - - - AgoraVideoProfileLandscape720P_6 - - - - - - - AgoraVideoProfileLandscape1080P - - - - - - - AgoraVideoProfileLandscape1080P_3 - - - - - - - AgoraVideoProfileLandscape1080P_5 - - - - - - - AgoraVideoProfileLandscape1440P - - - - - - - AgoraVideoProfileLandscape1440P_2 - - - - - - - AgoraVideoProfileLandscape4K - - - - - - - AgoraVideoProfileLandscape4K_3 - - - - - - - AgoraVideoProfilePortrait120P - - - - - - - AgoraVideoProfilePortrait120P_3 - - - - - - - AgoraVideoProfilePortrait180P - - - - - - - AgoraVideoProfilePortrait180P_3 - - - - - - - AgoraVideoProfilePortrait180P_4 - - - - - - - AgoraVideoProfilePortrait240P - - - - - - - AgoraVideoProfilePortrait240P_3 - - - - - - - AgoraVideoProfilePortrait240P_4 - - - - - - - AgoraVideoProfilePortrait360P - - - - - - - AgoraVideoProfilePortrait360P_3 - - - - - - - AgoraVideoProfilePortrait360P_4 - - - - - - - AgoraVideoProfilePortrait360P_6 - - - - - - - AgoraVideoProfilePortrait360P_7 - - - - - - - AgoraVideoProfilePortrait360P_8 - - - - - - - AgoraVideoProfilePortrait360P_9 - - - - - - - AgoraVideoProfilePortrait360P_10 - - - - - - - AgoraVideoProfilePortrait360P_11 - - - - - - - AgoraVideoProfilePortrait480P - - - - - - - AgoraVideoProfilePortrait480P_3 - - - - - - - AgoraVideoProfilePortrait480P_4 - - - - - - - AgoraVideoProfilePortrait480P_6 - - - - - - - AgoraVideoProfilePortrait480P_8 - - - - - - - AgoraVideoProfilePortrait480P_9 - - - - - - - AgoraVideoProfilePortrait480P_10 - - - - - - - AgoraVideoProfilePortrait720P - - - - - - - AgoraVideoProfilePortrait720P_3 - - - - - - - AgoraVideoProfilePortrait720P_5 - - - - - - - AgoraVideoProfilePortrait720P_6 - - - - - - - AgoraVideoProfilePortrait1080P - - - - - - - AgoraVideoProfilePortrait1080P_3 - - - - - - - AgoraVideoProfilePortrait1080P_5 - - - - - - - AgoraVideoProfilePortrait1440P - - - - - - - AgoraVideoProfilePortrait1440P_2 - - - - - - - AgoraVideoProfilePortrait4K - - - - - - - AgoraVideoProfilePortrait4K_3 - - - - - - - AgoraVideoProfileDEFAULT - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap index 2e159cba455..80eba449e27 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap @@ -1882,6 +1882,13 @@ + + + + enableVoiceAITuner + + + @@ -2636,31 +2643,31 @@ - + - onExtensionEvent + onExtensionEventWithContext - + - onExtensionStarted + onExtensionStartedWithContext - + - onExtensionStopped + onExtensionStoppedWithContext - + - onExtensionError + onExtensionErrorWithContext @@ -2749,20 +2756,6 @@ - - - - setEncryptionMode - - - - - - - setEncryptionSecret - - - @@ -3141,6 +3134,34 @@ + + + + MusicPlayMode + + + + + + + kMusicPlayModeOriginal + + + + + + + kMusicPlayModeAccompany + + + + + + + kMusicPlayModeLeadSing + + + @@ -3183,6 +3204,20 @@ + + + + setPlayMode + + + + + + + destroyMusicPlayer + + + @@ -4737,6 +4772,13 @@ EncryptionConfig + + + + + ExtensionContext + + @@ -5223,6 +5265,48 @@ + + + + AlphaStitchMode + + + + + + + NoAlphaStitch + + + + + + + AlphaStitchUp + + + + + + + AlphaStitchBelow + + + + + + + AlphaStitchLeft + + + + + + + AlphaStitchRight + + + @@ -10676,6 +10760,13 @@ + + + + ApplicationScenario1v1 + + + @@ -11327,591 +11418,164 @@ - - - - VideoProfileType - - - - - - - VideoProfileLandscape120p - - - - - - - VideoProfileLandscape120p3 - - - - - - - VideoProfileLandscape180p - - - - - - - VideoProfileLandscape180p3 - - - - - - - VideoProfileLandscape180p4 - - - - - - - VideoProfileLandscape240p - - - - - - - VideoProfileLandscape240p3 - - - - - - - VideoProfileLandscape240p4 - - - - - - - VideoProfileLandscape360p - - - - - - - VideoProfileLandscape360p3 - - - - - - - VideoProfileLandscape360p4 - - - - - - - VideoProfileLandscape360p6 - - - - - - - VideoProfileLandscape360p7 - - - - - - - VideoProfileLandscape360p8 - - - - - - - VideoProfileLandscape360p9 - - - - - - - VideoProfileLandscape360p10 - - - - - - - VideoProfileLandscape360p11 - - - - - - - VideoProfileLandscape480p - - - - - - - VideoProfileLandscape480p3 - - - - - - - VideoProfileLandscape480p4 - - - - - - - VideoProfileLandscape480p6 - - - - - - - VideoProfileLandscape480p8 - - - - - - - VideoProfileLandscape480p9 - - - - - - - VideoProfileLandscape480p10 - - - - - - - VideoProfileLandscape720p - - - - - - - VideoProfileLandscape720p3 - - - - - - - VideoProfileLandscape720p5 - - - - - - - VideoProfileLandscape720p6 - - - - - - - VideoProfileLandscape1080p - - - - - - - VideoProfileLandscape1080p3 - - - - - - - VideoProfileLandscape1080p5 - - - - - - - VideoProfileLandscape1440p - - - - - - - VideoProfileLandscape1440p2 - - - - - - - VideoProfileLandscape4k - - - - - - - VideoProfileLandscape4k3 - - - - - - - VideoProfilePortrait120p - - - - - - - VideoProfilePortrait120p3 - - - - - - - VideoProfilePortrait180p - - - - - - - VideoProfilePortrait180p3 - - - - - - - VideoProfilePortrait180p4 - - - - - - - VideoProfilePortrait240p - - - - - - - VideoProfilePortrait240p3 - - - - - - - VideoProfilePortrait240p4 - - - - - - - VideoProfilePortrait360p - - - - - - - VideoProfilePortrait360p3 - - - - - - - VideoProfilePortrait360p4 - - - - - - - VideoProfilePortrait360p6 - - - - - - - VideoProfilePortrait360p7 - - - - - - - VideoProfilePortrait360p8 - - - - - - - VideoProfilePortrait360p9 - - - - - - - VideoProfilePortrait360p10 - - - - - - - VideoProfilePortrait360p11 - - - - - - - VideoProfilePortrait480p - - - - - - - VideoProfilePortrait480p3 - - - - - - - VideoProfilePortrait480p4 - - - - - - - VideoProfilePortrait480p6 - - - - - - - VideoProfilePortrait480p8 - - - - - - - VideoProfilePortrait480p9 - - - - - - - VideoProfilePortrait480p10 - - - - - - - VideoProfilePortrait720p - - - - + + + + VideoViewSetupMode + + + + + + + VideoViewSetupReplace + + + + + + + VideoViewSetupAdd + + + + + + + VideoViewSetupRemove + + + + - VideoProfilePortrait720p3 + VideoTranscoderError - + - VideoProfilePortrait720p5 + VtErrOk - + - VideoProfilePortrait720p6 + VtErrVideoSourceNotReady - + - VideoProfilePortrait1080p + VtErrInvalidVideoSourceType - + - VideoProfilePortrait1080p3 + VtErrInvalidImagePath - + - VideoProfilePortrait1080p5 + VtErrUnsupportImageFormat - + - VideoProfilePortrait1440p + VtErrInvalidLayout - + - VideoProfilePortrait1440p2 + VtErrInternal - + - VideoProfilePortrait4k + VoiceAiTunerType - + - VideoProfilePortrait4k3 + VoiceAiTunerMatureMale - + - VideoProfileDefault + VoiceAiTunerFreshMale - - - - VideoViewSetupMode - - - - - - - VideoViewSetupReplace - - - - - - - VideoViewSetupAdd - - - - - - - VideoViewSetupRemove - - - - + - VideoTranscoderError + VoiceAiTunerElegantFemale - + - VtErrOk + VoiceAiTunerSweetFemale - + - VtErrVideoSourceNotReady + VoiceAiTunerWarmMaleSinging - + - VtErrInvalidVideoSourceType + VoiceAiTunerGentleFemaleSinging - + - VtErrInvalidImagePath + VoiceAiTunerHuskyMaleSinging - + - VtErrUnsupportImageFormat + VoiceAiTunerWarmElegantFemaleSinging - + - VtErrInvalidLayout + VoiceAiTunerPowerfulMaleSinging - + - VtErrInternal + VoiceAiTunerDreamyFemaleSinging diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap index ab3978b9479..8480f2f4bbc 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap @@ -797,13 +797,7 @@ - - - - OpenWithCustomSource - - - + @@ -1960,6 +1954,13 @@ + + + + EnableVoiceAITuner + + + @@ -2457,24 +2458,10 @@ - - - - StartEchoTest [1/3] - - - - - - - StartEchoTest [2/3] - - - - StartEchoTest [3/3] + StartEchoTest @@ -2760,31 +2747,31 @@ - + - OnExtensionEvent + OnExtensionEventWithContext - + - OnExtensionStarted + OnExtensionStartedWithContext - + - OnExtensionStopped + OnExtensionStoppedWithContext - + - OnExtensionError + OnExtensionErrorWithContext @@ -2882,20 +2869,6 @@ - - - - SetEncryptionMode - - - - - - - SetEncryptionSecret - - - @@ -3597,6 +3570,13 @@ + + + + DestroyMusicPlayer + + + @@ -3639,6 +3619,13 @@ + + + + SetPlayMode + + + @@ -5029,6 +5016,13 @@ ExternalVideoFrame + + + + + ExtensionContext + + @@ -5545,6 +5539,48 @@ + + + + ALPHA_STITCH_MODE + + + + + + + NO_ALPHA_STITCH + + + + + + + ALPHA_STITCH_UP + + + + + + + ALPHA_STITCH_BELOW + + + + + + + ALPHA_STITCH_LEFT + + + + + + + ALPHA_STITCH_RIGHT + + + @@ -6833,6 +6869,13 @@ + + + + APPLICATION_SCENARIO_1V1 + + + @@ -9031,6 +9074,13 @@ + + + + LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_DISPLAY_DISCONNECTED + + + @@ -9892,6 +9942,34 @@ + + + + MusicPlayMode + + + + + + + kMusicPlayModeOriginal + + + + + + + kMusicPlayModeAccompany + + + + + + + kMusicPlayModeLeadSing + + + @@ -11957,591 +12035,164 @@ - - - - VIDEO_PROFILE_TYPE - - - - - - - VIDEO_PROFILE_LANDSCAPE_120P - - - - - - - VIDEO_PROFILE_LANDSCAPE_120P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_180P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_240P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_7 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_8 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_9 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_10 - - - - - - - VIDEO_PROFILE_LANDSCAPE_360P_11 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_4 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_8 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_9 - - - - - - - VIDEO_PROFILE_LANDSCAPE_480P_10 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_5 - - - - - - - VIDEO_PROFILE_LANDSCAPE_720P_6 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P_3 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1080P_5 - - - - - - - VIDEO_PROFILE_LANDSCAPE_1440P - - - - - - - VIDEO_PROFILE_LANDSCAPE_1440P_2 - - - - - - - VIDEO_PROFILE_LANDSCAPE_4K - - - - - - - VIDEO_PROFILE_LANDSCAPE_4K_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_120P - - - - - - - VIDEO_PROFILE_PORTRAIT_120P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_180P - - - - - - - VIDEO_PROFILE_PORTRAIT_180P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_180P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_240P - - - - - - - VIDEO_PROFILE_PORTRAIT_240P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_240P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_6 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_7 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_8 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_9 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_10 - - - - - - - VIDEO_PROFILE_PORTRAIT_360P_11 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_3 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_4 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_6 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_8 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_9 - - - - - - - VIDEO_PROFILE_PORTRAIT_480P_10 - - - - - - - VIDEO_PROFILE_PORTRAIT_720P - - - - + - VIDEO_PROFILE_PORTRAIT_720P_3 + VIDEO_VIEW_SETUP_MODE - + - VIDEO_PROFILE_PORTRAIT_720P_5 + VIDEO_VIEW_SETUP_REPLACE - + - VIDEO_PROFILE_PORTRAIT_720P_6 + VIDEO_VIEW_SETUP_ADD - + - VIDEO_PROFILE_PORTRAIT_1080P + VIDEO_VIEW_SETUP_REMOVE - + - VIDEO_PROFILE_PORTRAIT_1080P_3 + VIDEO_TRANSCODER_ERROR - + - VIDEO_PROFILE_PORTRAIT_1080P_5 + VT_ERR_OK - + - VIDEO_PROFILE_PORTRAIT_1440P + VT_ERR_VIDEO_SOURCE_NOT_READY - + - VIDEO_PROFILE_PORTRAIT_1440P_2 + VT_ERR_INVALID_VIDEO_SOURCE_TYPE - + - VIDEO_PROFILE_PORTRAIT_4K + VT_ERR_INVALID_IMAGE_PATH - + - VIDEO_PROFILE_PORTRAIT_4K_3 + VT_ERR_UNSUPPORT_IMAGE_FORMAT - + - VIDEO_PROFILE_DEFAULT + VT_ERR_INVALID_LAYOUT - + - VIDEO_VIEW_SETUP_MODE + VT_ERR_INTERNAL - + - VIDEO_VIEW_SETUP_REPLACE + VOICE_AI_TUNER_TYPE - + - VIDEO_VIEW_SETUP_ADD + VOICE_AI_TUNER_MATURE_MALE - + - VIDEO_VIEW_SETUP_REMOVE + VOICE_AI_TUNER_FRESH_MALE - + - VIDEO_TRANSCODER_ERROR + VOICE_AI_TUNER_ELEGANT_FEMALE - + - VT_ERR_OK + VOICE_AI_TUNER_SWEET_FEMALE - + - VT_ERR_VIDEO_SOURCE_NOT_READY + VOICE_AI_TUNER_WARM_MALE_SINGING - + - VT_ERR_INVALID_VIDEO_SOURCE_TYPE + VOICE_AI_TUNER_GENTLE_FEMALE_SINGING - + - VT_ERR_INVALID_IMAGE_PATH + VOICE_AI_TUNER_HUSKY_MALE_SINGING - + - VT_ERR_UNSUPPORT_IMAGE_FORMAT + VOICE_AI_TUNER_WARM_ELEGANT_FEMALE_SINGING - + - VT_ERR_INVALID_LAYOUT + VOICE_AI_TUNER_POWERFUL_MALE_SINGING - + - VT_ERR_INTERNAL + VOICE_AI_TUNER_DREAMY_FEMALE_SINGING