From ac01e0af0fa8faa3900374cb9a43450ace46ccf0 Mon Sep 17 00:00:00 2001 From: vv Date: Tue, 30 Jul 2024 17:12:13 +0800 Subject: [PATCH] =?UTF-8?q?dlopen=E4=BC=A0=E5=8F=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vv --- .../managersink/src/daudio_sink_manager.cpp | 17 ++++------------- .../src/daudio_echo_cannel_manager.cpp | 11 ++--------- .../managersource/src/daudio_source_manager.cpp | 17 ++++------------- 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/services/audiomanager/managersink/src/daudio_sink_manager.cpp b/services/audiomanager/managersink/src/daudio_sink_manager.cpp index 497467aa..aef501e8 100644 --- a/services/audiomanager/managersink/src/daudio_sink_manager.cpp +++ b/services/audiomanager/managersink/src/daudio_sink_manager.cpp @@ -42,11 +42,6 @@ const std::string SENDER_SO_NAME = "libdistributed_av_sender.z.so"; const std::string GET_SENDER_PROVIDER_FUNC = "GetAVSenderEngineProvider"; const std::string RECEIVER_SO_NAME = "libdistributed_av_receiver.z.so"; const std::string GET_RECEIVER_PROVIDER_FUNC = "GetAVReceiverEngineProvider"; -#ifdef __LP64__ -const std::string LIB_LOAD_PATH = "/system/lib64/"; -#else -const std::string LIB_LOAD_PATH = "/system/lib/"; -#endif DAudioSinkManager::DAudioSinkManager() { DHLOGD("Distributed audio sink manager constructed."); @@ -304,13 +299,11 @@ void DAudioSinkManager::ClearAudioDev(const std::string &devId) int32_t DAudioSinkManager::LoadAVReceiverEngineProvider() { DHLOGI("LoadAVReceiverEngineProvider enter"); - char path[PATH_MAX + 1] = {0x00}; - if ((LIB_LOAD_PATH.length() + RECEIVER_SO_NAME.length()) > PATH_MAX || - realpath((LIB_LOAD_PATH + RECEIVER_SO_NAME).c_str(), path) == nullptr) { + if (RECEIVER_SO_NAME.length() > PATH_MAX) { DHLOGE("File open failed"); return ERR_DH_AUDIO_NULLPTR; } - pRHandler_ = dlopen(path, RTLD_LAZY | RTLD_NODELETE); + pRHandler_ = dlopen(RECEIVER_SO_NAME.c_str(), RTLD_LAZY | RTLD_NODELETE); CHECK_NULL_RETURN(pRHandler_, ERR_DH_AUDIO_NULLPTR); AVTransProviderClass getEngineFactoryFunc = (AVTransProviderClass)dlsym(pRHandler_, @@ -339,13 +332,11 @@ int32_t DAudioSinkManager::UnloadAVReceiverEngineProvider() int32_t DAudioSinkManager::LoadAVSenderEngineProvider() { DHLOGI("LoadAVSenderEngineProvider enter"); - char path[PATH_MAX + 1] = {0x00}; - if ((LIB_LOAD_PATH.length() + SENDER_SO_NAME.length()) > PATH_MAX || - realpath((LIB_LOAD_PATH + SENDER_SO_NAME).c_str(), path) == nullptr) { + if (SENDER_SO_NAME.length() > PATH_MAX) { DHLOGE("File open failed"); return ERR_DH_AUDIO_NULLPTR; } - pSHandler_ = dlopen(path, RTLD_LAZY | RTLD_NODELETE); + pSHandler_ = dlopen(SENDER_SO_NAME.c_str(), RTLD_LAZY | RTLD_NODELETE); CHECK_NULL_RETURN(pSHandler_, ERR_DH_AUDIO_NULLPTR); AVTransProviderClass getEngineFactoryFunc = (AVTransProviderClass)dlsym(pSHandler_, diff --git a/services/audiomanager/managersource/src/daudio_echo_cannel_manager.cpp b/services/audiomanager/managersource/src/daudio_echo_cannel_manager.cpp index ee0213cc..400809d0 100644 --- a/services/audiomanager/managersource/src/daudio_echo_cannel_manager.cpp +++ b/services/audiomanager/managersource/src/daudio_echo_cannel_manager.cpp @@ -35,11 +35,6 @@ using AecEffectProcessorProvider = AecEffector *(*)(); const std::string ECHOCANNEL_SO_NAME = "libdaudio_aec_effect_processor.z.so"; const std::string GET_AEC_EFFECT_PROCESSOR_FUNC = "GetAecEffector"; const int32_t FRAME_SIZE_NORMAL = 3840; -#ifdef __LP64__ -const std::string LIB_LOAD_PATH = "/system/lib64/"; -#else -const std::string LIB_LOAD_PATH = "/system/lib/"; -#endif DAudioEchoCannelManager::DAudioEchoCannelManager() { @@ -307,13 +302,11 @@ int32_t DAudioEchoCannelManager::AudioCaptureRelease() int32_t DAudioEchoCannelManager::LoadAecProcessor() { DHLOGI("LoadAecEffectProcessor enter"); - char path[PATH_MAX + 1] = {0x00}; - if ((LIB_LOAD_PATH.length() + ECHOCANNEL_SO_NAME.length()) > PATH_MAX || - realpath((LIB_LOAD_PATH+ ECHOCANNEL_SO_NAME).c_str(), path) == nullptr) { + if (ECHOCANNEL_SO_NAME.length() > PATH_MAX) { DHLOGE("File open failed"); return ERR_DH_AUDIO_NULLPTR; } - aecHandler_ = dlopen(path, RTLD_LAZY | RTLD_NODELETE); + aecHandler_ = dlopen(ECHOCANNEL_SO_NAME.c_str(), RTLD_LAZY | RTLD_NODELETE); CHECK_AND_RETURN_RET_LOG(aecHandler_ == nullptr, ERR_DH_AUDIO_NULLPTR, "dlOpen error."); AecEffectProcessorProvider getAecEffectProcessorFunc = (AecEffectProcessorProvider)dlsym(aecHandler_, GET_AEC_EFFECT_PROCESSOR_FUNC.c_str()); diff --git a/services/audiomanager/managersource/src/daudio_source_manager.cpp b/services/audiomanager/managersource/src/daudio_source_manager.cpp index 9dcb012c..45325d1e 100644 --- a/services/audiomanager/managersource/src/daudio_source_manager.cpp +++ b/services/audiomanager/managersource/src/daudio_source_manager.cpp @@ -43,11 +43,6 @@ const std::string SENDER_SO_NAME = "libdistributed_av_sender.z.so"; const std::string GET_SENDER_PROVIDER_FUNC = "GetAVSenderEngineProvider"; const std::string RECEIVER_SO_NAME = "libdistributed_av_receiver.z.so"; const std::string GET_RECEIVER_PROVIDER_FUNC = "GetAVReceiverEngineProvider"; -#ifdef __LP64__ -const std::string LIB_LOAD_PATH = "/system/lib64/"; -#else -const std::string LIB_LOAD_PATH = "/system/lib/"; -#endif DAudioSourceManager::DAudioSourceManager() { @@ -503,13 +498,11 @@ void DAudioSourceManager::ListenAudioDev() int32_t DAudioSourceManager::LoadAVSenderEngineProvider() { DHLOGI("LoadAVSenderEngineProvider enter"); - char path[PATH_MAX + 1] = {0x00}; - if ((LIB_LOAD_PATH.length() + SENDER_SO_NAME.length()) > PATH_MAX || - realpath((LIB_LOAD_PATH + SENDER_SO_NAME).c_str(), path) == nullptr) { + if (SENDER_SO_NAME.length() > PATH_MAX) { DHLOGE("File open failed"); return ERR_DH_AUDIO_NULLPTR; } - pSHandler_ = dlopen(path, RTLD_LAZY | RTLD_NODELETE); + pSHandler_ = dlopen(SENDER_SO_NAME.c_str(), RTLD_LAZY | RTLD_NODELETE); CHECK_NULL_RETURN(pSHandler_, ERR_DH_AUDIO_NULLPTR); AVTransProviderClass getEngineFactoryFunc = (AVTransProviderClass)dlsym(pSHandler_, GET_SENDER_PROVIDER_FUNC.c_str()); @@ -538,13 +531,11 @@ int32_t DAudioSourceManager::UnloadAVSenderEngineProvider() int32_t DAudioSourceManager::LoadAVReceiverEngineProvider() { DHLOGI("LoadAVReceiverEngineProvider enter"); - char path[PATH_MAX + 1] = {0x00}; - if ((LIB_LOAD_PATH.length() + RECEIVER_SO_NAME.length()) > PATH_MAX || - realpath((LIB_LOAD_PATH + RECEIVER_SO_NAME).c_str(), path) == nullptr) { + if (RECEIVER_SO_NAME.length() > PATH_MAX) { DHLOGE("File canonicalization failed"); return ERR_DH_AUDIO_NULLPTR; } - pRHandler_ = dlopen(path, RTLD_LAZY | RTLD_NODELETE); + pRHandler_ = dlopen(RECEIVER_SO_NAME.c_str(), RTLD_LAZY | RTLD_NODELETE); CHECK_NULL_RETURN(pRHandler_, ERR_DH_AUDIO_NULLPTR); AVTransProviderClass getEngineFactoryFunc = (AVTransProviderClass)dlsym(pRHandler_, GET_RECEIVER_PROVIDER_FUNC.c_str()); -- Gitee