You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Vivox sdk: update iOS SDK to 4.9.0002.32020, which has hardware echo cancellation support
VivoxVoiceChat: Enable hardware echo cancellation on iOS #ROBOMERGE-OWNER: lina.halper #ROBOMERGE-AUTHOR: michael.kirzinger #ROBOMERGE-SOURCE: CL 6655238 via CL 6655243 via CL 6655248 via CL 6655328 via CL 6656731 via CL 6656832 #ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468) [CL 6759764 by michael kirzinger in Dev-Anim branch]
This commit is contained in:
@@ -39578,7 +39578,7 @@
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/Android/armeabi-v7a/libvivox-sdk.so" Hash="d3e49056b487d79e9042a1d4d42f153b5d6c834e" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/Android/sdk-release.aar" Hash="2d6826788ccc8ff7f16070269ee0b8c8c539794b" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/Android/x86/libvivox-sdk.so" Hash="f589e9dd83155387cd5450985784a5e02b3d6d4d" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/IOS/libvivoxsdk.a" Hash="d4239854eb4a3b689aafabc296c6243fa3629715" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/IOS/libvivoxsdk.a" Hash="0fe589651fd89d1b2b9401424f98bbd29761d6b2" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/Win32/vivoxsdk.lib" Hash="be9e652583f5713f1ae920cee55ff7f575570f91" />
|
||||
<File Name="Engine/Source/ThirdParty/Vivox/vivox-sdk/Lib/Win64/vivoxsdk_x64.lib" Hash="3e9777729b4031ff2993a8a94660d30d2b14e23b" />
|
||||
<File Name="Engine/Source/ThirdParty/Vorbis/libvorbis-1.3.2/aclocal.m4" Hash="223a27073f75bc605f0f68b852c6516d0df7816e" />
|
||||
@@ -42872,6 +42872,7 @@
|
||||
<Blob Hash="0fda74cfc3a900ae54232fa86c2da5874791a633" Size="985" PackHash="afc5cb40d4e6c77d1775d83fce7636691d3fa748" PackOffset="527392" />
|
||||
<Blob Hash="0fdc86d4654305e67449153595914772e692b0ca" Size="223" PackHash="6974b9c6f99dd329465ca79c60ac6eebd6d448a5" PackOffset="280934" />
|
||||
<Blob Hash="0fdd4bb8acab48bdb56a32d23f97f8c2e1061008" Size="2966" PackHash="4ea073964fab7a54a02f8f439aeb21bf330390ab" PackOffset="2091407" />
|
||||
<Blob Hash="0fe589651fd89d1b2b9401424f98bbd29761d6b2" Size="310662216" PackHash="f535cfe247d20be6d02ed85b905df0dfff6ea2f5" PackOffset="8" />
|
||||
<Blob Hash="0fe6b36022f43ae3eb21116cc7ee7676433c6ebe" Size="13035" PackHash="02f911003167be7b08c3fbf9bdababa124958f48" PackOffset="161537" />
|
||||
<Blob Hash="0fe7a5455e0fe10271a9271a95e4ee814812e108" Size="43136" PackHash="81594c92fcec0b95d7d0b47ad36aef8d2605c8b8" PackOffset="776428" />
|
||||
<Blob Hash="0fe83416a2ca5e585988b28d358f0d09a853611e" Size="16" PackHash="e4f732e50cf204380d15ccd889b0c38bc5a3a022" PackOffset="2096841" />
|
||||
@@ -64114,7 +64115,6 @@
|
||||
<Blob Hash="d41e5cea37252389662b92ce8f597d648d025e8d" Size="123971" PackHash="6c2b112ac79e43fcadc99298fe007eddde949bda" PackOffset="1647302" />
|
||||
<Blob Hash="d41eba92b8bd5791205ac558c39afc7ad77ed5e7" Size="1344" PackHash="195c11b04e6c4ebb8aeb4f7eaed712a18b8739a9" PackOffset="1760410" />
|
||||
<Blob Hash="d4202147653afb1df8829188596c4f0a0e681a29" Size="7144" PackHash="21ecc79155a2d639e9e93d05fd07690f66f0cb12" PackOffset="725953" />
|
||||
<Blob Hash="d4239854eb4a3b689aafabc296c6243fa3629715" Size="309825544" PackHash="424a6e6c9c6ef387da3d9e963fff72606388152f" PackOffset="8" />
|
||||
<Blob Hash="d42596e31b2af9e64a2c56c2550943e870530b91" Size="54157" PackHash="acf6558b1e3950d55a31da4e8614e4a357aa653c" PackOffset="251796" />
|
||||
<Blob Hash="d425cbedaef393e2156296152c253b806115f4ee" Size="317032" PackHash="3ce1303b8635d153e94c49c403d380669cdb7df8" PackOffset="8" />
|
||||
<Blob Hash="d42617c158d82d4467e81ece50dfaeed847a6077" Size="1817" PackHash="9edb30c8b351bb8aefbb280ca02e214a669f77b4" PackOffset="1458042" />
|
||||
@@ -69657,7 +69657,6 @@
|
||||
<Pack Hash="422cafde0e37ed3166f1062fde69071d684e3e36" Size="6959880" CompressedSize="1873678" RemotePath="UnrealEngine-4688746-f006827fb0f043339219f8569dbe45f2" />
|
||||
<Pack Hash="4245e1d2e7ad643f66f744a3ed38052789489640" Size="2324096" CompressedSize="575412" RemotePath="2369826-2acd3c361c9d4a858bd63938a2ab980e" />
|
||||
<Pack Hash="424934ec37aab5d1718027a5f99bbfb17714a082" Size="3196128" CompressedSize="1217801" RemotePath="UnrealEngine-4688746-f006827fb0f043339219f8569dbe45f2" />
|
||||
<Pack Hash="424a6e6c9c6ef387da3d9e963fff72606388152f" Size="309825552" CompressedSize="102249086" RemotePath="UnrealEngine-6534858-78909c3980254ed4b1c0a4372eccc091" />
|
||||
<Pack Hash="426c5e11ce0d5895ccf48f1b26b15e71b287710d" Size="4289728" CompressedSize="2039575" RemotePath="UnrealEngine-6550977-9f47e905cb1d4c00964fa709c6c7edc4" />
|
||||
<Pack Hash="427459ae8bdd7e68cc8ad98af06b0778c749821c" Size="6961134" CompressedSize="1563379" RemotePath="UnrealEngine-6550801-2bfacb586b804284956a5d25a9ea5d08" />
|
||||
<Pack Hash="427864420c4268307e8f6f612caaec19bebd6e8f" Size="7250904" CompressedSize="1774642" RemotePath="UnrealEngine-4689477-61412d2908bb4a06bebda7a1f80da6c9" />
|
||||
@@ -71867,6 +71866,7 @@
|
||||
<Pack Hash="f5154d1ffb102c45075424de239cff1880b7d352" Size="14885852" CompressedSize="3813205" RemotePath="UnrealEngine-5295498-aea4624891f84a5787ca07d9c887b1b0" />
|
||||
<Pack Hash="f51cdb5d1eca4ab02befd826a9ff14a8d168ba9d" Size="9201538" CompressedSize="9202564" RemotePath="2487260-b428468bcd6545bfbb79f02a6605b9ef" />
|
||||
<Pack Hash="f52592a98e9db38220bb31b5bf52eb17e47b3727" Size="2562964" CompressedSize="531590" RemotePath="UnrealEngine-5711189-90391b3014da455db2b422c11a5e1a10" />
|
||||
<Pack Hash="f535cfe247d20be6d02ed85b905df0dfff6ea2f5" Size="310662224" CompressedSize="102515840" RemotePath="UnrealEngine-6656832-381e650982634eae8a9ec600b1a999df" />
|
||||
<Pack Hash="f536156112a408ee504c76fdefef83762f4cd70b" Size="2498419" CompressedSize="281932" RemotePath="UnrealEngine-5478274-0d5a02708fc74725a962de6de34be276" />
|
||||
<Pack Hash="f5528d25625367a4b26db543b16db7338518cae1" Size="113781016" CompressedSize="19556270" RemotePath="UnrealEngine-5711189-90391b3014da455db2b422c11a5e1a10" />
|
||||
<Pack Hash="f56edcc07a586e9b6792c219e9e8eca444362bfa" Size="2097088" CompressedSize="610101" RemotePath="2369826-2acd3c361c9d4a858bd63938a2ab980e" />
|
||||
|
||||
@@ -42,6 +42,8 @@ bool FIOSVivoxVoiceChat::Initialize()
|
||||
}
|
||||
}
|
||||
|
||||
vx_set_platform_aec_enabled(1);
|
||||
|
||||
bInBackground = false;
|
||||
bShouldReconnect = false;
|
||||
bIsRecording = false;
|
||||
@@ -127,6 +129,11 @@ void FIOSVivoxVoiceChat::OnVoiceChatDisconnectComplete(const FVoiceChatResult& R
|
||||
}
|
||||
}
|
||||
|
||||
void FIOSVivoxVoiceChat::SetVivoxSdkConfigHints(vx_sdk_config_t &Hints)
|
||||
{
|
||||
Hints.dynamic_voice_processing_switching = 0;
|
||||
}
|
||||
|
||||
void FIOSVivoxVoiceChat::HandleApplicationWillEnterBackground()
|
||||
{
|
||||
UE_LOG(LogVivoxVoiceChat, Log, TEXT("OnApplicationWillEnterBackgroundDelegate"));
|
||||
|
||||
@@ -22,6 +22,8 @@ protected:
|
||||
virtual void onConnectCompleted(const VivoxClientApi::Uri& Server) override;
|
||||
virtual void onDisconnected(const VivoxClientApi::Uri& Server, const VivoxClientApi::VCSStatus& Status) override;
|
||||
// ~End DebugClientApiEventHandler Interface
|
||||
|
||||
void SetVivoxSdkConfigHints(vx_sdk_config_t &Hints) override;
|
||||
|
||||
private:
|
||||
void OnVoiceChatConnectComplete(const FVoiceChatResult& Result);
|
||||
|
||||
@@ -2808,6 +2808,68 @@ typedef enum {
|
||||
|
||||
VIVOXSDK_DLLEXPORT char *vx_get_path(unsigned int path_id);
|
||||
|
||||
/**
|
||||
* Gets current value of dynamic voice processing switching enabled setting
|
||||
*
|
||||
* @return - 0 if disabled, 1 if enabled.
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_get_dynamic_voice_processing_switching_enabled();
|
||||
|
||||
/**
|
||||
* Enables and disables dynamic voice processing switching
|
||||
*
|
||||
* @param enabled - 0 to disable, 1 to enable dynamic voice processing switching
|
||||
* @return - 0 if successful, non-zero if failed (SDK not initialized).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_set_dynamic_voice_processing_switching_enabled(int enabled);
|
||||
|
||||
/**
|
||||
* Returns whether platform-provided AEC is being used.
|
||||
*
|
||||
* @return - 0 if disabled, 1 if enabled.
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_get_platform_aec_enabled();
|
||||
|
||||
/**
|
||||
* Enables and disables platform-provided AEC
|
||||
* This function is only effective if dynamic voice processing switching is off.
|
||||
*
|
||||
* @param enabled - 0 to disable, 1 to enable platform AEC
|
||||
* @return - 0 if successful, non-zero if failed (SDK not initialized).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_set_platform_aec_enabled(int enabled);
|
||||
|
||||
/**
|
||||
* Enable/disable SDK's internal AEC. Enabling does not force AEC usage, but alows SDK to use
|
||||
* the AEC when it is required.
|
||||
*
|
||||
* @return 0 if successful, non-zero if failed (SDK not initialized, internal AEC is not supported).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_set_vivox_aec_enabled(int enabled);
|
||||
|
||||
/**
|
||||
* Get the internal AEC enabled/disabled state. Enabling does not force AEC usage, but alows SDK to use
|
||||
* the AEC when it is required.
|
||||
*
|
||||
* @return 0 if successful, non-zero if failed (SDK not initialized, internal AEC is not supported).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_get_vivox_aec_enabled(int *enabled);
|
||||
|
||||
/**
|
||||
* Enable/disable SDK's internal AGC. Enabling does not force AGC usage, but alows SDK to use
|
||||
* the AGC when it is required.
|
||||
*
|
||||
* @return 0 if successful, non-zero if failed (SDK not initialized, internal AGC is not supported).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_set_agc_enabled(int enabled);
|
||||
|
||||
/**
|
||||
* Get the internal AGC enabled/disabled state. Enabling does not force AGC usage, but alows SDK to use
|
||||
* the AGC when it is required.
|
||||
*
|
||||
* @return 0 if successful, non-zero if failed (SDK not initialized, internal AGC is not supported).
|
||||
*/
|
||||
VIVOXSDK_DLLEXPORT int vx_get_agc_enabled(int *enabled);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -4256,12 +4256,16 @@ VIVOXSDK_DLLEXPORT int vx_req_aux_get_vad_properties_create(vx_req_aux_get_vad_p
|
||||
#endif
|
||||
|
||||
/**
|
||||
* This method is used to set the connector VAD (Voice Activity Detector) properties.
|
||||
* It can only be invoked successfully if neither the capture audio thread or the msopenal are active.
|
||||
*
|
||||
* \see vx_req_aux_set_vad_properties
|
||||
* \ingroup devices
|
||||
*/
|
||||
* This method is used to set the connector VAD (Voice Activity Detector) properties.
|
||||
* Most properties will update while capture audio is active.
|
||||
* Properties that require capture audio restart (i.e. rejoining a voice channel):
|
||||
* vad_noise_floor
|
||||
* Properties that update while capture audio is active:
|
||||
* vad_hangover, vad_sensitivity, vad_auto
|
||||
*
|
||||
* \see vx_req_aux_set_vad_properties
|
||||
* \ingroup devices
|
||||
*/
|
||||
typedef struct vx_req_aux_set_vad_properties {
|
||||
/**
|
||||
* The common properties for all requests.
|
||||
@@ -4278,11 +4282,15 @@ typedef struct vx_req_aux_set_vad_properties {
|
||||
*/
|
||||
int vad_sensitivity;
|
||||
/**
|
||||
* The 'vad noise floor' - A dimensionless value between 0 and 20000 (default 576) that controls how the vad separates speech from background noise
|
||||
* The 'vad noise floor' - A dimensionless value between 0 and 20000 (default 576) that controls the
|
||||
* maximum level at which the noise floor may be set at by the VAD's noise tracking.
|
||||
* Too low of a value will make noise tracking ineffective (A value of 0 disables noise tracking and the VAD then relies purely on the sensitivity property).
|
||||
* Too high of a value will make long speech classifiable as noise.
|
||||
*/
|
||||
int vad_noise_floor;
|
||||
/**
|
||||
* VAD Automatic Parameter Selection - If this mode is 1 (enabled), then vad_hangover, vad_sensitivity, and vad_noise_floor will be ignored and the VAD will optimize parameters automatically
|
||||
* VAD Automatic Parameter Selection - If this mode is 1 (enabled), then vad_hangover, vad_sensitivity,
|
||||
* and vad_noise_floor will be ignored and the VAD will optimize parameters automatically.
|
||||
*/
|
||||
int vad_auto;
|
||||
} vx_req_aux_set_vad_properties_t;
|
||||
|
||||
@@ -401,6 +401,13 @@ typedef struct vx_sdk_config {
|
||||
* Currently this function is called only on specific platforms. Please contact Vivox for more information.
|
||||
*/
|
||||
int (*pf_request_permission_for_network)(void);
|
||||
|
||||
/**
|
||||
* Enable Dynamic Voice Processing Switching. Default value is 1.
|
||||
* If enabled, the SDK will automatically switch between hardware and software AECs.
|
||||
* To disable set value to 0.
|
||||
*/
|
||||
int dynamic_voice_processing_switching;
|
||||
} vx_sdk_config_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -23,13 +23,13 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#define SDK_VERSION "4.9.0002.31944"
|
||||
#define SDK_VERSION "4.9.0002.32020"
|
||||
#define SDK_BRANCH "HEAD"
|
||||
|
||||
#define VERSION_MAJOR 4
|
||||
#define VERSION_MINOR 9
|
||||
/* so VERSION_MICRO (.e.g. 0008) is not interpreted as octal */
|
||||
#define VERSION_MICRO (10002 - 10000)
|
||||
#define VERSION_BUILD 31944
|
||||
#define VERSION_BUILD 32020
|
||||
|
||||
#define VERSION_HASH "cd26a60b"
|
||||
#define VERSION_HASH "43e5c38d"
|
||||
|
||||
Reference in New Issue
Block a user