diff --git a/audio/BUILD.gn b/audio/BUILD.gn index dc1b025cf4ca326597df1ce3c45f8b8a565a8e1a..88cdae244c34c26265fad5bc412c0cd168584757 100644 --- a/audio/BUILD.gn +++ b/audio/BUILD.gn @@ -16,34 +16,16 @@ import("audio.gni") group("hdi_audio") { deps = [] - if (drivers_peripheral_audio_feature_user_mode == false) { - if (drivers_peripheral_audio_feature_rich_device == false) { - deps += [ "hal/hdi_passthrough:hdi_audio" ] - } - } if (defined(ohos_lite)) { } else { if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { deps += [ - # "hal/hdi_binder/proxy:hdi_audio_client", "hal/hdi_binder/server:hdi_audio_a2dp_server", - "hal/hdi_binder/server:hdi_audio_primary_server", "hal/hdi_binder/server:hdi_audio_usb_server", "hdi_service/event:hdi_audio_pnp_server", ] } deps += [ "hdi_service:idl_audio" ] } - - if (drivers_peripheral_audio_feature_user_mode == false) { - deps += [ - "supportlibs:hdi_audio_interface_lib_capture", - "supportlibs:hdi_audio_interface_lib_render", - ] - } - - if (drivers_peripheral_audio_feature_hal_notsupport_pathselect == false) { - deps += [ "hal/pathselect:hdi_audio_path_select" ] - } } diff --git a/audio/bundle.json b/audio/bundle.json index 77b38dc4c9a69e5ea7b2c5a69dc49788e38a1992..fd03b5ca4c8f6a680f00a7abe33f9bcd48ba0381 100755 --- a/audio/bundle.json +++ b/audio/bundle.json @@ -46,7 +46,6 @@ ], "test": [ "//drivers/peripheral/audio/test:audio_test_entry", - "//drivers/peripheral/audio/test/sample:audio_sample", "//drivers/peripheral/audio/test/sample:idl_audio_sample", "//drivers/peripheral/audio/test/audio_utils/audio_mixer:audio_mixer", "//drivers/peripheral/audio/effect/test:effect_test" diff --git a/audio/hal/hdi_binder/proxy/BUILD.gn b/audio/hal/hdi_binder/proxy/BUILD.gn deleted file mode 100644 index 3f6dea995c69921639859ab39d02866dbc64f216..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/BUILD.gn +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../.." -hdf_hal_path = "./../.." -hdf_hdi_binder_path = "./.." -import("//build/ohos.gni") -import("$hdf_audio_path/audio.gni") - -if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { - if (defined(ohos_lite)) { - ohos_shared_library("hdi_audio_client") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_hal_path/hdi_passthrough/include", - "include", - "$hdf_hdi_binder_path/server/include", - "//third_party/bounds_checking_function/include", - ] - - sources = [ - "src/audio_proxy_adapter.c", - "src/audio_proxy_capture.c", - "src/audio_proxy_common.c", - "src/audio_proxy_manager.c", - "src/audio_proxy_render.c", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - - if (enable_audio_hal_hdf_log) { - defines = [ "AUDIO_HDF_LOG" ] - } - - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - } else { - ohos_shared_library("hdi_audio_client") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_hal_path/hdi_passthrough/include", - "include", - "$hdf_hdi_binder_path/server/include", - "//third_party/bounds_checking_function/include", - ] - - sources = [ - "src/audio_proxy_adapter.c", - "src/audio_proxy_capture.c", - "src/audio_proxy_common.c", - "src/audio_proxy_manager.c", - "src/audio_proxy_render.c", - ] - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdi", - "hdf_core:libpub_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - if (enable_audio_hal_hdf_log) { - defines = [ "AUDIO_HDF_LOG" ] - } - - install_images = [ system_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - } -} diff --git a/audio/hal/hdi_binder/proxy/include/audio_proxy_common.h b/audio/hal/hdi_binder/proxy/include/audio_proxy_common.h deleted file mode 100644 index 3c4f4c0653b8761ae7c4b312e16d8d8af22515cc..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/include/audio_proxy_common.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_PROXY_COMMON_H -#define AUDIO_PROXY_COMMON_H - -#include "audio_internal.h" -#include "audio_proxy_manager.h" -#include "hdf_audio_server.h" -#include "hdf_sbuf.h" - -#define CONFIG_CHANNEL_COUNT 2 // two channels -#define GAIN_MAX 50.0 -#define STR_MAX 512 - -#ifdef __cplusplus -extern "C" { -#endif -struct HdfSBuf *AudioProxyObtainHdfSBuf(void); -void AudioProxyBufReplyRecycle(struct HdfSBuf *data, struct HdfSBuf *reply); -int32_t AudioProxyPreprocessSBuf(struct HdfSBuf **data, struct HdfSBuf **reply); -int32_t AudioProxyDispatchCall(struct HdfRemoteService *self, int32_t id, struct HdfSBuf *data, struct HdfSBuf *reply); -int32_t AudioProxyAdapterGetRemoteHandle(struct AudioProxyManager *proxyManager, struct AudioHwAdapter *hwAdapter, - const char *adapterName); -int32_t AudioProxyPreprocessRender(struct AudioHwRender *render, struct HdfSBuf **data, struct HdfSBuf **reply); -int32_t AudioProxyPreprocessCapture(struct AudioHwCapture *capture, struct HdfSBuf **data, struct HdfSBuf **reply); -int32_t AudioProxyWriteSampleAttributes(struct HdfSBuf *data, const struct AudioSampleAttributes *attrs); -int32_t AudioProxyReadSapmleAttrbutes(struct HdfSBuf *reply, struct AudioSampleAttributes *attrs); -int32_t AudioProxyCommonSetRenderCtrlParam(int cmId, AudioHandle handle, float param); -int32_t AudioProxyCommonGetRenderCtrlParam(int cmId, AudioHandle handle, float *param); -int32_t AudioProxyCommonSetCaptureCtrlParam(int cmId, AudioHandle handle, float param); -int32_t AudioProxyCommonGetCaptureCtrlParam(int cmId, AudioHandle handle, float *param); -int32_t AudioProxyGetMmapPositionRead(struct HdfSBuf *reply, uint64_t *frames, struct AudioTimeStamp *time); -int32_t AudioProxyReqMmapBufferWrite(struct HdfSBuf *data, int32_t reqSize, - const struct AudioMmapBufferDescriptor *desc); - -int32_t AudioProxyRenderAddEffect(AudioHandle handle, uint64_t effectid); -int32_t AudioProxyRenderRemoveEffect(AudioHandle handle, uint64_t effectid); -int32_t AudioProxyCaptureAddEffect(AudioHandle handle, uint64_t effectid); -int32_t AudioProxyCaptureRemoveEffect(AudioHandle handle, uint64_t effectid); -bool HdiAudioRouteBlockMarshalling(struct HdfSBuf *data, const struct AudioRoute *dataBlock); -bool HdiAudioAdapterDescriptorBlockUnmarshalling(struct HdfSBuf *data, struct AudioAdapterDescriptor *dataBlock); -void AudioAdapterDescriptorFreeArray(struct AudioAdapterDescriptor **dataBlock, uint32_t *size); -bool HdiAudioPortCapabilityBlockUnmarshalling(struct HdfSBuf *data, struct AudioPortCapability *dataBlock); -#ifdef __cplusplus -} -#endif -#endif diff --git a/audio/hal/hdi_binder/proxy/include/audio_proxy_internal.h b/audio/hal/hdi_binder/proxy/include/audio_proxy_internal.h deleted file mode 100644 index 6a81fcee5315afa91e2939ab0d8a585e4bafcf15..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/include/audio_proxy_internal.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PROXY_INTERNAL_H -#define AUDIO_PROXY_INTERNAL_H - -#include "audio_adapter.h" - -#ifdef __cplusplus -extern "C" { -#endif -int32_t AudioProxyAdapterInitAllPorts(struct AudioAdapter *adapter); -int32_t AudioProxyAdapterCreateRender(struct AudioAdapter *adapter, - const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, - struct AudioRender **render); -int32_t AudioProxyAdapterDestroyRender(struct AudioAdapter *adapter, - struct AudioRender *render); -int32_t AudioProxyAdapterCreateCapture(struct AudioAdapter *adapter, - const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, - struct AudioCapture **capture); -int32_t AudioProxyAdapterDestroyCapture(struct AudioAdapter *adapter, - struct AudioCapture *capture); -int32_t AudioProxyAdapterGetPortCapability(struct AudioAdapter *adapter, - const struct AudioPort *port, struct AudioPortCapability *capability); -int32_t AudioProxyAdapterSetPassthroughMode(struct AudioAdapter *adapter, - const struct AudioPort *port, enum AudioPortPassthroughMode mode); -int32_t AudioProxyAdapterGetPassthroughMode(struct AudioAdapter *adapter, - const struct AudioPort *port, enum AudioPortPassthroughMode *mode); -int32_t AudioProxyAdapterGetDeviceStatus(struct AudioAdapter *adapter, struct AudioDeviceStatus *status); -int32_t AudioProxyRenderStart(AudioHandle handle); -int32_t AudioProxyRenderStop(AudioHandle handle); -int32_t AudioProxyRenderPause(AudioHandle handle); -int32_t AudioProxyRenderResume(AudioHandle handle); -int32_t AudioProxyRenderFlush(AudioHandle handle); -int32_t AudioProxyRenderGetFrameSize(const AudioHandle handle, uint64_t *size); -int32_t AudioProxyRenderGetFrameCount(const AudioHandle handle, uint64_t *count); -int32_t AudioProxyRenderSetSampleAttributes(const AudioHandle handle, - const struct AudioSampleAttributes *attrs); -int32_t AudioProxyRenderGetSampleAttributes(const AudioHandle handle, - struct AudioSampleAttributes *attrs); -int32_t AudioProxyRenderGetCurrentChannelId(const AudioHandle handle, uint32_t *channelId); -int32_t AudioProxyRenderCheckSceneCapability(const AudioHandle handle, - const struct AudioSceneDescriptor *scene, bool *supported); -int32_t AudioProxyRenderSelectScene(const AudioHandle handle, - const struct AudioSceneDescriptor *scene); -int32_t AudioProxyRenderSetMute(const AudioHandle handle, bool mute); -int32_t AudioProxyRenderGetMute(const AudioHandle handle, bool *mute); -int32_t AudioProxyRenderSetVolume(const AudioHandle handle, float volume); -int32_t AudioProxyRenderGetVolume(const AudioHandle handle, float *volume); -int32_t AudioProxyRenderGetGainThreshold(AudioHandle handle, float *min, float *max); -int32_t AudioProxyRenderGetGain(const AudioHandle handle, float *gain); -int32_t AudioProxyRenderSetGain(const AudioHandle handle, float gain); -int32_t AudioProxyRenderGetLatency(struct AudioRender *render, uint32_t *ms); -int32_t AudioProxyRenderRenderFrame(struct AudioRender *render, const void *frame, - uint64_t requestBytes, uint64_t *replyBytes); -int32_t AudioProxyRenderGetRenderPosition(struct AudioRender *render, - uint64_t *frames, struct AudioTimeStamp *time); -int32_t AudioProxyRenderSetRenderSpeed(struct AudioRender *render, float speed); -int32_t AudioProxyRenderGetRenderSpeed(struct AudioRender *render, float *speed); -int32_t AudioProxyRenderSetChannelMode(struct AudioRender *render, enum AudioChannelMode mode); -int32_t AudioProxyRenderGetChannelMode(struct AudioRender *render, enum AudioChannelMode *mode); -int32_t AudioProxyRenderSetExtraParams(AudioHandle render, const char *keyValueList); -int32_t AudioProxyRenderGetExtraParams(AudioHandle render, char *keyValueList, int32_t listLenth); -int32_t AudioProxyRenderReqMmapBuffer(AudioHandle render, int32_t reqSize, struct AudioMmapBufferDescriptor *desc); -int32_t AudioProxyRenderGetMmapPosition(AudioHandle render, uint64_t *frames, struct AudioTimeStamp *time); -int32_t AudioProxyRenderTurnStandbyMode(AudioHandle render); -int32_t AudioProxyRenderAudioDevDump(AudioHandle render, int32_t range, int32_t fd); -int32_t AudioProxyRenderRegCallback(struct AudioRender *render, RenderCallback callback, void *cookie); -int32_t AudioProxyRenderDrainBuffer(struct AudioRender *render, enum AudioDrainNotifyType *type); -int32_t AudioProxyCaptureStart(const AudioHandle handle); -int32_t AudioProxyCaptureStop(const AudioHandle handle); -int32_t AudioProxyCapturePause(const AudioHandle handle); -int32_t AudioProxyCaptureResume(const AudioHandle handle); -int32_t AudioProxyCaptureFlush(const AudioHandle handle); -int32_t AudioProxyCaptureGetFrameSize(const AudioHandle handle, uint64_t *size); -int32_t AudioProxyCaptureGetFrameCount(const AudioHandle handle, uint64_t *count); -int32_t AudioProxyCaptureSetSampleAttributes(AudioHandle handle, - const struct AudioSampleAttributes *attrs); -int32_t AudioProxyCaptureGetSampleAttributes(const AudioHandle handle, - struct AudioSampleAttributes *attrs); -int32_t AudioProxyCaptureGetCurrentChannelId(const AudioHandle handle, uint32_t *channelId); -int32_t AudioProxyCaptureCheckSceneCapability(const AudioHandle handle, - const struct AudioSceneDescriptor *scene, bool *supported); -int32_t AudioProxyCaptureSelectScene(const AudioHandle handle, - const struct AudioSceneDescriptor *scene); -int32_t AudioProxyCaptureSetMute(const AudioHandle handle, bool mute); -int32_t AudioProxyCaptureGetMute(const AudioHandle handle, bool *mute); -int32_t AudioProxyCaptureSetVolume(const AudioHandle handle, float volume); -int32_t AudioProxyCaptureGetVolume(const AudioHandle handle, float *volume); -int32_t AudioProxyCaptureGetGainThreshold(const AudioHandle handle, float *min, float *max); -int32_t AudioProxyCaptureGetGain(const AudioHandle handle, float *gain); -int32_t AudioProxyCaptureSetGain(const AudioHandle handle, float gain); -int32_t AudioProxyCaptureCaptureFrame(struct AudioCapture *capture, - void *frame, uint64_t requestBytes, uint64_t *replyBytes); -int32_t AudioProxyCaptureGetCapturePosition(struct AudioCapture *capture, - uint64_t *frames, struct AudioTimeStamp *time); -int32_t AudioProxyCaptureSetExtraParams(AudioHandle capture, const char *keyValueList); -int32_t AudioProxyCaptureGetExtraParams(const AudioHandle capture, char *keyValueList, int32_t listLenth); -int32_t AudioProxyCaptureReqMmapBuffer(const AudioHandle capture, - int32_t reqSize, struct AudioMmapBufferDescriptor *desc); -int32_t AudioProxyCaptureGetMmapPosition(const AudioHandle capture, uint64_t *frames, struct AudioTimeStamp *time); -int32_t AudioProxyCaptureTurnStandbyMode(const AudioHandle capture); -int32_t AudioProxyCaptureAudioDevDump(AudioHandle capture, int32_t range, int32_t fd); -int32_t AudioProxyAdapterSetMicMute(struct AudioAdapter *adapter, bool mute); -int32_t AudioProxyAdapterGetMicMute(struct AudioAdapter *adapter, bool *mute); -int32_t AudioProxyAdapterSetVoiceVolume(struct AudioAdapter *adapter, float volume); -int32_t AudioProxyAdapterSetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, const char *value); -int32_t AudioProxyAdapterGetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, char *value, int32_t length); -int32_t AudioProxyAdapterUpdateAudioRoute(struct AudioAdapter *adapter, - const struct AudioRoute *route, int32_t *routeHandle); -int32_t AudioProxyAdapterReleaseAudioRoute(struct AudioAdapter *adapter, int32_t routeHandle); -#ifdef __cplusplus -} -#endif -#endif diff --git a/audio/hal/hdi_binder/proxy/include/audio_proxy_manager.h b/audio/hal/hdi_binder/proxy/include/audio_proxy_manager.h deleted file mode 100644 index ed64a2b9ff8866481a6e827961d29d52304244f3..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/include/audio_proxy_manager.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_manager.h - * - * @brief Declares APIs for audio adapter management and loading. - * - * @since 1.0 - * @version 1.0 - */ - -#ifndef AUDIO_PROXY_MANAGER_H -#define AUDIO_PROXY_MANAGER_H -#include "audio_adapter.h" -#include "audio_manager.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct AudioProxyManager { - uint32_t audioMagic; - struct HdfRemoteService *remote; - struct HdfRemoteService *usbRemote; - struct HdfRemoteService *a2dpRemote; - struct AudioManager impl; -}; - -int32_t AudioProxyManagerGetAllAdapters(struct AudioManager *manager, - struct AudioAdapterDescriptor **descs, - int *size); -int32_t AudioProxyManagerLoadAdapter(struct AudioManager *manager, const struct AudioAdapterDescriptor *desc, - struct AudioAdapter **adapter); -void AudioProxyManagerUnloadAdapter(struct AudioManager *manager, struct AudioAdapter *adapter); - -#ifdef __cplusplus -} -#endif - -#endif /* AUDIO_MANAGER_H */ -/** @} */ diff --git a/audio/hal/hdi_binder/proxy/src/audio_proxy_adapter.c b/audio/hal/hdi_binder/proxy/src/audio_proxy_adapter.c deleted file mode 100644 index 8e3abf99141f8d281251ff3b2a049f71d1c71866..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/src/audio_proxy_adapter.c +++ /dev/null @@ -1,1140 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_internal.h" -#include "audio_proxy_common.h" -#include "audio_proxy_internal.h" -#include "audio_uhdf_log.h" -#include "hdf_remote_service.h" -#include "osal_mem.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_PROXY - -static int32_t AudioProxyCommonInitAttrs(struct HdfSBuf *data, const struct AudioSampleAttributes *attrs) -{ - if (data == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("data == NULL || attrs == NULL"); - return HDF_FAILURE; - } - uint32_t tempAtrr; - tempAtrr = (uint32_t)attrs->interleaved; - if (!HdfSbufWriteUint32(data, tempAtrr)) { - AUDIO_FUNC_LOGE("interleaved Write Fail"); - return HDF_FAILURE; - } - tempAtrr = (uint32_t)attrs->type; - if (!HdfSbufWriteUint32(data, tempAtrr)) { - AUDIO_FUNC_LOGE("type Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->period)) { - AUDIO_FUNC_LOGE("period Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->frameSize)) { - AUDIO_FUNC_LOGE("frameSize Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->startThreshold)) { - AUDIO_FUNC_LOGE("startThreshold Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->stopThreshold)) { - AUDIO_FUNC_LOGE("stopThreshold Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->silenceThreshold)) { - AUDIO_FUNC_LOGE("silenceThreshold Write Fail"); - return HDF_FAILURE; - } - tempAtrr = (uint32_t)attrs->isBigEndian; - if (!HdfSbufWriteUint32(data, tempAtrr)) { - AUDIO_FUNC_LOGE("isBigEndian Write Fail"); - return HDF_FAILURE; - } - tempAtrr = (uint32_t)attrs->isSignedData; - if (!HdfSbufWriteUint32(data, tempAtrr)) { - AUDIO_FUNC_LOGE("isSignedData Write Fail"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioProxyCommonInitCreateData(struct HdfSBuf *data, const struct AudioHwAdapter *adapter, - const struct AudioSampleAttributes *attrs) -{ - AUDIO_FUNC_LOGI(); - if (data == NULL || adapter == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("data == NULL || adapter == NULL || attrs == NULL"); - return HDF_FAILURE; - } - - uint32_t tempAtrr; - int32_t pid = getpid(); - const char *adapterName = adapter->adapterDescriptor.adapterName; - if (adapterName == NULL) { - return HDF_FAILURE; - } - if (!HdfSbufWriteString(data, adapterName)) { - AUDIO_FUNC_LOGE("adapterName Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteInt32(data, pid)) { - AUDIO_FUNC_LOGE("pid Write Fail"); - return HDF_FAILURE; - } - tempAtrr = (uint32_t)attrs->format; - if (!HdfSbufWriteUint32(data, tempAtrr)) { - AUDIO_FUNC_LOGE("format Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->channelCount)) { - AUDIO_FUNC_LOGE("channelCount Write Fail"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->sampleRate)) { - AUDIO_FUNC_LOGE("sampleRate Write Fail"); - return HDF_FAILURE; - } - if (AudioProxyCommonInitAttrs(data, attrs) < 0) { - return HDF_FAILURE; - } - - if (!HdfSbufWriteInt32(data, attrs->streamId)) { - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t AudioWriteDeviceDescriptor(struct HdfSBuf *data, const struct AudioDeviceDescriptor *desc) -{ - AUDIO_FUNC_LOGI(); - if (data == NULL || desc == NULL) { - AUDIO_FUNC_LOGE("invalid params of AudioWriteDeviceDescriptor"); - return HDF_FAILURE; - } - - uint32_t tempDesc; - if (!HdfSbufWriteUint32(data, desc->portId)) { - AUDIO_FUNC_LOGE("portId Write Fail"); - return HDF_FAILURE; - } - - tempDesc = (uint32_t)desc->pins; - if (!HdfSbufWriteUint32(data, tempDesc)) { - AUDIO_FUNC_LOGE("pins Write Fail"); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t GetAudioProxyRenderFunc(struct AudioHwRender *hwRender) -{ - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is null"); - return HDF_FAILURE; - } - hwRender->common.control.Start = AudioProxyRenderStart; - hwRender->common.control.Stop = AudioProxyRenderStop; - hwRender->common.control.Pause = AudioProxyRenderPause; - hwRender->common.control.Resume = AudioProxyRenderResume; - hwRender->common.control.Flush = AudioProxyRenderFlush; - hwRender->common.control.TurnStandbyMode = AudioProxyRenderTurnStandbyMode; - hwRender->common.control.AudioDevDump = AudioProxyRenderAudioDevDump; - hwRender->common.attr.GetFrameSize = AudioProxyRenderGetFrameSize; - hwRender->common.attr.GetFrameCount = AudioProxyRenderGetFrameCount; - hwRender->common.attr.SetSampleAttributes = AudioProxyRenderSetSampleAttributes; - hwRender->common.attr.GetSampleAttributes = AudioProxyRenderGetSampleAttributes; - hwRender->common.attr.GetCurrentChannelId = AudioProxyRenderGetCurrentChannelId; - hwRender->common.attr.SetExtraParams = AudioProxyRenderSetExtraParams; - hwRender->common.attr.GetExtraParams = AudioProxyRenderGetExtraParams; - hwRender->common.attr.ReqMmapBuffer = AudioProxyRenderReqMmapBuffer; - hwRender->common.attr.GetMmapPosition = AudioProxyRenderGetMmapPosition; - hwRender->common.attr.AddAudioEffect = AudioProxyRenderAddEffect; - hwRender->common.attr.RemoveAudioEffect = AudioProxyRenderRemoveEffect; - hwRender->common.scene.CheckSceneCapability = AudioProxyRenderCheckSceneCapability; - hwRender->common.scene.SelectScene = AudioProxyRenderSelectScene; - hwRender->common.volume.SetMute = AudioProxyRenderSetMute; - hwRender->common.volume.GetMute = AudioProxyRenderGetMute; - hwRender->common.volume.SetVolume = AudioProxyRenderSetVolume; - hwRender->common.volume.GetVolume = AudioProxyRenderGetVolume; - hwRender->common.volume.GetGainThreshold = AudioProxyRenderGetGainThreshold; - hwRender->common.volume.GetGain = AudioProxyRenderGetGain; - hwRender->common.volume.SetGain = AudioProxyRenderSetGain; - hwRender->common.GetLatency = AudioProxyRenderGetLatency; - hwRender->common.RenderFrame = AudioProxyRenderRenderFrame; - hwRender->common.GetRenderPosition = AudioProxyRenderGetRenderPosition; - hwRender->common.SetRenderSpeed = AudioProxyRenderSetRenderSpeed; - hwRender->common.GetRenderSpeed = AudioProxyRenderGetRenderSpeed; - hwRender->common.SetChannelMode = AudioProxyRenderSetChannelMode; - hwRender->common.GetChannelMode = AudioProxyRenderGetChannelMode; - hwRender->common.RegCallback = AudioProxyRenderRegCallback; - hwRender->common.DrainBuffer = AudioProxyRenderDrainBuffer; - return HDF_SUCCESS; -} - -int32_t InitHwRenderParam(struct AudioHwRender *hwRender, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs) -{ - if (hwRender == NULL || desc == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("InitHwRenderParam param Is NULL"); - return HDF_FAILURE; - } - hwRender->renderParam.renderMode.hwInfo.deviceDescript = *desc; - hwRender->renderParam.frameRenderMode.attrs = *attrs; - return HDF_SUCCESS; -} - -static int32_t InitAllPortsDispatchSplit(struct AudioHwAdapter *hwAdapter) -{ - if (hwAdapter == NULL || hwAdapter->adapterDescriptor.adapterName == NULL || hwAdapter->proxyRemoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - const char *adapterName = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - adapterName = hwAdapter->adapterDescriptor.adapterName; - if (!HdfSbufWriteString(data, adapterName)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_INIT_PORTS, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get Failed AudioAdapter!"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterInitAllPorts(struct AudioAdapter *adapter) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->adapterDescriptor.adapterName == NULL || - hwAdapter->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwAdapter Is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - int32_t ret = InitAllPortsDispatchSplit(hwAdapter); - if (ret < 0) { - AUDIO_FUNC_LOGE("InitAllPortsDispatchSplit Fail"); - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t AudioProxyAdapterCreateRenderSplit(const struct AudioHwAdapter *hwAdapter, - struct AudioHwRender *hwRender) -{ - if (hwAdapter == NULL || hwRender == NULL) { - return HDF_FAILURE; - } - if (hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("hwAdapter->adapterDescriptor.adapterName is null!"); - return HDF_FAILURE; - } - uint32_t adapterNameLen = strlen(hwAdapter->adapterDescriptor.adapterName); - /* Get Adapter name */ - int32_t ret = strncpy_s(hwRender->renderParam.renderMode.hwInfo.adapterName, NAME_LEN, - hwAdapter->adapterDescriptor.adapterName, adapterNameLen); - if (ret != EOK) { - AUDIO_FUNC_LOGE("strncpy_s hwAdapter->adapterDescriptor.adapterName failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioProxyRenderDispatchSplit(const struct AudioHwAdapter *hwAdapter, - struct AudioHwRender *hwRender, struct HdfSBuf *data, struct HdfSBuf *reply) -{ - if (hwAdapter == NULL || hwRender == NULL || - hwRender->proxyRemoteHandle == NULL || data == NULL || reply == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyAdapterCreateRenderSplit(hwAdapter, hwRender) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_CREATE_RENDER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Send Server fail!"); - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -static inline int32_t AudioProxyWriteTokenAndInitData(struct AudioHwAdapter *hwAdapter, struct HdfSBuf *data, - const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs) -{ - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyCommonInitCreateData(data, hwAdapter, attrs) < 0) { - AUDIO_FUNC_LOGE("Failed to obtain reply"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioWriteDeviceDescriptor(data, desc) < 0) { - AUDIO_FUNC_LOGE("Failed to write audio device descriptor"); - return AUDIO_HAL_ERR_INTERNAL; - } - - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterCreateRender(struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, struct AudioRender **render) -{ - AUDIO_FUNC_LOGI(); - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - int32_t ret = AUDIO_HAL_SUCCESS; - - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL || desc == NULL || attrs == NULL || render == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwRender *hwRender = (struct AudioHwRender *)OsalMemCalloc(sizeof(*hwRender)); - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is NULL!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwRender->proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - if (GetAudioProxyRenderFunc(hwRender) < 0) { - OsalMemFree((void *)hwRender); - return AUDIO_HAL_ERR_INTERNAL; - } - /* Fill hwRender para */ - if (InitHwRenderParam(hwRender, desc, attrs) < 0) { - OsalMemFree((void *)hwRender); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - OsalMemFree((void *)hwRender); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyWriteTokenAndInitData(hwAdapter, data, desc, attrs) != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("Render write interface token or initdata failed"); - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwRender); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyRenderDispatchSplit(hwAdapter, hwRender, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwRender); - return ret; - } - *render = &hwRender->common; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterDestroyRender(struct AudioAdapter *adapter, struct AudioRender *render) -{ - int32_t ret = AUDIO_HAL_SUCCESS; - if (adapter == NULL || render == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender->proxyRemoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)render, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_DESTROY, data, reply); - if (ret < 0) { - if (ret != AUDIO_HAL_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("AudioRenderRenderFrame FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - } - OsalMemFree((void *)hwRender->renderParam.frameRenderMode.buffer); - OsalMemFree((void *)render); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -static int32_t GetAudioProxyCaptureFunc(struct AudioHwCapture *hwCapture) -{ - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is null"); - return HDF_FAILURE; - } - hwCapture->common.control.Start = AudioProxyCaptureStart; - hwCapture->common.control.Stop = AudioProxyCaptureStop; - hwCapture->common.control.Pause = AudioProxyCapturePause; - hwCapture->common.control.Resume = AudioProxyCaptureResume; - hwCapture->common.control.Flush = AudioProxyCaptureFlush; - hwCapture->common.control.TurnStandbyMode = AudioProxyCaptureTurnStandbyMode; - hwCapture->common.control.AudioDevDump = AudioProxyCaptureAudioDevDump; - hwCapture->common.attr.GetFrameSize = AudioProxyCaptureGetFrameSize; - hwCapture->common.attr.GetFrameCount = AudioProxyCaptureGetFrameCount; - hwCapture->common.attr.SetSampleAttributes = AudioProxyCaptureSetSampleAttributes; - hwCapture->common.attr.GetSampleAttributes = AudioProxyCaptureGetSampleAttributes; - hwCapture->common.attr.GetCurrentChannelId = AudioProxyCaptureGetCurrentChannelId; - hwCapture->common.attr.SetExtraParams = AudioProxyCaptureSetExtraParams; - hwCapture->common.attr.GetExtraParams = AudioProxyCaptureGetExtraParams; - hwCapture->common.attr.ReqMmapBuffer = AudioProxyCaptureReqMmapBuffer; - hwCapture->common.attr.GetMmapPosition = AudioProxyCaptureGetMmapPosition; - hwCapture->common.attr.AddAudioEffect = AudioProxyCaptureAddEffect; - hwCapture->common.attr.RemoveAudioEffect = AudioProxyCaptureRemoveEffect; - hwCapture->common.scene.CheckSceneCapability = AudioProxyCaptureCheckSceneCapability; - hwCapture->common.scene.SelectScene = AudioProxyCaptureSelectScene; - hwCapture->common.volume.SetMute = AudioProxyCaptureSetMute; - hwCapture->common.volume.GetMute = AudioProxyCaptureGetMute; - hwCapture->common.volume.SetVolume = AudioProxyCaptureSetVolume; - hwCapture->common.volume.GetVolume = AudioProxyCaptureGetVolume; - hwCapture->common.volume.GetGainThreshold = AudioProxyCaptureGetGainThreshold; - hwCapture->common.volume.GetGain = AudioProxyCaptureGetGain; - hwCapture->common.volume.SetGain = AudioProxyCaptureSetGain; - hwCapture->common.CaptureFrame = AudioProxyCaptureCaptureFrame; - hwCapture->common.GetCapturePosition = AudioProxyCaptureGetCapturePosition; - return HDF_SUCCESS; -} - -static int32_t InitProxyHwCaptureParam(struct AudioHwCapture *hwCapture, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs) -{ - if (hwCapture == NULL || desc == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("InitHwCaptureParam param Is NULL"); - return HDF_FAILURE; - } - hwCapture->captureParam.captureMode.hwInfo.deviceDescript = *desc; - hwCapture->captureParam.frameCaptureMode.attrs = *attrs; - return HDF_SUCCESS; -} - -static int32_t AudioProxyAdapterCreateCaptureSplit(const struct AudioHwAdapter *hwAdapter, - struct AudioHwCapture *hwCapture) -{ - if (hwAdapter == NULL || hwCapture == NULL) { - AUDIO_FUNC_LOGE("param Is NULL"); - return HDF_FAILURE; - } - if (hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("adapterName Is NULL"); - return HDF_FAILURE; - } - uint32_t adapterNameLen = strlen(hwAdapter->adapterDescriptor.adapterName); - /* Get AdapterName */ - int32_t ret = strncpy_s(hwCapture->captureParam.captureMode.hwInfo.adapterName, NAME_LEN, - hwAdapter->adapterDescriptor.adapterName, adapterNameLen); - if (ret != EOK) { - AUDIO_FUNC_LOGE("strncpy_s failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioProxyCaptureDispatchSplit(const struct AudioHwAdapter *hwAdapter, - struct AudioHwCapture *hwCapture, struct HdfSBuf *data, struct HdfSBuf *reply) -{ - if (hwAdapter == NULL || hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL || - data == NULL || reply == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyAdapterCreateCaptureSplit(hwAdapter, hwCapture) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_CREATE_CAPTURE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Send Server fail!"); - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterCreateCapture(struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, struct AudioCapture **capture) -{ - AUDIO_FUNC_LOGI(); - int32_t ret = AUDIO_HAL_SUCCESS; - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL || desc == NULL || - attrs == NULL || capture == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)OsalMemCalloc(sizeof(struct AudioHwCapture)); - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is NULL!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwCapture->proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - if (GetAudioProxyCaptureFunc(hwCapture) < 0) { - OsalMemFree((void *)hwCapture); - return AUDIO_HAL_ERR_INTERNAL; - } - /* Fill hwRender para */ - if (InitProxyHwCaptureParam(hwCapture, desc, attrs) < 0) { - OsalMemFree((void *)hwCapture); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - OsalMemFree((void *)hwCapture); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyWriteTokenAndInitData(hwAdapter, data, desc, attrs) != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("Capture write interface token or initdata failed"); - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwCapture); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyCaptureDispatchSplit(hwAdapter, hwCapture, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwCapture); - return ret; - } - *capture = &hwCapture->common; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterDestroyCapture(struct AudioAdapter *adapter, struct AudioCapture *capture) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (adapter == NULL || capture == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AUDIO_HAL_SUCCESS; - - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - if (hwCapture->proxyRemoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)capture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_DESTROY, data, reply); - if (ret < 0) { - if (ret != AUDIO_HAL_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("AudioCaptureCaptuerFrame fail!"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - } - OsalMemFree((void *)hwCapture->captureParam.frameCaptureMode.buffer); - OsalMemFree((void *)capture); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -static int32_t AudioProxyAdapterWritePortCapability(const struct AudioHwAdapter *hwAdapter, - const struct AudioPort *port, struct HdfSBuf *data) -{ - if (hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("hwAdapter->adapterDescriptor.adapterName is null!"); - return HDF_FAILURE; - } - if (port == NULL || port->portName == NULL) { - AUDIO_FUNC_LOGE("port or port->portName is null!"); - return HDF_FAILURE; - } - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("HdfRemoteServiceWriteInterfaceToken failed!"); - return HDF_FAILURE; - } - - if (!HdfSbufWriteString(data, hwAdapter->adapterDescriptor.adapterName)) { - AUDIO_FUNC_LOGE("HdfSbufWriteString adapterName failed!"); - return HDF_FAILURE; - } - - if (!HdfSbufWriteUint32(data, (uint32_t)port->dir)) { - AUDIO_FUNC_LOGE("HdfSbufWriteUint32 port->dir failed!"); - return HDF_FAILURE; - } - - if (!HdfSbufWriteUint32(data, port->portId)) { - AUDIO_FUNC_LOGE("HdfSbufWriteUint32 port->portId failed!"); - return HDF_FAILURE; - } - - if (!HdfSbufWriteString(data, port->portName)) { - AUDIO_FUNC_LOGE("HdfSbufWriteUint32 port->portName failed!"); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -int32_t AudioProxyAdapterGetPortCapability(struct AudioAdapter *adapter, - const struct AudioPort *port, struct AudioPortCapability *capability) -{ - if (adapter == NULL || port == NULL || capability == NULL || (port->portId < 0)) { - AUDIO_FUNC_LOGE("invalid param"); - return HDF_ERR_INVALID_PARAM; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessSBuf failed"); - return HDF_FAILURE; - } - - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwAdapter->proxyRemoteHandle is null"); - AudioProxyBufReplyRecycle(data, reply); - return HDF_FAILURE; - } - - int32_t ret = AudioProxyAdapterWritePortCapability(hwAdapter, port, data); - if (ret != HDF_SUCCESS) { - goto ERROR; - } - - ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_GET_PORT_CAPABILITY, data, reply); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("AudioProxyDispatchCall failed ret = %{public}d", ret); - goto ERROR; - } - - if (hwAdapter->portCapabilitys == NULL) { - hwAdapter->portCapabilitys = - (struct AudioPortAndCapability *)OsalMemCalloc(sizeof(struct AudioPortAndCapability)); - } - - if (hwAdapter->portCapabilitys == NULL) { - AUDIO_FUNC_LOGE("hwAdapter->portCapabilitys is null"); - goto ERROR; - } - - if (!HdiAudioPortCapabilityBlockUnmarshalling(reply, &hwAdapter->portCapabilitys->capability)) { - AUDIO_FUNC_LOGE("HdiAudioPortCapabilityBlockUnmarshalling failed"); - goto ERROR; - } - - *capability = hwAdapter->portCapabilitys->capability; - - AudioProxyBufReplyRecycle(data, reply); - return HDF_SUCCESS; -ERROR: - AudioProxyBufReplyRecycle(data, reply); - return HDF_FAILURE; -} - -static int32_t AudioProxyAdapterSetAndGetPassthroughModeSBuf(struct HdfSBuf *data, - const struct HdfSBuf *reply, const struct AudioPort *port) -{ - (void)reply; - if (data == NULL || port == NULL || port->portName == NULL) { - return HDF_FAILURE; - } - uint32_t tempDir = port->dir; - if (!HdfSbufWriteUint32(data, tempDir)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, port->portId)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteString(data, port->portName)) { - AUDIO_FUNC_LOGE("HdfSbufWriteString error"); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t AudioProxyWriteTokenAndNameForSetPassThrough(struct AudioHwAdapter *hwAdapter, struct HdfSBuf *data) -{ - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL || - hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("The input para is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - const char *adapterName = hwAdapter->adapterDescriptor.adapterName; - if (!HdfSbufWriteString(data, adapterName)) { - AUDIO_FUNC_LOGE("adapterName Write Fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterSetPassthroughMode(struct AudioAdapter *adapter, - const struct AudioPort *port, enum AudioPortPassthroughMode mode) -{ - AUDIO_FUNC_LOGI(); - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - int32_t ret = AUDIO_HAL_SUCCESS; - - if (adapter == NULL || port == NULL) { - AUDIO_FUNC_LOGE("Params is null."); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (port->dir != PORT_OUT || port->portId < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL || - hwAdapter->adapterDescriptor.adapterName == NULL) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyAdapterSetAndGetPassthroughModeSBuf(data, reply, port) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufWriteUint32(data, (uint32_t)mode)) { - AUDIO_FUNC_LOGE("Mode Write Fail"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_SET_PASS_MODE, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("Failed to send server, ret = %{public}d", ret); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -static int32_t AudioProxyWriteTokenAndNameForGetPassThrough(struct AudioHwAdapter *hwAdapter, struct HdfSBuf *data) -{ - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL || - hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("The input para is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - const char *adapterName = hwAdapter->adapterDescriptor.adapterName; - if (!HdfSbufWriteString(data, adapterName)) { - AUDIO_FUNC_LOGE("adapterName Write Fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterGetPassthroughMode(struct AudioAdapter *adapter, - const struct AudioPort *port, enum AudioPortPassthroughMode *mode) -{ - int32_t ret = AUDIO_HAL_SUCCESS; - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (adapter == NULL || port == NULL || mode == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (port->dir != PORT_OUT || port->portId < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyWriteTokenAndNameForGetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("Failed to write token or adapter name"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyAdapterSetAndGetPassthroughModeSBuf(data, reply, port) < 0) { - AUDIO_FUNC_LOGE("Failed to obtain data"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_GET_PASS_MODE, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempMode = 0; - if (!HdfSbufReadUint32(reply, &tempMode)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *mode = (enum AudioPortPassthroughMode)tempMode; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyAdapterSetMicMute(struct AudioAdapter *adapter, bool mute) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("the parameter is null"); - return AUDIO_HAL_ERR_INTERNAL; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterSetMicMute FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufWriteUint32(data, (uint32_t)mute)) { - AUDIO_FUNC_LOGE("tempMute Write Fail"); - AudioProxyBufReplyRecycle(data, reply); - return HDF_FAILURE; - } - - int ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_SET_MIC_MUTE, data, reply); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("%{public}s:set parameter failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyAdapterGetMicMute(struct AudioAdapter *adapter, bool *mute) -{ - uint32_t tempMute = 0; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL || mute == NULL) { - AUDIO_FUNC_LOGE("the parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetMicMute FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - int32_t ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_GET_MIC_MUTE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetMicMute FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - if (!HdfSbufReadUint32(reply, &tempMute)) { - AUDIO_FUNC_LOGE("tempMute Read Fail"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *mute = (bool)tempMute; - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyAdapterSetVoiceVolume(struct AudioAdapter *adapter, float volume) -{ - if (adapter == NULL) { - AUDIO_FUNC_LOGE("the parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufWriteFloat(data, volume)) { - AUDIO_FUNC_LOGE("adapterName Write Fail"); - AudioProxyBufReplyRecycle(data, reply); - return HDF_FAILURE; - } - - int ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_SET_VOICE_VOLUME, data, reply); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("%{public}s:set parameter failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyAdapterSetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, const char *value) -{ - if (adapter == NULL || value == NULL) { - AUDIO_FUNC_LOGE("the parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - (void)key; - (void)condition; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterSetExtraParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwAdapter->proxyRemoteHandle is NULL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufWriteString(data, value)) { - AUDIO_FUNC_LOGE("value write fail"); - AudioProxyBufReplyRecycle(data, reply); - return HDF_FAILURE; - } - - int ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_SET_EXTRA_PARAMS, data, reply); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("%{public}s:set parameter failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyAdapterGetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, char *value, int32_t length) -{ - if (adapter == NULL || value == NULL || length <= 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetExtraParams FAIL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - (void)key; - (void)condition; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - const char *strValue = NULL; - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetExtraParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("parameter is null"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, data) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufWriteInt32(data, length)) { - AUDIO_FUNC_LOGE("length write fail"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - int ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_GET_EXTRA_PARAMS, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetExtraParams FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - strValue = HdfSbufReadString(reply); - if (strValue == NULL) { - AUDIO_FUNC_LOGE("value is empty"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (length < (int32_t)(strlen(strValue) + 1)) { - AUDIO_FUNC_LOGE("length less than strlen(strValue)!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = strncpy_s(value, length, strValue, strlen(strValue)); - if (ret != 0) { - AUDIO_FUNC_LOGE("copy failed!"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyAdapterUpdateAudioRoute(struct AudioAdapter *adapter, - const struct AudioRoute *route, int32_t *routeHandle) -{ - int32_t audioAdapterRet = HDF_FAILURE; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *audioAdapterData = HdfSbufTypedObtain(SBUF_IPC); - struct HdfSBuf *audioAdapterReply = HdfSbufTypedObtain(SBUF_IPC); - - if (audioAdapterData == NULL || audioAdapterReply == NULL) { - HDF_LOGE("%{public}s: HdfSubf malloc failed!", __func__); - audioAdapterRet = HDF_ERR_MALLOC_FAIL; - goto FINISHED; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, audioAdapterData) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - audioAdapterRet = HDF_ERR_INVALID_PARAM; - goto FINISHED; - } - - if (!HdiAudioRouteBlockMarshalling(audioAdapterData, route)) { - HDF_LOGE("%{public}s: write route failed!", __func__); - audioAdapterRet = HDF_ERR_INVALID_PARAM; - goto FINISHED; - } - - audioAdapterRet = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_UPDATE_ROUTE, - audioAdapterData, audioAdapterReply); - if (audioAdapterRet != HDF_SUCCESS) { - HDF_LOGE("%{public}s: call failed! error code is %{public}d", __func__, audioAdapterRet); - goto FINISHED; - } - - if (!HdfSbufReadInt32(audioAdapterReply, routeHandle)) { - HDF_LOGE("%{public}s: read routeHandle failed!", __func__); - audioAdapterRet = HDF_ERR_INVALID_PARAM; - goto FINISHED; - } - -FINISHED: - if (audioAdapterData != NULL) { - HdfSbufRecycle(audioAdapterData); - } - if (audioAdapterReply != NULL) { - HdfSbufRecycle(audioAdapterReply); - } - return audioAdapterRet; -} - -int32_t AudioProxyAdapterReleaseAudioRoute(struct AudioAdapter *adapter, int32_t routeHandle) -{ - int32_t audioAdapterRet = HDF_FAILURE; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || hwAdapter->proxyRemoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - struct HdfSBuf *audioAdapterData = HdfSbufTypedObtain(SBUF_IPC); - struct HdfSBuf *audioAdapterReply = HdfSbufTypedObtain(SBUF_IPC); - if (audioAdapterData == NULL || audioAdapterReply == NULL) { - HDF_LOGE("%{public}s: HdfSubf malloc failed!", __func__); - audioAdapterRet = HDF_ERR_MALLOC_FAIL; - goto FINISHED; - } - - if (AudioProxyWriteTokenAndNameForSetPassThrough(hwAdapter, audioAdapterData) != AUDIO_HAL_SUCCESS) { - HDF_LOGE("%{public}s: write interface token failed!", __func__); - audioAdapterRet = HDF_ERR_INVALID_PARAM; - goto FINISHED; - } - - if (!HdfSbufWriteInt32(audioAdapterData, routeHandle)) { - HDF_LOGE("%{public}s: write routeHandle failed!", __func__); - audioAdapterRet = HDF_ERR_INVALID_PARAM; - goto FINISHED; - } - - audioAdapterRet = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_ADT_RELEASE_ROUTE, - audioAdapterData, audioAdapterData); - if (audioAdapterRet != HDF_SUCCESS) { - HDF_LOGE("%{public}s: call failed! error code is %{public}d", __func__, audioAdapterRet); - goto FINISHED; - } - -FINISHED: - if (audioAdapterData != NULL) { - HdfSbufRecycle(audioAdapterData); - } - if (audioAdapterReply != NULL) { - HdfSbufRecycle(audioAdapterReply); - } - return audioAdapterRet; -} - -int32_t AudioProxyAdapterGetDeviceStatus(struct AudioAdapter *adapter, struct AudioDeviceStatus *status) -{ - (void)adapter; - (void)status; - return HDF_ERR_NOT_SUPPORT; -} diff --git a/audio/hal/hdi_binder/proxy/src/audio_proxy_capture.c b/audio/hal/hdi_binder/proxy/src/audio_proxy_capture.c deleted file mode 100644 index ed58f05eae624d9184642a7b10ec9d95f6ea134d..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/src/audio_proxy_capture.c +++ /dev/null @@ -1,759 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_proxy_common.h" -#include "audio_uhdf_log.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_PROXY - -static int32_t AudioProxyCaptureCtrl(int cmId, const AudioHandle handle) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessCapture failed."); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, cmId, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCaptureStart(const AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCaptureCtrl(AUDIO_HDI_CAPTURE_START, handle); -} - -int32_t AudioProxyCaptureStop(const AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCaptureCtrl(AUDIO_HDI_CAPTURE_STOP, handle); -} - -int32_t AudioProxyCapturePause(const AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCaptureCtrl(AUDIO_HDI_CAPTURE_PAUSE, handle); -} - -int32_t AudioProxyCaptureResume(const AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCaptureCtrl(AUDIO_HDI_CAPTURE_RESUME, handle); -} - -int32_t AudioProxyCaptureFlush(const AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -static int32_t AudioProxyCaptureGetFrameParameter(int cmId, const AudioHandle handle, uint64_t *param) -{ - if (param == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, cmId, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetFrameSize FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint64(reply, param)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCaptureGetFrameSize(const AudioHandle handle, uint64_t *size) -{ - return AudioProxyCaptureGetFrameParameter(AUDIO_HDI_CAPTURE_GET_FRAME_SIZE, handle, size); -} - -int32_t AudioProxyCaptureGetFrameCount(const AudioHandle handle, uint64_t *count) -{ - return AudioProxyCaptureGetFrameParameter(AUDIO_HDI_CAPTURE_GET_FRAME_COUNT, handle, count); -} - -int32_t AudioProxyCaptureSetSampleAttributes(const AudioHandle handle, const struct AudioSampleAttributes *attrs) -{ - if (handle == NULL || attrs == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture or hwCapture->proxyRemoteHandle is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessCapture Fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyWriteSampleAttributes(data, attrs) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_SET_SAMPLE_ATTR, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCaptureGetSampleAttributes(const AudioHandle handle, struct AudioSampleAttributes *attrs) -{ - if (attrs == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The Invalid is pointer"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_SAMPLE_ATTR, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetSampleAttributes FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (AudioProxyReadSapmleAttrbutes(reply, attrs) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureGetCurrentChannelId(const AudioHandle handle, uint32_t *channelId) -{ - if (channelId == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture parameter is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_CUR_CHANNEL_ID, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetFrameSize FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint32(reply, channelId)) { - AUDIO_FUNC_LOGE("Read reply FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureCheckSceneCapability(const AudioHandle handle, - const struct AudioSceneDescriptor *scene, bool *supported) -{ - if (scene == NULL || supported == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t tempPins; - uint32_t tempSupported = 0; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("pointer invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint32(data, scene->scene.id)) { - AUDIO_FUNC_LOGE("write scene.id failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - tempPins = scene->desc.pins; - if (!HdfSbufWriteUint32(data, tempPins)) { - AUDIO_FUNC_LOGE("write pins failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_CHECK_SCENE_CAPABILITY, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureCheckSceneCapability FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint32(reply, &tempSupported)) { - AUDIO_FUNC_LOGE("write reply failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *supported = (bool)tempSupported; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureSelectScene(const AudioHandle handle, const struct AudioSceneDescriptor *scene) -{ - if (scene == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint32(data, (enum AudioCategory)scene->scene.id)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempPins = scene->desc.pins; - if (!HdfSbufWriteUint32(data, tempPins)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_SELECT_SCENE, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCaptureSetMute(const AudioHandle handle, bool mute) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempMute = (uint32_t)mute; - if (!HdfSbufWriteUint32(data, tempMute)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_SET_MUTE, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCaptureGetMute(const AudioHandle handle, bool *mute) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (mute == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_GET_MUTE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetMute FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempMute = 0; - if (!HdfSbufReadUint32(reply, &tempMute)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *mute = (bool)tempMute; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureSetVolume(const AudioHandle handle, float volume) -{ - return AudioProxyCommonSetCaptureCtrlParam(AUDIO_HDI_CAPTURE_SET_VOLUME, handle, volume); -} - -int32_t AudioProxyCaptureGetVolume(const AudioHandle handle, float *volume) -{ - return AudioProxyCommonGetCaptureCtrlParam(AUDIO_HDI_CAPTURE_GET_VOLUME, handle, volume); -} - -int32_t AudioProxyCaptureGetGainThreshold(const AudioHandle handle, float *min, float *max) -{ - if (min == NULL || max == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture pointer is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_GAIN_THRESHOLD, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetGainThreshold FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t temp = 0; - if (!HdfSbufReadUint32(reply, &temp)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *min = temp; - if (!HdfSbufReadUint32(reply, &temp)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *max = temp; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureGetGain(const AudioHandle handle, float *gain) -{ - return AudioProxyCommonGetCaptureCtrlParam(AUDIO_HDI_CAPTURE_GET_GAIN, handle, gain); -} - -int32_t AudioProxyCaptureSetGain(const AudioHandle handle, float gain) -{ - return AudioProxyCommonSetCaptureCtrlParam(AUDIO_HDI_CAPTURE_SET_GAIN, handle, gain); -} - -static int32_t AudioProxyCaptureCaptureFrameSplit(struct AudioCapture *capture, - uint64_t requestBytes, struct HdfSBuf **data, struct HdfSBuf **reply) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL || data == NULL || reply == NULL) { - AUDIO_FUNC_LOGE("The pointer is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, data, reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint64(*data, requestBytes)) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_CAPTURE_FRAME, *data, *reply); - if (ret < 0) { - if (ret != AUDIO_HAL_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("AudioCaptureCaptureFrame FAIL"); - } - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureCaptureFrame(struct AudioCapture *capture, void *frame, - uint64_t requestBytes, uint64_t *replyBytes) -{ - const char *buffer = NULL; - uint32_t length = 0; - if (frame == NULL || replyBytes == NULL) { - AUDIO_FUNC_LOGE("capture Frame Paras is NULL!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - int32_t ret = AudioProxyCaptureCaptureFrameSplit(capture, requestBytes, &data, &reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadBuffer(reply, (const void **)&buffer, &length)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if ((uint64_t)length > requestBytes) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = memcpy_s(frame, (size_t)requestBytes, buffer, (size_t)length); - if (ret != EOK) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufReadUint64(reply, replyBytes)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureGetCapturePosition(struct AudioCapture *capture, - uint64_t *frames, struct AudioTimeStamp *time) -{ - if (frames == NULL || time == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_CAPTURE_POSITION, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureGetCapturePosition FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (AudioProxyGetMmapPositionRead(reply, frames, time) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} -int32_t AudioProxyCaptureSetExtraParams(const AudioHandle handle, const char *keyValueList) -{ - if (handle == NULL || keyValueList == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture or hwCapture->proxyRemoteHandle is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteString(data, keyValueList)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_SET_EXTRA_PARAMS, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyCaptureGetExtraParams(const AudioHandle handle, char *keyValueList, int32_t listLenth) -{ - if (handle == NULL || keyValueList == NULL || listLenth <= 0) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureGetExtraParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteInt32(data, listLenth)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_EXTRA_PARAMS, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureGetExtraParams FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - const char *strKeyValueList = NULL; - if ((strKeyValueList = HdfSbufReadString(reply)) == NULL) { - AUDIO_FUNC_LOGE("keyValueList Is NULL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = strncpy_s(keyValueList, listLenth, strKeyValueList, strlen(strKeyValueList)); - if (ret != 0) { - AUDIO_FUNC_LOGE("strncpy_s failed!"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyCaptureReqMmapBuffer(const AudioHandle handle, - int32_t reqSize, struct AudioMmapBufferDescriptor *desc) -{ - if (handle == NULL || desc == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureReqMmapBuffer FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyReqMmapBufferWrite(data, reqSize, desc) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_REQ_MMAP_BUFFER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureReqMmapBuffer FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - desc->memoryFd = HdfSbufReadFileDescriptor(reply); - if (desc->memoryFd < 0) { - AUDIO_FUNC_LOGE("memoryFd read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->totalBufferFrames))) { - AUDIO_FUNC_LOGE("totalBufferFrames read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->transferFrameSize))) { - AUDIO_FUNC_LOGE("transferFrameSize read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->isShareable))) { - AUDIO_FUNC_LOGE("isShareable read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadUint32(reply, &(desc->offset))) { - AUDIO_FUNC_LOGE("offset read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureGetMmapPosition(const AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time) -{ - if (handle == NULL || frames == NULL || time == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureGetMmapPosition FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_GET_MMAP_POSITION, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("AudioProxyCaptureGetMmapPosition FAIL"); - return ret; - } - if (AudioProxyGetMmapPositionRead(reply, frames, time) < 0) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("AudioProxyGetMmapPositionRead FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureAddEffect(AudioHandle handle, uint64_t effectid) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = NULL; - if (handle == NULL) { - AUDIO_FUNC_LOGE("The handle is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessCapture failed."); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint64(data, effectid)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_ADD_EFFECT, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Dispatch AudioProxyCaptureAddEffect FAIL ret = %{public}d", ret); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureRemoveEffect(AudioHandle handle, uint64_t effectid) -{ - if (handle == NULL) { - AUDIO_FUNC_LOGE("The capture handle is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *reply = NULL; - struct HdfSBuf *data = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint64(data, effectid)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_REMOVE_EFFECT, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Dispatch AudioProxyCaptureRemoveEffect FAIL ret = %{public}d", ret); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCaptureTurnStandbyMode(const AudioHandle handle) -{ - if (handle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureTurnStandbyMode FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, - AUDIO_HDI_CAPTURE_TURN_STAND_BY_MODE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureTurnStandbyMode FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyCaptureAudioDevDump(const AudioHandle handle, int32_t range, int32_t fd) -{ - if (handle == NULL) { - AUDIO_FUNC_LOGE("handle is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - if (AudioProxyPreprocessCapture((AudioHandle)hwCapture, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureAudioDevDump FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteInt32(data, range)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteFileDescriptor(data, fd)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, AUDIO_HDI_CAPTURE_DEV_DUMP, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyCaptureAudioDevDump FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - diff --git a/audio/hal/hdi_binder/proxy/src/audio_proxy_common.c b/audio/hal/hdi_binder/proxy/src/audio_proxy_common.c deleted file mode 100644 index 5eccf8dbace858ae610eca5864ca20ca1a5f3226..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/src/audio_proxy_common.c +++ /dev/null @@ -1,835 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_internal.h" -#include "audio_proxy_common.h" -#include "audio_uhdf_log.h" -#include "osal_mem.h" -#include "servmgr_hdi.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_PROXY - -#define AUDIO_HDF_SBUF_IPC 1 -#define PROXY_VOLUME_CHANGE 100 - -#define SUPPORT_PORT_NUM_MAX 10 - -struct HdfSBuf *AudioProxyObtainHdfSBuf(void) -{ - enum HdfSbufType bufType; -#ifdef AUDIO_HDF_SBUF_IPC - bufType = SBUF_IPC; -#else - bufType = SBUF_RAW; -#endif - return HdfSbufTypedObtain(bufType); -} - -int32_t AudioProxyDispatchCall(struct HdfRemoteService *self, - int32_t id, struct HdfSBuf *data, struct HdfSBuf *reply) -{ - if (data == NULL || reply == NULL || self == NULL) { - AUDIO_FUNC_LOGE("AudioProxyDispatchCall parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (self->dispatcher == NULL || self->dispatcher->Dispatch == NULL) { - AUDIO_FUNC_LOGE("AudioProxyDispatchCall Remote obj is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return self->dispatcher->Dispatch(self, id, data, reply); -} - -int32_t AudioProxyAdapterGetRemoteHandle(struct AudioProxyManager *proxyManager, struct AudioHwAdapter *hwAdapter, - const char *adapterName) -{ - if (proxyManager == NULL || hwAdapter == NULL || adapterName == NULL) { - AUDIO_FUNC_LOGE("AudioProxyAdapterGetRemoteHandle parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (strncmp(adapterName, PRIMARY, strlen(PRIMARY)) == 0 || strncmp(adapterName, HDMI, strlen(HDMI)) == 0) { - hwAdapter->proxyRemoteHandle = proxyManager->remote; - } else if (strncmp(adapterName, USB, strlen(USB)) == 0) { - hwAdapter->proxyRemoteHandle = proxyManager->usbRemote; - } else if (strncmp(adapterName, A2DP, strlen(A2DP)) == 0) { - hwAdapter->proxyRemoteHandle = proxyManager->a2dpRemote; - } else { - AUDIO_FUNC_LOGE("An unsupported Adapter."); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - return HDF_SUCCESS; -} - -void AudioProxyBufReplyRecycle(struct HdfSBuf *data, struct HdfSBuf *reply) -{ - if (data != NULL) { - HdfSbufRecycle(data); - } - if (reply != NULL) { - HdfSbufRecycle(reply); - } - return; -} - -int32_t AudioProxyPreprocessSBuf(struct HdfSBuf **data, struct HdfSBuf **reply) -{ - if (data == NULL || reply == NULL) { - return HDF_FAILURE; - } - *data = AudioProxyObtainHdfSBuf(); - if (*data == NULL) { - AUDIO_FUNC_LOGE("Failed to obtain data"); - return HDF_FAILURE; - } - *reply = AudioProxyObtainHdfSBuf(); - if (*reply == NULL) { - AUDIO_FUNC_LOGE("Failed to obtain reply"); - HdfSbufRecycle(*data); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyPreprocessRender(struct AudioHwRender *render, struct HdfSBuf **data, struct HdfSBuf **reply) -{ - struct AudioHwRender *hwRender = render; - if (hwRender == NULL || data == NULL || reply == NULL) { - return HDF_FAILURE; - } - uint32_t renderPid = (uint32_t)getpid(); - const char *adapterName = hwRender->renderParam.renderMode.hwInfo.adapterName; - if (adapterName == NULL) { - AUDIO_FUNC_LOGE("adapterName is NULL"); - return HDF_FAILURE; - } - if (AudioProxyPreprocessSBuf(data, reply) < 0) { - return HDF_FAILURE; - } - if (!HdfRemoteServiceWriteInterfaceToken(render->proxyRemoteHandle, *data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteString(*data, adapterName)) { - AUDIO_FUNC_LOGE("write adapterName failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(*data, renderPid)) { - AUDIO_FUNC_LOGE("write renderPid failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyPreprocessCapture(struct AudioHwCapture *capture, struct HdfSBuf **data, struct HdfSBuf **reply) -{ - struct AudioHwCapture *hwCapture = capture; - if (hwCapture == NULL || data == NULL || reply == NULL) { - return HDF_FAILURE; - } - uint32_t capturePid = (uint32_t)getpid(); - const char *adapterName = hwCapture->captureParam.captureMode.hwInfo.adapterName; - if (adapterName == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return HDF_FAILURE; - } - if (AudioProxyPreprocessSBuf(data, reply) < 0) { - return HDF_FAILURE; - } - if (!HdfRemoteServiceWriteInterfaceToken(capture->proxyRemoteHandle, *data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteString(*data, adapterName)) { - AUDIO_FUNC_LOGE("write adapterName failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(*data, capturePid)) { - AUDIO_FUNC_LOGE("write capturePid failed"); - AudioProxyBufReplyRecycle(*data, *reply); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyWriteSampleAttributes(struct HdfSBuf *data, const struct AudioSampleAttributes *attrs) -{ - if (data == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("data or attrs is null!"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, (uint32_t)attrs->type)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, (uint32_t)attrs->interleaved)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, (uint32_t)attrs->format)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->sampleRate)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->channelCount)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->period)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->frameSize)) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, (uint32_t)(attrs->isBigEndian))) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, (uint32_t)(attrs->isSignedData))) { - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->startThreshold)) { - AUDIO_FUNC_LOGE("write startThreshold failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->stopThreshold)) { - AUDIO_FUNC_LOGE("write stopThreshold failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, attrs->silenceThreshold)) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyReadSapmleAttrbutes(struct HdfSBuf *reply, struct AudioSampleAttributes *attrs) -{ - if (reply == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("reply or attrs is null!"); - return HDF_FAILURE; - } - uint32_t tempType = 0; - if (!HdfSbufReadUint32(reply, &tempType)) { - return HDF_FAILURE; - } - attrs->type = (enum AudioCategory)tempType; - uint32_t tempInterleaved = 0; - if (!HdfSbufReadUint32(reply, &tempInterleaved)) { - return HDF_FAILURE; - } - attrs->interleaved = (bool)tempInterleaved; - uint32_t tempFormat = 0; - if (!HdfSbufReadUint32(reply, &tempFormat)) { - return HDF_FAILURE; - } - attrs->format = (enum AudioFormat)tempFormat; - if (!HdfSbufReadUint32(reply, &attrs->sampleRate)) { - return HDF_FAILURE; - } - if (!HdfSbufReadUint32(reply, &attrs->channelCount)) { - return HDF_FAILURE; - } - if (!HdfSbufReadUint32(reply, &attrs->period)) { - return HDF_FAILURE; - } - if (!HdfSbufReadUint32(reply, &attrs->frameSize)) { - return HDF_FAILURE; - } - if (!HdfSbufReadUint32(reply, &tempInterleaved)) { - return HDF_FAILURE; - } - attrs->isBigEndian = (bool)tempInterleaved; - if (!HdfSbufReadUint32(reply, &tempInterleaved)) { - return HDF_FAILURE; - } - attrs->isSignedData = (bool)tempInterleaved; - if (!HdfSbufReadUint32(reply, &attrs->startThreshold) || - !HdfSbufReadUint32(reply, &attrs->stopThreshold) || - !HdfSbufReadUint32(reply, &attrs->silenceThreshold)) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyCommonSetRenderCtrlParam(int cmId, AudioHandle handle, float param) -{ - AUDIO_FUNC_LOGI(); - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (param < 0) { - AUDIO_FUNC_LOGE("Set param is invalid, Please check param!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (cmId == AUDIO_HDI_RENDER_SET_VOLUME) { - if (param > 1.0) { - AUDIO_FUNC_LOGE("volume param Is error!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - param = param * PROXY_VOLUME_CHANGE; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempParam = (uint32_t)param; - if (!HdfSbufWriteUint32(data, tempParam)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, cmId, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCommonGetRenderCtrlParam(int cmId, AudioHandle handle, float *param) -{ - AUDIO_FUNC_LOGI(); - if (param == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, cmId, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempParam = 0; - if (!HdfSbufReadUint32(reply, &tempParam)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (cmId == AUDIO_HDI_RENDER_GET_VOLUME) { - *param = (float)tempParam / PROXY_VOLUME_CHANGE; - } else { - *param = (float)tempParam; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyCommonSetCaptureCtrlParam(int cmId, AudioHandle handle, float param) -{ - AUDIO_FUNC_LOGI(); - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (param < 0) { - AUDIO_FUNC_LOGE("Set param is invalid, Please check param!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (cmId == AUDIO_HDI_CAPTURE_SET_VOLUME) { - if (param > 1.0) { - AUDIO_FUNC_LOGE("volume param Is error!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - param = param * PROXY_VOLUME_CHANGE; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempParam = (uint32_t)param; - if (!HdfSbufWriteUint32(data, tempParam)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, cmId, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyCommonGetCaptureCtrlParam(int cmId, AudioHandle handle, float *param) -{ - AUDIO_FUNC_LOGI(); - if (param == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || hwCapture->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwCapture parameter is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessCapture(hwCapture, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioProxyDispatchCall(hwCapture->proxyRemoteHandle, cmId, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempParam = 0; - if (!HdfSbufReadUint32(reply, &tempParam)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (cmId == AUDIO_HDI_CAPTURE_GET_VOLUME) { - *param = (float)tempParam / PROXY_VOLUME_CHANGE; - } else { - *param = (float)tempParam; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyGetMmapPositionRead(struct HdfSBuf *reply, uint64_t *frames, struct AudioTimeStamp *time) -{ - if (reply == NULL || frames == NULL || time == NULL) { - return HDF_FAILURE; - } - if (!HdfSbufReadUint64(reply, frames)) { - return HDF_FAILURE; - } - if (!HdfSbufReadInt64(reply, &time->tvSec)) { - return HDF_FAILURE; - } - if (!HdfSbufReadInt64(reply, &time->tvNSec)) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioProxyReqMmapBufferWrite(struct HdfSBuf *data, int32_t reqSize, - const struct AudioMmapBufferDescriptor *desc) -{ - if (data == NULL || desc == NULL) { - return HDF_FAILURE; - } - if (!HdfSbufWriteInt32(data, reqSize)) { - AUDIO_FUNC_LOGE("write reqSize failed"); - return HDF_FAILURE; - } - uint64_t memAddr = (uint64_t)(uintptr_t)desc->memoryAddress; - if (!HdfSbufWriteUint64(data, memAddr)) { - AUDIO_FUNC_LOGE("write memoryAddress failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteFileDescriptor(data, desc->memoryFd)) { - AUDIO_FUNC_LOGE("write memoryFd failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteInt32(data, desc->totalBufferFrames)) { - AUDIO_FUNC_LOGE("write totalBufferFrames failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteInt32(data, desc->transferFrameSize)) { - AUDIO_FUNC_LOGE("write transferFrameSize failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteInt32(data, desc->isShareable)) { - AUDIO_FUNC_LOGE("write isShareable failed"); - return HDF_FAILURE; - } - if (!HdfSbufWriteUint32(data, desc->offset)) { - AUDIO_FUNC_LOGE("write offset failed"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static bool AudioDevExtInfoBlockMarshalling(struct HdfSBuf *data, const struct AudioDevExtInfo *dataBlock) -{ - if (dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - - if (!HdfSbufWriteInt32(data, dataBlock->moduleId)) { - HDF_LOGE("%{public}s: write dataBlock->moduleId failed!", __func__); - return false; - } - - if (!HdfSbufWriteInt32(data, (int32_t)dataBlock->type)) { - HDF_LOGE("%{public}s: write dataBlock->type failed!", __func__); - return false; - } - - if (!HdfSbufWriteString(data, dataBlock->desc)) { - HDF_LOGE("%{public}s: write dataBlock->desc failed!", __func__); - return false; - } - - return true; -} - -static bool AudioMixExtInfoBlockMarshalling(struct HdfSBuf *data, const struct AudioMixExtInfo *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - - if (!HdfSbufWriteUnpadBuffer(data, (const uint8_t *)dataBlock, sizeof(struct AudioMixExtInfo))) { - HDF_LOGE("%{public}s: failed to write buffer data", __func__); - return false; - } - return true; -} - -static bool AudioSessionExtInfoBlockMarshalling(struct HdfSBuf *data, const struct AudioSessionExtInfo *dataBlock) -{ - if (dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - - if (!HdfSbufWriteUnpadBuffer(data, (const uint8_t *)dataBlock, sizeof(struct AudioSessionExtInfo))) { - HDF_LOGE("%{public}s: failed to write buffer data", __func__); - return false; - } - return true; -} - -static inline bool AudioInfoBlockMarshalling(enum AudioPortType type, struct HdfSBuf *data, RouteExtInfo *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - bool ret = true; - switch (type) { - case AUDIO_PORT_DEVICE_TYPE: - if (!AudioDevExtInfoBlockMarshalling(data, &dataBlock->device)) { - HDF_LOGE("%{public}s: write dataBlock->device failed!", __func__); - ret = false; - } - break; - case AUDIO_PORT_MIX_TYPE: - if (!AudioMixExtInfoBlockMarshalling(data, &dataBlock->mix)) { - HDF_LOGE("%{public}s: write dataBlock->mix failed!", __func__); - ret = false; - } - break; - case AUDIO_PORT_SESSION_TYPE: - if (!AudioSessionExtInfoBlockMarshalling(data, &dataBlock->session)) { - HDF_LOGE("%{public}s: write dataBlock->session failed!", __func__); - ret = false; - } - break; - case AUDIO_PORT_UNASSIGNED_TYPE: - default: - ret = false; - break; - } - - return ret; -} - -static bool AudioRouteNodeBlockMarshalling(struct HdfSBuf *data, const struct AudioRouteNode *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - - if (!HdfSbufWriteInt32(data, dataBlock->portId)) { - HDF_LOGE("%{public}s: write dataBlock->portId failed!", __func__); - return false; - } - - if (!HdfSbufWriteInt32(data, (int32_t)dataBlock->role)) { - HDF_LOGE("%{public}s: write dataBlock->role failed!", __func__); - return false; - } - - if (!HdfSbufWriteInt32(data, (int32_t)dataBlock->type)) { - HDF_LOGE("%{public}s: write dataBlock->type failed!", __func__); - return false; - } - - if (!AudioInfoBlockMarshalling(dataBlock->type, data, (RouteExtInfo*)&dataBlock->ext)) { - HDF_LOGE("%{public}s: write dataBlock->ext failed!", __func__); - return false; - } - - return true; -} - -bool HdiAudioRouteBlockMarshalling(struct HdfSBuf *data, const struct AudioRoute *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or data block", __func__); - return false; - } - - if (!HdfSbufWriteUint32(data, dataBlock->sourcesNum)) { - HDF_LOGE("%{public}s: write dataBlock->sourcesLen failed!", __func__); - return false; - } - for (uint32_t i = 0; i < dataBlock->sourcesNum; i++) { - if (!AudioRouteNodeBlockMarshalling(data, &(dataBlock->sources)[i])) { - HDF_LOGE("%{public}s: write (dataBlock->sources)[i] failed!", __func__); - return false; - } - } - - if (!HdfSbufWriteUint32(data, dataBlock->sinksNum)) { - HDF_LOGE("%{public}s: write dataBlock->sinksLen failed!", __func__); - return false; - } - for (uint32_t i = 0; i < dataBlock->sinksNum; i++) { - if (!AudioRouteNodeBlockMarshalling(data, &(dataBlock->sinks)[i])) { - HDF_LOGE("%{public}s: write (dataBlock->sinks)[i] failed!", __func__); - return false; - } - } - return true; -} - -static void AudioPortFree(struct AudioPort *dataBlock, uint32_t portNum) -{ - if (dataBlock == NULL) { - return; - } - - for (uint32_t i = 0; i < portNum; i++) { - if (dataBlock[i].portName != NULL) { - OsalMemFree((void *)dataBlock[i].portName); - dataBlock[i].portName = NULL; - } - } - - OsalMemFree((void *)dataBlock); -} - -static bool AudioPortBlockUnmarshalling(struct HdfSBuf *data, struct AudioPort *dataBlock) -{ - if (data == NULL) { - HDF_LOGE("%{public}s: invalid sbuf", __func__); - return false; - } - - if (dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid data block", __func__); - return false; - } - - if (!HdfSbufReadInt32(data, (int32_t*)&dataBlock->dir)) { - HDF_LOGE("%{public}s: read dataBlock->dir failed!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->portId)) { - HDF_LOGE("%{public}s: read dataBlock->portId failed!", __func__); - return false; - } - - dataBlock->portName = strdup(HdfSbufReadString(data)); - if (dataBlock->portName == NULL) { - HDF_LOGE("%{public}s: read portName failed!", __func__); - return false; - } - - return true; -} - -bool HdiAudioAdapterDescriptorBlockUnmarshalling(struct HdfSBuf *data, struct AudioAdapterDescriptor *dataBlock) -{ - if (data == NULL) { - HDF_LOGE("%{public}s: invalid sbuf", __func__); - return false; - } - - if (dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid data block", __func__); - return false; - } - - dataBlock->adapterName = strdup(HdfSbufReadString(data)); - if (dataBlock->adapterName == NULL) { - HDF_LOGE("%{public}s: read adapterName failed!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->portNum)) { - HDF_LOGE("%{public}s: read portsCpLen failed!", __func__); - return false; - } - - if (dataBlock->portNum == 0 || dataBlock->portNum > SUPPORT_PORT_NUM_MAX) { - HDF_LOGE("%{public}s: error portNum is %{public}u", __func__, dataBlock->portNum); - return false; - } - dataBlock->ports = (struct AudioPort*)OsalMemCalloc(sizeof(struct AudioPort) * dataBlock->portNum); - if (dataBlock->ports == NULL) { - goto ERRORS; - } - for (uint32_t i = 0; i < dataBlock->portNum; i++) { - if (!AudioPortBlockUnmarshalling(data, &(dataBlock->ports[i]))) { - HDF_LOGE("%{public}s: read &portsCp[i] failed!", __func__); - goto ERRORS; - } - } - return true; -ERRORS: - if (dataBlock->adapterName != NULL) { - OsalMemFree((void *)dataBlock->adapterName); - dataBlock->adapterName = NULL; - } - - AudioPortFree(dataBlock->ports, dataBlock->portNum); - dataBlock->ports = NULL; - return false; -} - -void AudioAdapterDescriptorFreeArray(struct AudioAdapterDescriptor **descs, uint32_t *size) -{ - if (descs == NULL || *descs == NULL || *size == 0) { - return; - } - - struct AudioAdapterDescriptor *dataBlock = *descs; - - for (uint32_t i = 0; i < *size; i++) { - if (dataBlock[i].adapterName != NULL) { - OsalMemFree((void *)dataBlock[i].adapterName); - dataBlock[i].adapterName = NULL; - } - - AudioPortFree(dataBlock[i].ports, dataBlock[i].portNum); - dataBlock[i].ports = NULL; - } - - OsalMemFree((void *)dataBlock); - dataBlock = NULL; - *size = 0; -} - -static bool AudioSubPortCapabilityBlockUnmarshalling(struct HdfSBuf *data, struct AudioPortCapability *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: data or dataBlock is NULL!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->subPortsNum)) { - HDF_LOGE("%{public}s: read subPortsNum failed!", __func__); - return false; - } - - if (dataBlock->subPortsNum <= 0) { - HDF_LOGE("%{public}s: error subPortsNum is %{public}d", __func__, dataBlock->subPortsNum); - return false; - } - - dataBlock->subPorts = (struct AudioSubPortCapability*)OsalMemCalloc( - sizeof(struct AudioSubPortCapability) * dataBlock->subPortsNum); - if (dataBlock->subPorts == NULL) { - HDF_LOGE("%{public}s: dataBlock->subPorts malloc failed!", __func__); - return false; - } - - struct AudioSubPortCapability *subPorts = dataBlock->subPorts; - for (uint32_t i = 0; i < dataBlock->subPortsNum; i++) { - if (!HdfSbufReadUint32(data, &subPorts[i].portId)) { - HDF_LOGE("%{public}s: read dataBlock[%{public}u]->portId failed!", __func__, i); - return false; - } - - subPorts[i].desc = HdfSbufReadString(data); - if (subPorts[i].desc == NULL) { - HDF_LOGE("%{public}s: subPorts[%{public}u].desc is NULL!", __func__, i); - return false; - } - - if (!HdfSbufReadInt32(data, (int32_t*)&subPorts[i].mask)) { - HDF_LOGE("%{public}s: read dataBlock[%{public}u]->mask failed!", __func__, i); - return false; - } - } - - return true; -} - -bool HdiAudioPortCapabilityBlockUnmarshalling(struct HdfSBuf *data, struct AudioPortCapability *dataBlock) -{ - if (data == NULL || dataBlock == NULL) { - HDF_LOGE("%{public}s: invalid sbuf or dataBlock", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->deviceType)) { - HDF_LOGE("%{public}s: read dataBlock->deviceType failed!", __func__); - return false; - } - if (!HdfSbufReadUint32(data, &dataBlock->deviceId)) { - HDF_LOGE("%{public}s: read dataBlock->deviceId failed!", __func__); - return false; - } - if (!HdfSbufReadInt8(data, (int8_t *)&dataBlock->hardwareMode)) { - HDF_LOGE("%{public}s: read dataBlock->hardwareMode failed!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->formatNum)) { - HDF_LOGE("%{public}s: read dataBlock->formatNum failed!", __func__); - return false; - } - - if (dataBlock->formats == NULL) { - dataBlock->formats = (enum AudioFormat *)OsalMemCalloc(sizeof(enum AudioFormat)); - } - - if (dataBlock->formats == NULL) { - HDF_LOGE("%{public}s: dataBlock->formats is null!", __func__); - } - if (!HdfSbufReadInt32(data, (int32_t*)dataBlock->formats)) { - HDF_LOGE("%{public}s: read dataBlock->channelCount failed!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->sampleRateMasks)) { - HDF_LOGE("%{public}s: read dataBlock->sampleRateMasks failed!", __func__); - return false; - } - - if (!HdfSbufReadInt32(data, (int32_t*)&dataBlock->channelMasks)) { - HDF_LOGE("%{public}s: read dataBlock->channelMasks failed!", __func__); - return false; - } - - if (!HdfSbufReadUint32(data, &dataBlock->channelCount)) { - HDF_LOGE("%{public}s: read dataBlock->channelCount failed!", __func__); - return false; - } - - if (!AudioSubPortCapabilityBlockUnmarshalling(data, dataBlock)) { - HDF_LOGE("%{public}s: read &subPortsCp[i] failed!", __func__); - goto ERRORS; - } - - return true; -ERRORS: - OsalMemFree(dataBlock->subPorts); - dataBlock->subPorts = NULL; - return false; -} diff --git a/audio/hal/hdi_binder/proxy/src/audio_proxy_manager.c b/audio/hal/hdi_binder/proxy/src/audio_proxy_manager.c deleted file mode 100644 index 56731692cf02715bfb164a333682551ec1d34447..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/src/audio_proxy_manager.c +++ /dev/null @@ -1,449 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_internal.h" -#include "audio_proxy_common.h" -#include "audio_proxy_internal.h" -#include "audio_proxy_manager.h" -#include "audio_uhdf_log.h" -#include "hdf_dlist.h" -#include "osal_mem.h" -#include "servmgr_hdi.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_PROXY - -#define HDI_SERVER_PRIMARY_NAME "audio_hdi_service" -#define HDI_SERVER_USB_NAME "audio_hdi_usb_service" -#define HDI_SERVER_A2DP_NAME "audio_hdi_a2dp_service" - -#define CONFIG_FRAME_SIZE (1024 * 2 * 1) -#define FRAME_SIZE 1024 -#define CONFIG_FRAME_COUNT ((8000 * 2 * 1 + (CONFIG_FRAME_SIZE - 1)) / CONFIG_FRAME_SIZE) -#define AUDIO_MAGIC (0xAAAAAAAA) - -#define MAX_AUDIO_ADAPTER_NUM_SERVER 8 - -static bool audioProxyAdapterAddrMgrFlag = false; -static struct AudioAdapterDescriptor *g_localAudioProxyAdapterAddrOut = NULL; // add for Fuzz -int g_localAudioProxyAdapterNum = 1; // add for Fuzz -static struct AudioProxyManager g_localAudioProxyMgr = {0}; // serverManager - -static int32_t AudioProxySendGetAllAdapter(struct HdfRemoteService *remoteHandle, - struct AudioAdapterDescriptor **descs, uint32_t *size) -{ - if (remoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfRemoteServiceWriteInterfaceToken(remoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - int32_t ret = AudioProxyDispatchCall(remoteHandle, AUDIO_HDI_MGR_GET_ALL_ADAPTER, data, reply); - if (ret != AUDIO_HAL_SUCCESS) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("AudioProxyDispatchCallsend service fail!"); - return ret; - } - - if (!HdfSbufReadUint32(reply, size)) { - AUDIO_FUNC_LOGE("read descs size failed!"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (*size == 0 || *size > MAX_AUDIO_ADAPTER_NUM_SERVER) { - AUDIO_FUNC_LOGE("error desc size is %{public}u!", *size); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - *descs = (struct AudioAdapterDescriptor*)OsalMemCalloc(sizeof(struct AudioAdapterDescriptor) * (*size)); - if (*descs == NULL) { - AUDIO_FUNC_LOGE("read descs size failed!"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - for (uint32_t i = 0; i < *size; i++) { - if (!HdiAudioAdapterDescriptorBlockUnmarshalling(reply, &(*descs)[i])) { - AudioAdapterDescriptorFreeArray(descs, size); - AudioProxyBufReplyRecycle(data, reply); - HDF_LOGE("read descs[%{public}d] failed!", i); - return AUDIO_HAL_ERR_INTERNAL; - } - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -static int32_t AudioProxyA2dpOrUsbGetAllAdapter(struct HdfRemoteService *remoteHandle) -{ - if (remoteHandle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - - if (AudioProxyPreprocessSBuf(&data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfRemoteServiceWriteInterfaceToken(remoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - - int32_t ret = AudioProxyDispatchCall(remoteHandle, AUDIO_HDI_MGR_GET_ALL_ADAPTER, data, reply); - if (ret != AUDIO_HAL_SUCCESS) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("AudioProxyDispatchCallsend service fail!"); - return ret; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyManagerGetAllAdapters(struct AudioManager *manager, - struct AudioAdapterDescriptor **descs, int *size) -{ - AUDIO_FUNC_LOGI(); - if (manager == NULL || descs == NULL || size == NULL) { - AUDIO_FUNC_LOGE("param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - if ((&g_localAudioProxyMgr) != proxyManager || proxyManager == NULL || (proxyManager->remote == NULL && - proxyManager->usbRemote == NULL && proxyManager->a2dpRemote == NULL) || - proxyManager->audioMagic != AUDIO_MAGIC) { - AUDIO_FUNC_LOGE("Param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - int32_t primaryGetAllAdapterRet = AudioProxySendGetAllAdapter(proxyManager->remote, descs, (uint32_t *)size); - int32_t usbGetAllAdapterRet = AudioProxyA2dpOrUsbGetAllAdapter(proxyManager->usbRemote); - int32_t a2dpGetAllAdapterRet = AudioProxyA2dpOrUsbGetAllAdapter(proxyManager->a2dpRemote); - if (primaryGetAllAdapterRet != AUDIO_HAL_SUCCESS && usbGetAllAdapterRet != AUDIO_HAL_SUCCESS && - a2dpGetAllAdapterRet != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("Failed to send service call!"); - return AUDIO_HAL_ERR_INTERNAL; - } - - /* add for Fuzz. */ - if (*descs && size && (*size) > 0) { - g_localAudioProxyAdapterAddrOut = *descs; - g_localAudioProxyAdapterNum = *size; - } else { - AUDIO_FUNC_LOGE("Get AudioAdapterDescriptor Failed"); - AudioAdapterDescriptorFreeArray(descs, (uint32_t *)size); - return AUDIO_HAL_ERR_INVALID_OBJECT; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t LoadAdapterPrepareParameters(struct HdfRemoteService * remoteObj, - const struct AudioAdapterDescriptor *desc, struct HdfSBuf **data, struct HdfSBuf **reply) -{ - if (remoteObj == NULL || desc == NULL || desc->adapterName == NULL || desc->ports == NULL || data == NULL || - reply == NULL) { - AUDIO_FUNC_LOGE("param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - bool descFlag = false; - if (g_localAudioProxyAdapterNum <= 0 || g_localAudioProxyAdapterNum > SUPPORT_ADAPTER_NUM_MAX) { - AUDIO_FUNC_LOGE("g_localAudioProxyAdapterNum is invalid!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (g_localAudioProxyAdapterAddrOut != NULL) { // add for Fuzz - for (int index = 0; index < g_localAudioProxyAdapterNum; index++) { - if (&g_localAudioProxyAdapterAddrOut[index] == desc) { - descFlag = true; - break; - } - } - if (!descFlag) { - AUDIO_FUNC_LOGE("The proxy desc address passed in is invalid"); - return AUDIO_HAL_ERR_INVALID_OBJECT; - } - } - AUDIO_FUNC_LOGI("adapter name %{public}s", desc->adapterName); - if (AudioProxyPreprocessSBuf(data, reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessSBuf failed!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfRemoteServiceWriteInterfaceToken(remoteObj, *data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - // adapterName - if (!HdfSbufWriteString(*data, desc->adapterName)) { - AUDIO_FUNC_LOGE("HdfSbufWriteString adapterName failed!"); - return AUDIO_HAL_ERR_INTERNAL; - } - // dir - uint32_t tempDir = (uint32_t)desc->ports->dir; - if (!HdfSbufWriteUint32(*data, tempDir)) { - AUDIO_FUNC_LOGE("HdfSbufWriteString tempDir failed!"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t GetAudioProxyAdapterFunc(struct AudioHwAdapter *hwAdapter) -{ - if (hwAdapter == NULL) { - return HDF_FAILURE; - } - hwAdapter->common.InitAllPorts = AudioProxyAdapterInitAllPorts; - hwAdapter->common.CreateRender = AudioProxyAdapterCreateRender; - hwAdapter->common.DestroyRender = AudioProxyAdapterDestroyRender; - hwAdapter->common.CreateCapture = AudioProxyAdapterCreateCapture; - hwAdapter->common.DestroyCapture = AudioProxyAdapterDestroyCapture; - hwAdapter->common.GetPortCapability = AudioProxyAdapterGetPortCapability; - hwAdapter->common.SetPassthroughMode = AudioProxyAdapterSetPassthroughMode; - hwAdapter->common.GetPassthroughMode = AudioProxyAdapterGetPassthroughMode; - hwAdapter->common.SetMicMute = AudioProxyAdapterSetMicMute; - hwAdapter->common.GetMicMute = AudioProxyAdapterGetMicMute; - hwAdapter->common.SetVoiceVolume = AudioProxyAdapterSetVoiceVolume; - hwAdapter->common.SetExtraParams = AudioProxyAdapterSetExtraParams; - hwAdapter->common.GetExtraParams = AudioProxyAdapterGetExtraParams; - hwAdapter->common.UpdateAudioRoute = AudioProxyAdapterUpdateAudioRoute; - hwAdapter->common.ReleaseAudioRoute = AudioProxyAdapterReleaseAudioRoute; - return HDF_SUCCESS; -} - -static int32_t AudioProxyManagerLoadAdapterDispatch(struct AudioHwAdapter *hwAdapter, - struct AudioProxyManager *proxyManager, const struct AudioAdapterDescriptor *desc, - struct HdfSBuf *data, struct HdfSBuf *reply) -{ - int32_t ret = AUDIO_HAL_SUCCESS; - if (hwAdapter == NULL || proxyManager == NULL || desc == NULL || data == NULL || reply == NULL) { - AUDIO_FUNC_LOGE("param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_MGR_LOAD_ADAPTER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Failed to send service call!!"); - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyManagerLoadAdapter(struct AudioManager *manager, const struct AudioAdapterDescriptor *desc, - struct AudioAdapter **adapter) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (manager == NULL || desc == NULL || adapter == NULL) { - AUDIO_FUNC_LOGE("param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - if ((&g_localAudioProxyMgr) != proxyManager || proxyManager == NULL || proxyManager->remote == NULL || - proxyManager->audioMagic != AUDIO_MAGIC) { - AUDIO_FUNC_LOGE("proxyManager is invalid!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)OsalMemCalloc(sizeof(struct AudioHwAdapter)); - if (hwAdapter == NULL) { - AUDIO_FUNC_LOGE("alloc hwAdapter failed!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - int32_t ret = AudioProxyAdapterGetRemoteHandle(proxyManager, hwAdapter, desc->adapterName); - if (ret < 0) { - OsalMemFree((void *)hwAdapter); - return ret; - } - ret = LoadAdapterPrepareParameters(hwAdapter->proxyRemoteHandle, desc, &data, &reply); - if (ret != AUDIO_HAL_SUCCESS) { - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwAdapter); - return ret; - } - if (GetAudioProxyAdapterFunc(hwAdapter) < 0) { - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwAdapter); - return AUDIO_HAL_ERR_INTERNAL; - } - hwAdapter->adapterDescriptor = *desc; - ret = AudioProxyManagerLoadAdapterDispatch(hwAdapter, proxyManager, desc, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - OsalMemFree((void *)hwAdapter); - return ret; - } - *adapter = &hwAdapter->common; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -void AudioProxyManagerUnloadAdapter(struct AudioManager *manager, struct AudioAdapter *adapter) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - - if (manager == NULL || adapter == NULL) { - return; - } - int32_t ret = AUDIO_HAL_SUCCESS; - - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if ((&g_localAudioProxyMgr) != proxyManager || proxyManager == NULL || - proxyManager->audioMagic != AUDIO_MAGIC || proxyManager->remote == NULL) { - return; - } - if (hwAdapter->portCapabilitys != NULL) { - OsalMemFree((void *)hwAdapter->portCapabilitys->capability.formats); - OsalMemFree((void *)hwAdapter->portCapabilitys->capability.subPorts); - OsalMemFree((void *)hwAdapter->portCapabilitys); - } - if (AudioProxyPreprocessSBuf(&data, &reply) == AUDIO_HAL_SUCCESS) { - if (!HdfRemoteServiceWriteInterfaceToken(hwAdapter->proxyRemoteHandle, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(data, reply); - return; - } - if (HdfSbufWriteString(data, hwAdapter->adapterDescriptor.adapterName)) { - ret = AudioProxyDispatchCall(hwAdapter->proxyRemoteHandle, AUDIO_HDI_MGR_UNLOAD_ADAPTER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Send Server fail!"); - } - } - AudioProxyBufReplyRecycle(data, reply); - } - OsalMemFree((void *)adapter); - return; -} - -static void ReleaseServiceManager(struct HdfRemoteService *remote) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - - if (remote == NULL) { - return; - } - - if (AudioProxyPreprocessSBuf(&data, &reply) != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessSBuf failed"); - } - - if (!HdfRemoteServiceWriteInterfaceToken(remote, data)) { - AUDIO_FUNC_LOGE("write interface token failed"); - AudioProxyBufReplyRecycle(data, reply); - } - - int32_t ret = AudioProxyDispatchCall(remote, AUDIO_HDI_MGR_RELEASE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Release Manager proxyRemote fail! ret = %{public}d", ret); - } - - AudioProxyBufReplyRecycle(data, reply); - HdfRemoteServiceRecycle(remote); -} - -static bool ReleaseProxyAudioManagerObject(struct AudioManager *object) -{ - if (object == NULL) { - AUDIO_FUNC_LOGE("Input pointer is null!"); - return false; - } - struct AudioProxyManager *proxyManager = CONTAINER_OF(object, struct AudioProxyManager, impl); - if ((&g_localAudioProxyMgr) != proxyManager || - proxyManager == NULL || proxyManager->audioMagic != AUDIO_MAGIC) { - return false; - } - - object->GetAllAdapters = NULL; - object->LoadAdapter = NULL; - object->UnloadAdapter = NULL; - object->ReleaseAudioManagerObject = NULL; - - audioProxyAdapterAddrMgrFlag = false; - - AudioAdapterDescriptorFreeArray(&g_localAudioProxyAdapterAddrOut, (uint32_t *)&g_localAudioProxyAdapterNum); - - ReleaseServiceManager(proxyManager->remote); - ReleaseServiceManager(proxyManager->usbRemote); - ReleaseServiceManager(proxyManager->a2dpRemote); - return true; -} - -static void ProxyAudioMgrConstruct(struct AudioProxyManager *proxyMgr) -{ - if (proxyMgr == NULL) { - AUDIO_FUNC_LOGE("Input pointer is null!"); - return; - } - proxyMgr->impl.GetAllAdapters = AudioProxyManagerGetAllAdapters; - proxyMgr->impl.LoadAdapter = AudioProxyManagerLoadAdapter; - proxyMgr->impl.UnloadAdapter = AudioProxyManagerUnloadAdapter; - proxyMgr->impl.ReleaseAudioManagerObject = ReleaseProxyAudioManagerObject; - proxyMgr->audioMagic = AUDIO_MAGIC; -} - -struct AudioManager *GetAudioManagerFuncs(void) -{ - AUDIO_FUNC_LOGI(); - if (audioProxyAdapterAddrMgrFlag) { - AUDIO_FUNC_LOGE("audioProxyAdapterAddrMgrFlag is true."); - return (&(g_localAudioProxyMgr.impl)); - } - struct HDIServiceManager *serviceMgr = HDIServiceManagerGet(); - if (serviceMgr == NULL) { - AUDIO_FUNC_LOGE("HDIServiceManagerGet failed!"); - return NULL; - } - (void)memset_s(&g_localAudioProxyMgr, sizeof(struct AudioProxyManager), 0, sizeof(struct AudioProxyManager)); - g_localAudioProxyMgr.remote = serviceMgr->GetService(serviceMgr, HDI_SERVER_PRIMARY_NAME); - g_localAudioProxyMgr.usbRemote = serviceMgr->GetService(serviceMgr, HDI_SERVER_USB_NAME); - g_localAudioProxyMgr.a2dpRemote = serviceMgr->GetService(serviceMgr, HDI_SERVER_A2DP_NAME); - HDIServiceManagerRelease(serviceMgr); - if (g_localAudioProxyMgr.remote == NULL && - g_localAudioProxyMgr.usbRemote == NULL && - g_localAudioProxyMgr.a2dpRemote == NULL) { - AUDIO_FUNC_LOGE("Remote GetService failed!"); - return NULL; - } - bool remoteRet = HdfRemoteServiceSetInterfaceDesc(g_localAudioProxyMgr.remote, "ohos.hdi.audio_service"); - bool usbRemoteRet = HdfRemoteServiceSetInterfaceDesc(g_localAudioProxyMgr.usbRemote, "ohos.hdi.audio_service"); - bool a2dpRemoteRet = HdfRemoteServiceSetInterfaceDesc(g_localAudioProxyMgr.a2dpRemote, "ohos.hdi.audio_service"); - AUDIO_FUNC_LOGI("remoteRet=%{public}d, usbRemoteRet=%{public}d, a2dpRemoteRet=%{public}d", - remoteRet, usbRemoteRet, a2dpRemoteRet); - if (!remoteRet && !usbRemoteRet && !a2dpRemoteRet) { - AUDIO_FUNC_LOGE("failed to init interface desc!"); - HdfRemoteServiceRecycle(g_localAudioProxyMgr.remote); - HdfRemoteServiceRecycle(g_localAudioProxyMgr.usbRemote); - HdfRemoteServiceRecycle(g_localAudioProxyMgr.a2dpRemote); - return NULL; - } - - ProxyAudioMgrConstruct(&g_localAudioProxyMgr); - - audioProxyAdapterAddrMgrFlag = true; - return (&(g_localAudioProxyMgr.impl)); -} diff --git a/audio/hal/hdi_binder/proxy/src/audio_proxy_render.c b/audio/hal/hdi_binder/proxy/src/audio_proxy_render.c deleted file mode 100644 index dbc397663448cf0eba446d368fb01a7e82435d62..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/proxy/src/audio_proxy_render.c +++ /dev/null @@ -1,901 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_internal.h" -#include "audio_proxy_common.h" -#include "audio_uhdf_log.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_PROXY - -static int32_t AudioProxyRenderCtrl(int cmId, AudioHandle handle) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, cmId, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderStart(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyRenderCtrl(AUDIO_HDI_RENDER_START, handle); -} - -int32_t AudioProxyRenderStop(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyRenderCtrl(AUDIO_HDI_RENDER_STOP, handle); -} - -int32_t AudioProxyRenderPause(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyRenderCtrl(AUDIO_HDI_RENDER_PAUSE, handle); -} - -int32_t AudioProxyRenderResume(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyRenderCtrl(AUDIO_HDI_RENDER_RESUME, handle); -} - -int32_t AudioProxyRenderFlush(AudioHandle handle) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -static int32_t AudioProxyRenderGetFrameParameter(int cmId, const AudioHandle handle, uint64_t *param) -{ - if (param == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("invalid pointer"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, cmId, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint64(reply, param)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderGetFrameSize(const AudioHandle handle, uint64_t *size) -{ - return AudioProxyRenderGetFrameParameter(AUDIO_HDI_RENDER_GET_FRAME_SIZE, handle, size); -} - -int32_t AudioProxyRenderGetFrameCount(const AudioHandle handle, uint64_t *count) -{ - return AudioProxyRenderGetFrameParameter(AUDIO_HDI_RENDER_GET_FRAME_COUNT, handle, count); -} - -int32_t AudioProxyRenderSetSampleAttributes(const AudioHandle handle, const struct AudioSampleAttributes *attrs) -{ - if (handle == NULL || attrs == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("pointer is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyWriteSampleAttributes(data, attrs) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_SET_SAMPLE_ATTR, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderGetSampleAttributes(const AudioHandle handle, - struct AudioSampleAttributes *attrs) -{ - if (attrs == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_GET_SAMPLE_ATTR, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetSampleAttributes FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (AudioProxyReadSapmleAttrbutes(reply, attrs) < 0) { - AUDIO_FUNC_LOGE("AudioProxyReadSapmleAttrbutes FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderGetCurrentChannelId(const AudioHandle handle, uint32_t *channelId) -{ - if (channelId == NULL) { - AUDIO_FUNC_LOGE("channedId is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_GET_CUR_CHANNEL_ID, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetCurrentChannelId FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint32(reply, channelId)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderCheckSceneCapability(const AudioHandle handle, - const struct AudioSceneDescriptor *scene, bool *supported) -{ - if (scene == NULL || supported == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t tempPins; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint32(data, scene->scene.id)) { - AUDIO_FUNC_LOGE("scene->scene.id Write FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - tempPins = (uint32_t)scene->desc.pins; - if (!HdfSbufWriteUint32(data, tempPins)) { - AUDIO_FUNC_LOGE("tempPins Write FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_CHECK_SCENE_CAPABILITY, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderCheckSceneCapability FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempSupported = 0; - if (!HdfSbufReadUint32(reply, &tempSupported)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *supported = (bool)tempSupported; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderSelectScene(const AudioHandle handle, const struct AudioSceneDescriptor *scene) -{ - if (scene == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint32(data, scene->scene.id)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t temporaryPins = scene->desc.pins; - if (!HdfSbufWriteUint32(data, temporaryPins)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_SELECT_SCENE, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderSetMute(const AudioHandle handle, bool mute) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The params is null."); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempMute = (uint32_t)mute; - if (!HdfSbufWriteUint32(data, tempMute)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_SET_MUTE, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderGetMute(const AudioHandle handle, bool *mute) -{ - if (mute == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_GET_MUTE, data, reply); - uint32_t tempMute = 0; - if (!HdfSbufReadUint32(reply, &tempMute)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *mute = (bool)tempMute; - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGI("GetMute SUCCESS!"); - return ret; -} - -int32_t AudioProxyRenderSetVolume(const AudioHandle handle, float volume) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCommonSetRenderCtrlParam(AUDIO_HDI_RENDER_SET_VOLUME, handle, volume); -} - -int32_t AudioProxyRenderGetVolume(const AudioHandle handle, float *volume) -{ - AUDIO_FUNC_LOGI(); - return AudioProxyCommonGetRenderCtrlParam(AUDIO_HDI_RENDER_GET_VOLUME, handle, volume); -} - -int32_t AudioProxyRenderGetGainThreshold(const AudioHandle handle, float *min, float *max) -{ - if (min == NULL || max == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_GET_GAIN_THRESHOLD, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetGainThreshold FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempMin = 0; - uint32_t tempMax = 0; - if (!HdfSbufReadUint32(reply, &tempMin)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufReadUint32(reply, &tempMax)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *min = (float)tempMin; - *max = (float)tempMax; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderGetGain(const AudioHandle handle, float *gain) -{ - return AudioProxyCommonGetRenderCtrlParam(AUDIO_HDI_RENDER_GET_GAIN, handle, gain); -} - -int32_t AudioProxyRenderSetGain(const AudioHandle handle, float gain) -{ - return AudioProxyCommonSetRenderCtrlParam(AUDIO_HDI_RENDER_SET_GAIN, handle, gain); -} - -int32_t AudioProxyRenderGetLatency(struct AudioRender *render, uint32_t *ms) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL || ms == NULL) { - AUDIO_FUNC_LOGE("The pointer is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_GET_LATENCY, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetLatency FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (!HdfSbufReadUint32(reply, ms)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderRenderFrame(struct AudioRender *render, const void *frame, - uint64_t requestBytes, uint64_t *replyBytes) -{ - if (frame == NULL || replyBytes == NULL) { - AUDIO_FUNC_LOGE("Render Frame Paras is NULL!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteBuffer(data, frame, (uint32_t)requestBytes)) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("HdfSbufWriteBuffer FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_RENDER_FRAME, data, reply); - if (ret < 0) { - if (ret != AUDIO_HAL_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("AudioRenderRenderFrame FAIL"); - } - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - *replyBytes = requestBytes; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderGetRenderPosition(struct AudioRender *render, uint64_t *frames, struct AudioTimeStamp *time) -{ - if (frames == NULL || time == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwRender or hwRender->proxyRemoteHandle invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_GET_RENDER_POSITION, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetRenderPosition FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - if (AudioProxyGetMmapPositionRead(reply, frames, time) < 0) { - AUDIO_FUNC_LOGE("AudioProxyGetMmapPositionRead FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderSetRenderSpeed(struct AudioRender *render, float speed) -{ - (void)speed; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioProxyRenderGetRenderSpeed(struct AudioRender *render, float *speed) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || speed == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioProxyRenderSetChannelMode(struct AudioRender *render, enum AudioChannelMode mode) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempMode = (uint32_t)mode; - if (!HdfSbufWriteUint32(data, tempMode)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_SET_CHANNEL_MODE, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderGetChannelMode(struct AudioRender *render, enum AudioChannelMode *mode) -{ - if (mode == NULL || render == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwRender or hwRender->proxyRemoteHandle is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioProxyPreprocessRender(hwRender, &data, &reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_GET_CHANNEL_MODE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderGetChannelMode FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - uint32_t tempMode = 0; - if (!HdfSbufReadUint32(reply, &tempMode)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - *mode = (enum AudioChannelMode)tempMode; - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderSetExtraParams(AudioHandle handle, const char *keyValueList) -{ - if (handle == NULL || keyValueList == NULL) { - AUDIO_FUNC_LOGE("The parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteString(data, keyValueList)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_SET_EXTRA_PARAMS, data, reply); - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyRenderGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth) -{ - AUDIO_FUNC_LOGI(); - if (handle == NULL || keyValueList == NULL || listLenth <= 0) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("parameter is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderGetExtraParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteInt32(data, listLenth)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_GET_EXTRA_PARAMS, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderGetExtraParams FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - const char *strKeyValueList = NULL; - if ((strKeyValueList = HdfSbufReadString(reply)) == NULL) { - AUDIO_FUNC_LOGE("keyValueList Is empty"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = strncpy_s(keyValueList, listLenth, strKeyValueList, strlen(strKeyValueList)); - if (ret != 0) { - AUDIO_FUNC_LOGE("Copy failed!"); - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - -int32_t AudioProxyRenderReqMmapBuffer(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc) -{ - if (handle == NULL || desc == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("hwRender or hwRender->proxyRemoteHandle is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderReqMmapBuffer FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (AudioProxyReqMmapBufferWrite(data, reqSize, desc) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_REQ_MMAP_BUFFER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderReqMmapBuffer FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - desc->memoryFd = HdfSbufReadFileDescriptor(reply); - if (desc->memoryFd < 0) { - AUDIO_FUNC_LOGE("memoryFd read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->totalBufferFrames))) { - AUDIO_FUNC_LOGE("totalBufferFrames read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->transferFrameSize))) { - AUDIO_FUNC_LOGE("transferFrameSize read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadInt32(reply, &(desc->isShareable))) { - AUDIO_FUNC_LOGE("isShareable read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - if (!HdfSbufReadUint32(reply, &(desc->offset))) { - AUDIO_FUNC_LOGE("offset read failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderGetMmapPosition(AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time) -{ - if (handle == NULL || frames == NULL || time == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderGetMmapPosition FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, - AUDIO_HDI_RENDER_GET_MMAP_POSITION, data, reply); - if (ret < 0) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("AudioProxyRenderGetMmapPosition FAIL"); - return ret; - } - if (AudioProxyGetMmapPositionRead(reply, frames, time) < 0) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderAddEffect(AudioHandle handle, uint64_t effectid) -{ - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = NULL; - if (handle == NULL) { - AUDIO_FUNC_LOGE("handle is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint64(data, effectid)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_ADD_EFFECT, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Dispatch AudioProxyRenderAddEffect FAIL ret = %{public}d", ret); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderRemoveEffect(AudioHandle handle, uint64_t effectid) -{ - if (handle == NULL) { - AUDIO_FUNC_LOGE("The handle is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *reply = NULL; - struct HdfSBuf *data = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender(hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyPreprocessRender failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteUint64(data, effectid)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_REMOVE_EFFECT, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("Dispatch AudioProxyRenderRemoveEffect FAIL ret = %{public}d", ret); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioProxyRenderTurnStandbyMode(AudioHandle handle) -{ - int32_t ret; - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - if (handle == NULL) { - AUDIO_FUNC_LOGE("handle is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderTurnStandbyMode FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_TURN_STAND_BY_MODE, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderTurnStandbyMode FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyRenderAudioDevDump(AudioHandle handle, int32_t range, int32_t fd) -{ - if (handle == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderAudioDevDump FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteInt32(data, range)) { - AudioProxyBufReplyRecycle(data, reply); - AUDIO_FUNC_LOGE("Write FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!HdfSbufWriteFileDescriptor(data, fd)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_DEV_DUMP, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderAudioDevDump FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyRenderRegCallback(struct AudioRender *render, RenderCallback callback, void *cookie) -{ - if (render == NULL || callback == NULL || cookie == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderRegCallback FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint64_t tempAddr = (uint64_t)(uintptr_t)cookie; - if (!HdfSbufWriteUint64(data, tempAddr)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - tempAddr = (uint64_t)(uintptr_t)callback; - if (!HdfSbufWriteUint64(data, tempAddr)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_REG_CALLBACK, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderRegCallback FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} -int32_t AudioProxyRenderDrainBuffer(struct AudioRender *render, enum AudioDrainNotifyType *type) -{ - if (render == NULL || type == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct HdfSBuf *data = NULL; - struct HdfSBuf *reply = NULL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender->proxyRemoteHandle == NULL) { - AUDIO_FUNC_LOGE("The hwRender parameter is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (AudioProxyPreprocessRender((AudioHandle)hwRender, &data, &reply) < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderDrainBuffer FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t tempType = (uint32_t)(uintptr_t)type; - if (!HdfSbufWriteUint32(data, tempType)) { - AudioProxyBufReplyRecycle(data, reply); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioProxyDispatchCall(hwRender->proxyRemoteHandle, AUDIO_HDI_RENDER_DRAIN_BUFFER, data, reply); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioProxyRenderDrainBuffer FAIL"); - AudioProxyBufReplyRecycle(data, reply); - return ret; - } - AudioProxyBufReplyRecycle(data, reply); - return ret; -} - diff --git a/audio/hal/hdi_binder/server/BUILD.gn b/audio/hal/hdi_binder/server/BUILD.gn index 4b6af91a365924eb177b727b35e1d57e3cd0f4bd..d3dfa9cd04517e01b741b45979a84ca993b10ee2 100644 --- a/audio/hal/hdi_binder/server/BUILD.gn +++ b/audio/hal/hdi_binder/server/BUILD.gn @@ -17,46 +17,6 @@ import("//build/ohos.gni") import("$hdf_audio_path/audio.gni") if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { - ohos_shared_library("hdi_audio_primary_server") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_hal_path/hdi_passthrough/include", - "include", - "//third_party/bounds_checking_function/include", - ] - - sources = [ - "src/hdf_audio_events.c", - "src/hdf_audio_primary_server.c", - "src/hdf_audio_server_capture.c", - "src/hdf_audio_server_common.c", - "src/hdf_audio_server_render.c", - ] - - deps = [ "$hdf_hal_path/hdi_passthrough:hdi_audio_common" ] - - defines = [] - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - if (enable_audio_hal_hdf_log) { - defines += [ "AUDIO_HDF_LOG" ] - } - - shlib_type = "hdi" - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - ohos_shared_library("hdi_audio_usb_server") { include_dirs = [ "$hdf_audio_path/interfaces/include", @@ -66,6 +26,8 @@ if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { ] sources = [ + "$hdf_hal_path/hdi_passthrough/src/audio_adapter_info_common.c", + "$hdf_hal_path/hdi_passthrough/src/audio_common.c", "src/hdf_audio_events.c", "src/hdf_audio_server_capture.c", "src/hdf_audio_server_common.c", @@ -73,7 +35,6 @@ if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { "src/hdf_audio_usb_server.c", ] - deps = [ "$hdf_hal_path/hdi_passthrough:hdi_audio_common" ] if (is_standard_system) { external_deps = [ "c_utils:utils", @@ -104,6 +65,8 @@ if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { ] sources = [ + "$hdf_hal_path/hdi_passthrough/src/audio_adapter_info_common.c", + "$hdf_hal_path/hdi_passthrough/src/audio_common.c", "src/hdf_audio_a2dp_server.c", "src/hdf_audio_events.c", "src/hdf_audio_server_capture.c", @@ -111,7 +74,6 @@ if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { "src/hdf_audio_server_render.c", ] - deps = [ "$hdf_hal_path/hdi_passthrough:hdi_audio_common" ] if (is_standard_system) { external_deps = [ "c_utils:utils", diff --git a/audio/hal/hdi_binder/server/src/hdf_audio_primary_server.c b/audio/hal/hdi_binder/server/src/hdf_audio_primary_server.c deleted file mode 100644 index 6c8e09059f8e4871b725992739e7544442adf354..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_binder/server/src/hdf_audio_primary_server.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "hdf_device_desc.h" -#include "hdf_device_object.h" -#include "audio_adapter_info_common.h" -#include "audio_events.h" -#include "audio_uhdf_log.h" -#include "hdf_audio_events.h" -#include "hdf_audio_server_common.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_HOST - -static void AudioHdiPrimaryServerRelease(struct HdfDeviceObject *deviceObject) -{ - AUDIO_FUNC_LOGI("enter!"); - /* g_renderAndCaptureManage release */ - AdaptersServerManageInfomationRecycle(); - AudioHdiServerRelease(); - - if (deviceObject == NULL) { - AUDIO_FUNC_LOGE("Parameter is null!"); - return; - } - deviceObject->service = NULL; - AUDIO_FUNC_LOGD("end!"); - return; -} - -static int AudioHdiPrimaryServerBind(struct HdfDeviceObject *deviceObject) -{ - AUDIO_FUNC_LOGI("enter!"); - if (deviceObject == NULL) { - AUDIO_FUNC_LOGE("deviceObject is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - static struct IDeviceIoService hdiPrimaryService = { - .Dispatch = HdiServiceDispatch, - .Open = NULL, - .Release = NULL, - }; - AudioHdiSetLoadServerFlag(AUDIO_SERVER_PRIMARY); - if (HdiServiceGetFuncs() < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int ret = HdfDeviceObjectSetInterfaceDesc(deviceObject, "ohos.hdi.audio_service"); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("failed to set interface desc"); - return ret; - } - deviceObject->service = &hdiPrimaryService; - - AUDIO_FUNC_LOGD("end!"); - return AUDIO_HAL_SUCCESS; -} - -static int AudioHdiPrimaryServerInit(struct HdfDeviceObject *deviceObject) -{ - AUDIO_FUNC_LOGI("enter!"); - if (deviceObject == NULL) { - AUDIO_FUNC_LOGE("deviceObject is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (!HdfDeviceSetClass(deviceObject, DEVICE_CLASS_AUDIO)) { - AUDIO_FUNC_LOGE("Set Primary DEVICE_CLASS_AUDIO fail!"); - } - struct AudioEvent audioSrvEvent = { - .eventType = HDF_AUDIO_SERVICE_VALID, - .deviceType = HDF_AUDIO_PRIMARY_DEVICE, - }; - AudioServiceStateChange(deviceObject, &audioSrvEvent); - - AUDIO_FUNC_LOGD("end!"); - return AUDIO_HAL_SUCCESS; -} - -struct HdfDriverEntry g_hdiPrimaryServerEntry = { - .moduleVersion = 1, - .moduleName = "hdi_audio_primary_server", - .Bind = AudioHdiPrimaryServerBind, - .Init = AudioHdiPrimaryServerInit, - .Release = AudioHdiPrimaryServerRelease, -}; - -HDF_INIT(g_hdiPrimaryServerEntry); diff --git a/audio/hal/hdi_passthrough/BUILD.gn b/audio/hal/hdi_passthrough/BUILD.gn deleted file mode 100644 index 3846814e83106d9370fce5d3acf7a66f83126552..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_passthrough/BUILD.gn +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright (c) 2021 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../.." -import("//build/ohos.gni") -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - ohos_shared_library("hdi_audio") { - sources = [ - "src/audio_adapter.c", - "src/audio_capture.c", - "src/audio_manager.c", - "src/audio_render.c", - ] - - include_dirs = [ - "include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "$hdf_audio_path/supportlibs/interfaces/include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - deps = [ - ":hdi_audio_common", - "//third_party/bounds_checking_function:libsec_shared", - ] - external_deps = [ - "hdf_core:libhdf_utils", - "hilog_featured_lite:hilog_shared", - ] - defines = [] - if (drivers_peripheral_audio_feature_hal_notsupport_pathselect) { - defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] - } - - if (enable_audio_hal_hdf_log) { - defines += [ "AUDIO_HDF_LOG" ] - } - ldflags = [ - "-L$ohos_root_path/sysroot/usr/lib", - "-Wl,-rpath-link=$ohos_root_path/sysroot/usr/lib", - "-lstdc++", - "-ldl", - "-lm", - ] - - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} else { - if (!drivers_peripheral_audio_feature_user_mode) { - ohos_shared_library("hdi_audio") { - sources = [ - "src/audio_adapter.c", - "src/audio_capture.c", - "src/audio_manager.c", - "src/audio_render.c", - ] - - include_dirs = [ - "include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "$hdf_audio_path/supportlibs/interfaces/include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - defines = [] - - if (drivers_peripheral_audio_feature_hal_notsupport_pathselect) { - defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] - } - if (enable_audio_hal_hdf_log) { - defines += [ "AUDIO_HDF_LOG" ] - } - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - deps = [ ":hdi_audio_common" ] - - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - } -} - -if (defined(ohos_lite)) { - ohos_shared_library("hdi_audio_common") { - sources = [ - "//third_party/cJSON/cJSON.c", - "src/audio_adapter_info_common.c", - "src/audio_common.c", - ] - - include_dirs = [ - "include", - "../common/include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ - "hdf_core:libhdf_utils", - "hilog_featured_lite:hilog_shared", - ] - defines = [] - if (drivers_peripheral_audio_feature_hal_notsupport_pathselect) { - defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] - } - - ldflags = [ - "-L$ohos_root_path/sysroot/usr/lib", - "-Wl,-rpath-link=$ohos_root_path/sysroot/usr/lib", - "-lstdc++", - "-ldl", - "-lm", - ] - - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} else { - ohos_shared_library("hdi_audio_common") { - sources = [ - "//third_party/cJSON/cJSON.c", - "src/audio_adapter_info_common.c", - "src/audio_common.c", - ] - - include_dirs = [ - "include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "$hdf_audio_path/supportlibs/interfaces/include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - defines = [] - - if (drivers_peripheral_audio_feature_hal_notsupport_pathselect) { - defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] - } - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} diff --git a/audio/hal/hdi_passthrough/include/audio_adapter_info_common.h b/audio/hal/hdi_passthrough/include/audio_adapter_info_common.h index 4eb78e5e04314f8c227c626858f2eff84a655106..ce1ca9d4090e48b38d52d7edffaac260a956758b 100644 --- a/audio/hal/hdi_passthrough/include/audio_adapter_info_common.h +++ b/audio/hal/hdi_passthrough/include/audio_adapter_info_common.h @@ -59,7 +59,6 @@ int32_t AudioAdapterCheckPortId(const char *adapterName, uint32_t portId); struct AudioAdapterDescriptor *AudioAdapterGetConfigDescs(void); int32_t AudioAdapterGetAdapterNum(void); -int32_t AudioAdaptersForUser(struct AudioAdapterDescriptor **descs, int *size); int32_t AudioAdapterExist(const char *adapterName); int32_t InitPortForCapabilitySub(struct AudioPort portIndex, struct AudioPortCapability *capabilityIndex); int32_t KeyValueListToMap(const char *keyValueList, struct ParamValMap mParamValMap[], int32_t *count); diff --git a/audio/hal/hdi_passthrough/src/audio_adapter.c b/audio/hal/hdi_passthrough/src/audio_adapter.c deleted file mode 100644 index e2017edf4314d098bce74ea8ab1e9fe993437937..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_passthrough/src/audio_adapter.c +++ /dev/null @@ -1,1172 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_adapter.h" -#include "audio_adapter_info_common.h" -#include "audio_interface_lib_capture.h" -#include "audio_interface_lib_render.h" -#include "audio_uhdf_log.h" -#include "osal_mem.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_IMPL - -#define CONFIG_CHANNEL_COUNT 2 // two channels -#define GAIN_MAX 50.0 -#define DEFAULT_RENDER_SAMPLING_RATE 48000 -#define DEEP_BUFFER_RENDER_PERIOD_SIZE 4096 -#define DEEP_BUFFER_RENDER_PERIOD_COUNT 8 -#define TYPE_RENDER "Render" -#define TYPE_CAPTURE "Capture" -#define INT_32_MAX 0x7fffffff -#define SHIFT_RIGHT_31_BITS 31 - -int32_t GetAudioRenderFunc(struct AudioHwRender *hwRender) -{ - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("param hwRender is null!"); - return HDF_FAILURE; - } - hwRender->common.control.Start = AudioRenderStart; - hwRender->common.control.Stop = AudioRenderStop; - hwRender->common.control.Pause = AudioRenderPause; - hwRender->common.control.Resume = AudioRenderResume; - hwRender->common.control.Flush = AudioRenderFlush; - hwRender->common.control.TurnStandbyMode = AudioRenderTurnStandbyMode; - hwRender->common.control.AudioDevDump = AudioRenderAudioDevDump; - hwRender->common.attr.GetFrameSize = AudioRenderGetFrameSize; - hwRender->common.attr.GetFrameCount = AudioRenderGetFrameCount; - hwRender->common.attr.SetSampleAttributes = AudioRenderSetSampleAttributes; - hwRender->common.attr.GetSampleAttributes = AudioRenderGetSampleAttributes; - hwRender->common.attr.GetCurrentChannelId = AudioRenderGetCurrentChannelId; - hwRender->common.attr.SetExtraParams = AudioRenderSetExtraParams; - hwRender->common.attr.GetExtraParams = AudioRenderGetExtraParams; - hwRender->common.attr.ReqMmapBuffer = AudioRenderReqMmapBuffer; - hwRender->common.attr.GetMmapPosition = AudioRenderGetMmapPosition; - hwRender->common.attr.AddAudioEffect = AudioRenderAddEffect; - hwRender->common.attr.RemoveAudioEffect = AudioRenderRemoveEffect; - hwRender->common.scene.CheckSceneCapability = AudioRenderCheckSceneCapability; - hwRender->common.scene.SelectScene = AudioRenderSelectScene; - hwRender->common.volume.SetMute = AudioRenderSetMute; - hwRender->common.volume.GetMute = AudioRenderGetMute; - hwRender->common.volume.SetVolume = AudioRenderSetVolume; - hwRender->common.volume.GetVolume = AudioRenderGetVolume; - hwRender->common.volume.GetGainThreshold = AudioRenderGetGainThreshold; - hwRender->common.volume.GetGain = AudioRenderGetGain; - hwRender->common.volume.SetGain = AudioRenderSetGain; - hwRender->common.GetLatency = AudioRenderGetLatency; - hwRender->common.RenderFrame = AudioRenderRenderFrame; - hwRender->common.GetRenderPosition = AudioRenderGetRenderPosition; - hwRender->common.SetRenderSpeed = AudioRenderSetRenderSpeed; - hwRender->common.GetRenderSpeed = AudioRenderGetRenderSpeed; - hwRender->common.SetChannelMode = AudioRenderSetChannelMode; - hwRender->common.GetChannelMode = AudioRenderGetChannelMode; - hwRender->common.RegCallback = AudioRenderRegCallback; - hwRender->common.DrainBuffer = AudioRenderDrainBuffer; - hwRender->renderParam.frameRenderMode.callbackProcess = CallbackProcessing; - return HDF_SUCCESS; -} - -int32_t CheckParaDesc(const struct AudioDeviceDescriptor *desc, const char *type) -{ - if (desc == NULL || type == NULL) { - AUDIO_FUNC_LOGE("param desc or type is null!"); - return HDF_FAILURE; - } - if ((desc->portId) >> SHIFT_RIGHT_31_BITS) { - AUDIO_FUNC_LOGE("The highest bit of portId:%{public}u is not a valid value!", desc->portId); - return HDF_ERR_NOT_SUPPORT; - } - enum AudioPortPin pins = desc->pins; - if (!strcmp(type, TYPE_CAPTURE)) { - if (pins == PIN_IN_MIC || pins == PIN_IN_HS_MIC || pins == PIN_IN_LINEIN) { - return HDF_SUCCESS; - } else { - AUDIO_FUNC_LOGE("TYPE_CAPTURE does not support this pins:%{public}d!", pins); - return HDF_ERR_NOT_SUPPORT; - } - } else if (!strcmp(type, TYPE_RENDER)) { - if (pins == PIN_OUT_SPEAKER || pins == PIN_OUT_HEADSET || pins == PIN_OUT_LINEOUT || pins == PIN_OUT_HDMI || - pins == PIN_OUT_HEADPHONE || pins == (PIN_OUT_SPEAKER | PIN_OUT_HEADSET)) { - return HDF_SUCCESS; - } else { - AUDIO_FUNC_LOGE("TYPE_RENDER does not support this pins:%{public}d!", pins); - return HDF_ERR_NOT_SUPPORT; - } - } - AUDIO_FUNC_LOGE("This Type:%{public}s not support!", type); - return HDF_ERR_NOT_SUPPORT; -} - -int32_t CheckParaAttr(const struct AudioSampleAttributes *attrs) -{ - if (attrs == NULL) { - AUDIO_FUNC_LOGE("param attrs is null!"); - return HDF_FAILURE; - } - int32_t ret = ((attrs->sampleRate) >> SHIFT_RIGHT_31_BITS) + ((attrs->channelCount) >> SHIFT_RIGHT_31_BITS) + - ((attrs->period) >> SHIFT_RIGHT_31_BITS) + ((attrs->frameSize) >> SHIFT_RIGHT_31_BITS) + - ((attrs->startThreshold) >> SHIFT_RIGHT_31_BITS) + ((attrs->stopThreshold) >> SHIFT_RIGHT_31_BITS) + - ((attrs->silenceThreshold) >> SHIFT_RIGHT_31_BITS); - if (ret > 0) { - AUDIO_FUNC_LOGE("CheckParaAttr does not support! ret = %{public}d", ret); - return HDF_ERR_NOT_SUPPORT; - } - - enum AudioCategory audioCategory = attrs->type; - if (audioCategory < AUDIO_IN_MEDIA || audioCategory > AUDIO_MMAP_NOIRQ) { - AUDIO_FUNC_LOGE("Audio category error!"); - return HDF_ERR_NOT_SUPPORT; - } - - enum AudioFormat audioFormat = attrs->format; - return CheckAttrFormat(audioFormat); -} - -int32_t AttrFormatToBit(const struct AudioSampleAttributes *attrs, int32_t *format) -{ - if (attrs == NULL || format == NULL) { - AUDIO_FUNC_LOGE("param attrs or format is null!"); - return HDF_FAILURE; - } - enum AudioFormat audioFormat = attrs->format; - switch (audioFormat) { - case AUDIO_FORMAT_TYPE_PCM_8_BIT: - *format = BIT_NUM_8; - return HDF_SUCCESS; - case AUDIO_FORMAT_TYPE_PCM_16_BIT: - *format = BIT_NUM_16; - return HDF_SUCCESS; - case AUDIO_FORMAT_TYPE_PCM_24_BIT: - *format = BIT_NUM_24; - return HDF_SUCCESS; - case AUDIO_FORMAT_TYPE_PCM_32_BIT: - *format = BIT_NUM_32; - return HDF_SUCCESS; - default: - return HDF_ERR_NOT_SUPPORT; - } -} - -static int32_t AudioFormatServiceName(char *cardServiceName, char *adapterName, uint32_t id) -{ - if (cardServiceName == NULL || adapterName == NULL) { - AUDIO_FUNC_LOGE("Pointer Is Empty!"); - return HDF_FAILURE; - } - - if (snprintf_s(cardServiceName, NAME_LEN, NAME_LEN - 1, "%s%u", adapterName, id) < 0) { - AUDIO_FUNC_LOGE("snprintf_s failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioCheckDescPortId(const struct AudioAdapterDescriptor *adapterDescriptor, uint32_t portId, - uint32_t *id) -{ - if (adapterDescriptor == NULL || adapterDescriptor->ports == NULL || id == NULL) { - AUDIO_FUNC_LOGE("Pointer Is Empty!"); - return HDF_FAILURE; - } - int adapterNum = AudioAdapterGetAdapterNum(); - if (adapterNum <= 0) { - AUDIO_FUNC_LOGE("Get adapterNum fail!"); - return HDF_FAILURE; - } - struct AudioAdapterDescriptor *descs = AudioAdapterGetConfigDescs(); - if (descs == NULL) { - AUDIO_FUNC_LOGE("Get adapterDescs is NULL!"); - return HDF_FAILURE; - } - bool checkFlag = false; - for (int index = 0; index < adapterNum; index++) { - if (strcmp(descs[index].adapterName, adapterDescriptor->adapterName) == 0) { - if (descs[index].ports[0].portId == portId) { - checkFlag = true; - break; - } else { - AUDIO_FUNC_LOGE("The Audio Port ID is invalid, please check!"); - return HDF_FAILURE; - } - } - } - if (!checkFlag) { - AUDIO_FUNC_LOGE("The Audio AdapterName is illegal, please check!"); - return HDF_FAILURE; - } - for (int index = 0; index < adapterNum; index++) { - if (strncmp(descs[index].adapterName, PRIMARY, strlen(PRIMARY)) == 0) { - if (descs[index].ports[0].portId <= AUDIO_PRIMARY_ID_MAX && - descs[index].ports[0].portId >= AUDIO_PRIMARY_ID_MIN) { - *id = descs[index].ports[0].portId; - break; - } - } - } - return HDF_SUCCESS; -} - -static int32_t AudioMakeCardServiceName(char *cardServiceName, const struct AudioAdapterDescriptor *adapterDescriptor, - uint32_t portId) -{ - if (cardServiceName == NULL || adapterDescriptor == NULL || adapterDescriptor->ports == NULL) { - AUDIO_FUNC_LOGE("Pointer Is Empty!"); - return HDF_FAILURE; - } - uint32_t priPortId = 0; - int32_t ret; - ret = AudioCheckDescPortId(adapterDescriptor, portId, &priPortId); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("The Audio Port ID is illegal, please check!"); - return HDF_FAILURE; - } - if (strncmp(adapterDescriptor->adapterName, PRIMARY, strlen(PRIMARY)) == 0) { - ret = AudioFormatServiceName(cardServiceName, HDF_AUDIO_CODEC_PRIMARY_DEV, portId); - } else if (strncmp(adapterDescriptor->adapterName, HDMI, strlen(HDMI)) == 0) { - ret = AudioFormatServiceName(cardServiceName, HDF_AUDIO_CODEC_HDMI_DEV, priPortId); - } else if (strncmp(adapterDescriptor->adapterName, USB, strlen(USB)) == 0) { - ret = AudioFormatServiceName(cardServiceName, HDF_AUDIO_CODEC_USB_DEV, priPortId); - } else if (strncmp(adapterDescriptor->adapterName, A2DP, strlen(A2DP)) == 0) { - ret = AudioFormatServiceName(cardServiceName, HDF_AUDIO_CODEC_A2DP_DEV, portId); - } else { - AUDIO_FUNC_LOGE( - "The selected sound card is not in the range of sound card list, please check name = %s !", - adapterDescriptor->adapterName); - return HDF_FAILURE; - } - return ret; -} - -int32_t InitHwRenderParam(struct AudioHwRender *hwRender, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs) -{ - if (hwRender == NULL || desc == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("InitHwRenderParam param Is NULL"); - return HDF_FAILURE; - } - int32_t ret = CheckParaDesc(desc, TYPE_RENDER); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("CheckParaDesc Fail ret = %{public}d", ret); - return ret; - } - ret = CheckParaAttr(attrs); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("CheckParaAttr Fail ret = %{public}d", ret); - return ret; - } - int32_t formatValue = -1; - ret = AttrFormatToBit(attrs, &formatValue); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("AttrFormatToBit Fail ret = %{public}d", ret); - return ret; - } - if (attrs->channelCount == 0) { - AUDIO_FUNC_LOGE("attrs->channelCount is zero!"); - return HDF_FAILURE; - } - hwRender->renderParam.renderMode.hwInfo.deviceDescript = *desc; - hwRender->renderParam.renderMode.hwInfo.callBackEnable = false; - hwRender->renderParam.frameRenderMode.attrs = *attrs; - hwRender->renderParam.renderMode.ctlParam.audioGain.gainMax = GAIN_MAX; // init gainMax - hwRender->renderParam.renderMode.ctlParam.audioGain.gainMin = 0; - hwRender->renderParam.renderMode.ctlParam.stop = true; - hwRender->renderParam.frameRenderMode.frames = 0; - hwRender->renderParam.frameRenderMode.time.tvNSec = 0; - hwRender->renderParam.frameRenderMode.time.tvSec = 0; - hwRender->renderParam.frameRenderMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwRender->renderParam.frameRenderMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwRender->renderParam.frameRenderMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwRender->renderParam.frameRenderMode.renderhandle = (AudioHandle)hwRender; - if ((hwRender->renderParam.frameRenderMode.buffer = (char *)OsalMemCalloc(FRAME_DATA)) == NULL) { - AUDIO_FUNC_LOGE("alloc frame render buffer failed"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwRender->renderParam.renderMode.ctlParam.turnStandbyStatus = AUDIO_TURN_STANDBY_LATER; - return HDF_SUCCESS; -} - -int32_t InitForGetPortCapability(struct AudioPort portIndex, struct AudioPortCapability *capabilityIndex) -{ - if (capabilityIndex == NULL) { - AUDIO_FUNC_LOGE("capabilityIndex is null"); - return HDF_FAILURE; - } - /* get capabilityIndex from driver or default */ - if (portIndex.dir != PORT_OUT) { - capabilityIndex->hardwareMode = true; - capabilityIndex->channelMasks = AUDIO_CHANNEL_STEREO; - capabilityIndex->channelCount = CONFIG_CHANNEL_COUNT; - return HDF_SUCCESS; - } - if (InitPortForCapabilitySub(portIndex, capabilityIndex) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("PortInitForCapability fail"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -void AudioAdapterReleaseCapSubPorts(const struct AudioPortAndCapability *portCapabilitys, int32_t num) -{ - int32_t i = 0; - if (portCapabilitys == NULL) { - return; - } - while (i < num) { - if (&portCapabilitys[i] == NULL) { - break; - } - AudioMemFree((void **)(&portCapabilitys[i].capability.subPorts)); - i++; - } - return; -} - -int32_t AudioAdapterInitAllPorts(struct AudioAdapter *adapter) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL) { - AUDIO_FUNC_LOGE("hwAdapter Is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwAdapter->portCapabilitys != NULL) { - AUDIO_FUNC_LOGI("portCapabilitys already Init!"); - return AUDIO_HAL_SUCCESS; - } - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - struct AudioPort *ports = hwAdapter->adapterDescriptor.ports; - if (ports == NULL) { - AUDIO_FUNC_LOGE("ports is NULL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (portNum == 0) { - AUDIO_FUNC_LOGE("portNum is zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioPortAndCapability *portCapability = (struct AudioPortAndCapability *)OsalMemCalloc( - portNum * sizeof(struct AudioPortAndCapability)); - if (portCapability == NULL) { - AUDIO_FUNC_LOGE("portCapability is NULL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - for (uint32_t i = 0; i < portNum; i++) { - portCapability[i].port = ports[i]; - if (InitForGetPortCapability(ports[i], &portCapability[i].capability)) { - AUDIO_FUNC_LOGE("ports Init Fail!"); - AudioAdapterReleaseCapSubPorts(portCapability, portNum); - AudioMemFree((void **)&portCapability); - return AUDIO_HAL_ERR_INTERNAL; - } - } - hwAdapter->portCapabilitys = portCapability; - hwAdapter->portCapabilitys->mode = PORT_PASSTHROUGH_LPCM; - return AUDIO_HAL_SUCCESS; -} - -void AudioReleaseRenderHandle(struct AudioHwRender *hwRender) -{ - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("param hwRender is null!"); - return; - } - CloseServiceRenderSo *pCloseServiceRender = AudioSoGetCloseServiceRender(); - if (pCloseServiceRender == NULL || (*pCloseServiceRender) == NULL) { - AUDIO_FUNC_LOGE("pCloseServiceRender func not exist"); - return; - } - if (hwRender->devDataHandle != NULL) { - (*pCloseServiceRender)(hwRender->devDataHandle); - hwRender->devDataHandle = NULL; - } - if (hwRender->devCtlHandle != NULL) { - (*pCloseServiceRender)(hwRender->devCtlHandle); - hwRender->devCtlHandle = NULL; - } - return; -} - -int32_t AudioAdapterCreateRenderPre(struct AudioHwRender *hwRender, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, const struct AudioHwAdapter *hwAdapter) -{ - if (hwAdapter == NULL || hwRender == NULL || desc == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("Pointer is null!"); - return HDF_FAILURE; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL || *pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("PathSelAnalysisJson not exist"); - return HDF_FAILURE; - } -#endif - if (GetAudioRenderFunc(hwRender) < 0) { - AUDIO_FUNC_LOGE("GetAudioRenderFunc failed!"); - return HDF_FAILURE; - } - /* Fill hwRender para */ - if (InitHwRenderParam(hwRender, desc, attrs) < 0) { - AUDIO_FUNC_LOGE("InitHwRenderParam failed!"); - return HDF_FAILURE; - } - - if (hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("pointer is null!"); - return HDF_FAILURE; - } - uint32_t adapterNameLen = strlen(hwAdapter->adapterDescriptor.adapterName); - if (adapterNameLen == 0) { - AUDIO_FUNC_LOGE("adapterNameLen is null!"); - return HDF_FAILURE; - } - /* Get Adapter name */ - int32_t ret = strncpy_s(hwRender->renderParam.renderMode.hwInfo.adapterName, NAME_LEN, - hwAdapter->adapterDescriptor.adapterName, adapterNameLen); - if (ret != EOK) { - AUDIO_FUNC_LOGE("copy fail"); - return HDF_FAILURE; - } - uint32_t portId = hwRender->renderParam.renderMode.hwInfo.deviceDescript.portId; - ret = AudioMakeCardServiceName(hwRender->renderParam.renderMode.hwInfo.cardServiceName, - &hwAdapter->adapterDescriptor, portId); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("AudioMakeCardServiceName fail"); - return HDF_FAILURE; - } - - /* Select Path */ -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - if ((*pPathSelAnalysisJson)((void *)&hwRender->renderParam, RENDER_PATH_SELECT) < 0) { - AUDIO_FUNC_LOGE("Path Select Fail!"); - return HDF_FAILURE; - } -#endif - - return HDF_SUCCESS; -} - - -static int32_t BindServiceRenderOpen(struct AudioHwRender *hwRender, - InterfaceLibModeRenderSo *pInterfaceLibModeRender) -{ - if (hwRender == NULL || hwRender->devDataHandle == NULL || - pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("Input para is null!"); - return HDF_FAILURE; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, - &hwRender->renderParam, AUDIO_DRV_PCM_IOCTRL_RENDER_OPEN); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRender render open FAIL"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioCtrlRenderClose(struct AudioHwRender *hwRender, InterfaceLibModeRenderSo *pInterfaceLibModeRender) -{ - if (hwRender == NULL || hwRender->devDataHandle == NULL || - pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("Audio render handle param not exist"); - return HDF_FAILURE; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTRL_RENDER_CLOSE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Audio render close fail, ret is %{public}d", ret); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioSetParamToDev(struct AudioHwRender *hwRender, InterfaceLibModeRenderSo *pInterfaceLibModeRender) -{ - int32_t ret; - if (hwRender == NULL || hwRender->devDataHandle == NULL || hwRender->devCtlHandle == NULL || - pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("The parameter is empty."); - return HDF_FAILURE; - } - /* Init RenderPathSelect send first */ - /* portId small than AUDIO_SERVICE_PORTID_FLAG should SceneSelect */ -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - uint32_t portId = hwRender->renderParam.renderMode.hwInfo.deviceDescript.portId; - if (portId < AUDIO_USB_ID_MIN) { - ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_SCENESELECT_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - return HDF_FAILURE; - } - } -#endif - /* set Attr Para */ - ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTL_HW_PARAMS); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRender SetParams FAIL"); - return HDF_FAILURE; - } - /* get volThreshold */ - ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_VOL_THRESHOLD_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - return HDF_FAILURE; - } - ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTL_PREPARE); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRender perpare FAIL"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioAdapterBindServiceRender(struct AudioHwRender *hwRender) -{ - int32_t ret; - if (hwRender == NULL || hwRender->devDataHandle == NULL || hwRender->devCtlHandle == NULL) { - return HDF_FAILURE; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("InterfaceLibModeRender not exist"); - return HDF_FAILURE; - } - if (BindServiceRenderOpen(hwRender, pInterfaceLibModeRender)) { - return HDF_FAILURE; - } - ret = AudioSetParamToDev(hwRender, pInterfaceLibModeRender); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioSetParamToDev FAIL."); - (void)AudioCtrlRenderClose(hwRender, pInterfaceLibModeRender); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t AudioRenderBindService(struct AudioHwRender *hwRender, BindServiceRenderSo *pBindServiceRender) -{ - if (hwRender == NULL || pBindServiceRender == NULL || *pBindServiceRender == NULL) { - AUDIO_FUNC_LOGE("hwRender or pBindServiceRender or *pBindServiceRender is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - /* bindRenderService */ - hwRender->devDataHandle = (*pBindServiceRender)(RENDER_CMD); - if (hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("Render bind service failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwRender->devCtlHandle = (*pBindServiceRender)(CTRL_CMD); - if (hwRender->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("Render bind service failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioAdapterBindServiceRender(hwRender); - if (ret != 0) { - AUDIO_FUNC_LOGE("AudioAdapterBindServiceRender fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static void AudioCreateRenderRelease(struct AudioHwRender **hwRender) -{ - if (hwRender != NULL && *hwRender != NULL) { - AudioMemFree((void **)&((*hwRender)->renderParam.frameRenderMode.buffer)); - } - AudioMemFree((void **)hwRender); - return; -} - -int32_t AudioAdapterCreateRender(struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, struct AudioRender **render) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || desc == NULL || attrs == NULL || render == NULL) { - AUDIO_FUNC_LOGE("hwAdapter or desc or attrs or render is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwAdapter->adapterMgrRenderFlag > 0) { - AUDIO_FUNC_LOGE("Create render repeatedly!"); - return AUDIO_HAL_ERR_INTERNAL; - } - BindServiceRenderSo *pBindServiceRender = AudioSoGetBindServiceRender(); - if (pBindServiceRender == NULL || *pBindServiceRender == NULL) { - AUDIO_FUNC_LOGE("lib render func not exist"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwRender *hwRender = (struct AudioHwRender *)OsalMemCalloc(sizeof(*hwRender)); - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is NULL!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - int32_t ret = AudioAdapterCreateRenderPre(hwRender, desc, attrs, hwAdapter); - if (ret != 0) { - AUDIO_FUNC_LOGE("AudioAdapterCreateRenderPre fail"); - AudioCreateRenderRelease(&hwRender); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioRenderBindService(hwRender, pBindServiceRender); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderBindService fail ret = %{public}d", ret); - AudioReleaseRenderHandle(hwRender); - AudioCreateRenderRelease(&hwRender); - return ret; - } - - *render = &hwRender->common; - hwAdapter->adapterMgrRenderFlag++; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioAdapterDestroyRender(struct AudioAdapter *adapter, struct AudioRender *render) -{ - int32_t ret; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || render == NULL) { - AUDIO_FUNC_LOGE("hwAdapter or render is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwAdapter->adapterMgrRenderFlag > 0) { - hwAdapter->adapterMgrRenderFlag--; - } - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (!(hwRender->renderParam.renderMode.ctlParam.stop)) { - ret = render->control.Stop((AudioHandle)render); - if (ret < 0) { - AUDIO_FUNC_LOGE("render Stop failed ret = %{public}d", ret); - } - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("InterfaceLibModeRender not exist"); - return HDF_FAILURE; - } - ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTRL_RENDER_CLOSE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Audio RENDER_CLOSE FAIL"); - } - AudioReleaseRenderHandle(hwRender); - AudioMemFree((void **)&hwRender->renderParam.frameRenderMode.buffer); - for (int i = 0; i < ERROR_LOG_MAX_NUM; i++) { - AudioMemFree((void **)&hwRender->errorLog.errorDump[i].reason); - AudioMemFree((void **)&hwRender->errorLog.errorDump[i].currentTime); - } - AudioMemFree((void **)&render); - return AUDIO_HAL_SUCCESS; -} - -int32_t GetAudioCaptureFunc(struct AudioHwCapture *hwCapture) -{ - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("param hwCapture is null!"); - return HDF_FAILURE; - } - hwCapture->common.control.Start = AudioCaptureStart; - hwCapture->common.control.Stop = AudioCaptureStop; - hwCapture->common.control.Pause = AudioCapturePause; - hwCapture->common.control.Resume = AudioCaptureResume; - hwCapture->common.control.Flush = AudioCaptureFlush; - hwCapture->common.control.TurnStandbyMode = AudioCaptureTurnStandbyMode; - hwCapture->common.control.AudioDevDump = AudioCaptureAudioDevDump; - hwCapture->common.attr.GetFrameSize = AudioCaptureGetFrameSize; - hwCapture->common.attr.GetFrameCount = AudioCaptureGetFrameCount; - hwCapture->common.attr.SetSampleAttributes = AudioCaptureSetSampleAttributes; - hwCapture->common.attr.GetSampleAttributes = AudioCaptureGetSampleAttributes; - hwCapture->common.attr.GetCurrentChannelId = AudioCaptureGetCurrentChannelId; - hwCapture->common.attr.SetExtraParams = AudioCaptureSetExtraParams; - hwCapture->common.attr.GetExtraParams = AudioCaptureGetExtraParams; - hwCapture->common.attr.ReqMmapBuffer = AudioCaptureReqMmapBuffer; - hwCapture->common.attr.GetMmapPosition = AudioCaptureGetMmapPosition; - hwCapture->common.attr.AddAudioEffect = AudioCaptureAddEffect; - hwCapture->common.attr.RemoveAudioEffect = AudioCaptureRemoveEffect; - hwCapture->common.scene.CheckSceneCapability = AudioCaptureCheckSceneCapability; - hwCapture->common.scene.SelectScene = AudioCaptureSelectScene; - hwCapture->common.volume.SetMute = AudioCaptureSetMute; - hwCapture->common.volume.GetMute = AudioCaptureGetMute; - hwCapture->common.volume.SetVolume = AudioCaptureSetVolume; - hwCapture->common.volume.GetVolume = AudioCaptureGetVolume; - hwCapture->common.volume.GetGainThreshold = AudioCaptureGetGainThreshold; - hwCapture->common.volume.GetGain = AudioCaptureGetGain; - hwCapture->common.volume.SetGain = AudioCaptureSetGain; - hwCapture->common.CaptureFrame = AudioCaptureCaptureFrame; - hwCapture->common.GetCapturePosition = AudioCaptureGetCapturePosition; - return HDF_SUCCESS; -} - -int32_t InitHwCaptureParam(struct AudioHwCapture *hwCapture, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs) -{ - if (hwCapture == NULL || desc == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("InitHwCaptureParam param Is NULL"); - return HDF_FAILURE; - } - int32_t ret = CheckParaDesc(desc, TYPE_CAPTURE); - if (ret != HDF_SUCCESS) { - return ret; - } - ret = CheckParaAttr(attrs); - if (ret != HDF_SUCCESS) { - return ret; - } - int32_t formatValue = -1; - ret = AttrFormatToBit(attrs, &formatValue); - if (ret != HDF_SUCCESS) { - return ret; - } - if (attrs->channelCount == 0) { - AUDIO_FUNC_LOGE("attrs->channelCount is zero!"); - return HDF_FAILURE; - } - hwCapture->captureParam.captureMode.hwInfo.deviceDescript = *desc; - hwCapture->captureParam.frameCaptureMode.attrs = *attrs; - hwCapture->captureParam.captureMode.ctlParam.audioGain.gainMax = GAIN_MAX; // init gainMax - hwCapture->captureParam.captureMode.ctlParam.audioGain.gainMin = 0; - hwCapture->captureParam.frameCaptureMode.frames = 0; - hwCapture->captureParam.frameCaptureMode.time.tvNSec = 0; - hwCapture->captureParam.frameCaptureMode.time.tvSec = 0; - hwCapture->captureParam.frameCaptureMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwCapture->captureParam.frameCaptureMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwCapture->captureParam.frameCaptureMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwCapture->captureParam.frameCaptureMode.attrs.period = attrs->period; - hwCapture->captureParam.frameCaptureMode.attrs.frameSize = attrs->frameSize; - hwCapture->captureParam.frameCaptureMode.attrs.startThreshold = attrs->startThreshold; - hwCapture->captureParam.frameCaptureMode.attrs.stopThreshold = attrs->stopThreshold; - hwCapture->captureParam.frameCaptureMode.attrs.silenceThreshold = attrs->silenceThreshold; - hwCapture->captureParam.frameCaptureMode.attrs.isBigEndian = attrs->isBigEndian; - hwCapture->captureParam.frameCaptureMode.attrs.isSignedData = attrs->isSignedData; - return HDF_SUCCESS; -} - -void AudioReleaseCaptureHandle(struct AudioHwCapture *hwCapture) -{ - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("param hwCapture is null!"); - return; - } - CloseServiceCaptureSo *pCloseServiceCapture = AudioSoGetCloseServiceCapture(); - if (pCloseServiceCapture == NULL || (*pCloseServiceCapture) == NULL) { - AUDIO_FUNC_LOGE("pCloseServiceCapture func not exist"); - return; - } - if (hwCapture->devDataHandle != NULL) { - (*pCloseServiceCapture)(hwCapture->devDataHandle); - hwCapture->devDataHandle = NULL; - } - if (hwCapture->devCtlHandle != NULL) { - (*pCloseServiceCapture)(hwCapture->devCtlHandle); - hwCapture->devCtlHandle = NULL; - } - return; -} - -int32_t AudioAdapterCreateCapturePre(struct AudioHwCapture *hwCapture, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, struct AudioHwAdapter *hwAdapter) -{ - if (hwCapture == NULL || desc == NULL || attrs == NULL || hwAdapter == NULL) { - AUDIO_FUNC_LOGE("Pointer Is Empty!"); - return HDF_FAILURE; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL || *pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("PathSelAnalysisJson not exist"); - return HDF_FAILURE; - } -#endif - if (GetAudioCaptureFunc(hwCapture) < 0) { - AUDIO_FUNC_LOGE("GetAudioCaptureFunc failed!"); - return HDF_FAILURE; - } - if (InitHwCaptureParam(hwCapture, desc, attrs) < 0) { - AUDIO_FUNC_LOGE("InitHwCaptureParam failed!"); - return HDF_FAILURE; - } - - if (hwAdapter->adapterDescriptor.adapterName == NULL) { - AUDIO_FUNC_LOGE("adapterName is NULL!"); - return HDF_FAILURE; - } - uint32_t adapterNameLen = strlen(hwAdapter->adapterDescriptor.adapterName); - if (adapterNameLen == 0) { - AUDIO_FUNC_LOGE("adapterNameLen is null!"); - return HDF_FAILURE; - } - /* Get Adapter name */ - int32_t ret = strncpy_s(hwCapture->captureParam.captureMode.hwInfo.adapterName, NAME_LEN, - hwAdapter->adapterDescriptor.adapterName, adapterNameLen); - if (ret != EOK) { - AUDIO_FUNC_LOGE("copy fail"); - return HDF_FAILURE; - } - uint32_t portId = hwCapture->captureParam.captureMode.hwInfo.deviceDescript.portId; - ret = AudioMakeCardServiceName(hwCapture->captureParam.captureMode.hwInfo.cardServiceName, - &hwAdapter->adapterDescriptor, portId); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("AudioMakeCardServiceName fail"); - return HDF_FAILURE; - } - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - if ((*pPathSelAnalysisJson)((void *)&hwCapture->captureParam, CAPTURE_PATH_SELECT) < 0) { - AUDIO_FUNC_LOGE("Path Select Fail!"); - return HDF_FAILURE; - } -#endif - - return HDF_SUCCESS; -} - -static int32_t AudioCtrlCaptureClose(struct AudioHwCapture *hwCapture, - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture) -{ - if (hwCapture == NULL || hwCapture->devDataHandle == NULL || - pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("Audio capture handle param not exist"); - return HDF_FAILURE; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTRL_CAPTURE_CLOSE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Audio capture close fail, ret is %{public}d", ret); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioAdapterInterfaceLibModeCapture(struct AudioHwCapture *hwCapture) -{ - if (hwCapture == NULL || hwCapture->devCtlHandle == NULL || hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("hwCapture or hwCapture->devCtlHandle or hwCapture->devDataHandle is null!"); - return HDF_FAILURE; - } - InterfaceLibModeCaptureSo *libCap = AudioSoGetInterfaceLibModeCapture(); - if (libCap == NULL || *libCap == NULL) { - AUDIO_FUNC_LOGE("lib capture func not exist"); - return HDF_FAILURE; - } - if ((*libCap)(hwCapture->devDataHandle, &hwCapture->captureParam, AUDIO_DRV_PCM_IOCTRL_CAPTURE_OPEN) < 0) { - AUDIO_FUNC_LOGE("CAPTURE_OPEN FAIL"); - return HDF_FAILURE; - } - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - if ((*libCap)(hwCapture->devCtlHandle, &hwCapture->captureParam, AUDIODRV_CTL_IOCTL_SCENESELECT_CAPTURE) < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - (void)AudioCtrlCaptureClose(hwCapture, libCap); - return HDF_FAILURE; - } -#endif - if ((*libCap)(hwCapture->devDataHandle, &hwCapture->captureParam, AUDIO_DRV_PCM_IOCTL_HW_PARAMS) < 0) { - AUDIO_FUNC_LOGE("AudioCaptureStart SetParams FAIL"); - (void)AudioCtrlCaptureClose(hwCapture, libCap); - return HDF_FAILURE; - } - if ((*libCap)(hwCapture->devCtlHandle, &hwCapture->captureParam, AUDIODRV_CTL_IOCTL_VOL_THRESHOLD_CAPTURE) < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - (void)AudioCtrlCaptureClose(hwCapture, libCap); - return HDF_FAILURE; - } - if ((*libCap)(hwCapture->devDataHandle, &hwCapture->captureParam, AUDIO_DRV_PCM_IOCTL_PREPARE_CAPTURE) < 0) { - AUDIO_FUNC_LOGE("AudioCaptureStart prepare FAIL"); - (void)AudioCtrlCaptureClose(hwCapture, libCap); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t AudioCaptureBindService(struct AudioHwCapture *hwCapture, BindServiceCaptureSo *pBindServiceCapture) -{ - if (hwCapture == NULL || pBindServiceCapture == NULL || *pBindServiceCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture or pBindServiceCapture or *pBindServiceCapture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - hwCapture->devDataHandle = (*pBindServiceCapture)(CAPTURE_CMD); - if (hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("Capture bind service failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwCapture->devCtlHandle = (*pBindServiceCapture)(CTRL_CMD); - if (hwCapture->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("Capture bind service failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioAdapterInterfaceLibModeCapture(hwCapture); - if (ret != 0) { - AUDIO_FUNC_LOGE("AudioAdapterInterfaceLibModeCapture failed"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioAdapterCreateCapture(struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, - const struct AudioSampleAttributes *attrs, struct AudioCapture **capture) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || desc == NULL || attrs == NULL || capture == NULL) { - AUDIO_FUNC_LOGE("hwAdapter or desc or attrs or capture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwAdapter->adapterMgrCaptureFlag > 0) { - AUDIO_FUNC_LOGE("Create capture repeatedly!"); - return AUDIO_HAL_ERR_INTERNAL; - } - BindServiceCaptureSo *pBindServiceCapture = AudioSoGetBindServiceCapture(); - if (pBindServiceCapture == NULL || *pBindServiceCapture == NULL) { - AUDIO_FUNC_LOGE("lib capture func not exist"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)OsalMemCalloc(sizeof(*hwCapture)); - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("alloc AudioHwCapture failed!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - int32_t ret = AudioAdapterCreateCapturePre(hwCapture, desc, attrs, hwAdapter); - if (ret != 0) { - AUDIO_FUNC_LOGE("AudioAdapterCreateCapturePre fail"); - AudioMemFree((void **)&hwCapture); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AudioCaptureBindService(hwCapture, pBindServiceCapture); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureBindService fail! ret = %{public}d", ret); - AudioReleaseCaptureHandle(hwCapture); - AudioMemFree((void **)&hwCapture); - return ret; - } - *capture = &hwCapture->common; - hwAdapter->adapterMgrCaptureFlag++; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioAdapterDestroyCapture(struct AudioAdapter *adapter, struct AudioCapture *capture) -{ - int32_t ret; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || capture == NULL) { - AUDIO_FUNC_LOGE("hwAdapter or capture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwAdapter->adapterMgrCaptureFlag > 0) { - hwAdapter->adapterMgrCaptureFlag--; - } - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - if (hwCapture->captureParam.frameCaptureMode.buffer != NULL) { - ret = capture->control.Stop((AudioHandle)capture); - if (ret < 0) { - AUDIO_FUNC_LOGE("capture Stop failed! ret = %{public}d", ret); - } - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("lib capture func not exist"); - return HDF_FAILURE; - } - ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTRL_CAPTURE_CLOSE); - if (ret < 0) { - AUDIO_FUNC_LOGE("CAPTURE_CLOSE FAIL"); - } - AudioReleaseCaptureHandle(hwCapture); - AudioMemFree((void **)&hwCapture->captureParam.frameCaptureMode.buffer); - for (int i = 0; i < ERROR_LOG_MAX_NUM; i++) { - AudioMemFree((void **)&hwCapture->errorLog.errorDump[i].reason); - AudioMemFree((void **)&hwCapture->errorLog.errorDump[i].currentTime); - } - AudioMemFree((void **)&capture); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioAdapterGetPortCapability(struct AudioAdapter *adapter, const struct AudioPort *port, - struct AudioPortCapability *capability) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter == NULL || port == NULL || capability == NULL) { - AUDIO_FUNC_LOGE("hwAdapter or port or capability is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioPortAndCapability *hwAdapterPortCapabilitys = hwAdapter->portCapabilitys; - if (hwAdapterPortCapabilitys == NULL) { - AUDIO_FUNC_LOGE("hwAdapter portCapabilitys is NULL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - while (hwAdapterPortCapabilitys != NULL && portNum) { - if (hwAdapterPortCapabilitys->port.portId == port->portId) { - *capability = hwAdapterPortCapabilitys->capability; - return AUDIO_HAL_SUCCESS; - } - hwAdapterPortCapabilitys++; - portNum--; - } - return AUDIO_HAL_ERR_INTERNAL; -} - -int32_t AudioAdapterSetPassthroughModeExec(struct AudioHwAdapter *hwAdapter, uint32_t portId, - enum AudioPortPassthroughMode mode) -{ - if (hwAdapter == NULL) { - AUDIO_FUNC_LOGE("hwAdapter is null!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwAdapter->portCapabilitys == NULL) { - AUDIO_FUNC_LOGE("portCapabilitys is null!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioPortAndCapability *portCapabilityTemp = hwAdapter->portCapabilitys; - struct AudioPortCapability *portCapability = NULL; - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - while (portCapabilityTemp != NULL && portNum > 0) { - if (portCapabilityTemp->port.portId == portId) { - portCapability = &portCapabilityTemp->capability; - break; - } - portCapabilityTemp++; - portNum--; - } - if (portCapability == NULL || portNum == 0) { - AUDIO_FUNC_LOGE("hwAdapter portCapabilitys is Not Find!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioSubPortCapability *subPortCapability = portCapability->subPorts; - if (subPortCapability == NULL) { - AUDIO_FUNC_LOGE("portCapability->subPorts is NULL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t subPortNum = portCapability->subPortsNum; - while (subPortCapability != NULL && subPortNum > 0) { - if (subPortCapability->mask == mode) { - portCapabilityTemp->mode = mode; - break; - } - subPortCapability++; - subPortNum--; - } - if (subPortNum > 0) { - return AUDIO_HAL_SUCCESS; - } - return AUDIO_HAL_ERR_INTERNAL; -} - -int32_t AudioAdapterSetPassthroughMode(struct AudioAdapter *adapter, - const struct AudioPort *port, enum AudioPortPassthroughMode mode) -{ - if (adapter == NULL || port == NULL) { - AUDIO_FUNC_LOGE("adapter or format is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (port->dir != PORT_OUT) { - AUDIO_FUNC_LOGE("port->dir is invalid!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->portCapabilitys == NULL) { - AUDIO_FUNC_LOGE("The pointer is null!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AudioAdapterSetPassthroughModeExec(hwAdapter, port->portId, mode); - return ret; -} - -int32_t AudioAdapterGetPassthroughMode(struct AudioAdapter *adapter, const struct AudioPort *port, - enum AudioPortPassthroughMode *mode) -{ - if (adapter == NULL || port == NULL || mode == NULL) { - AUDIO_FUNC_LOGE("adapter or port or mode is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (port->dir != PORT_OUT || port->portId < 0) { - AUDIO_FUNC_LOGE("port->dir or port->portId is invalid!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (hwAdapter->portCapabilitys == NULL) { - AUDIO_FUNC_LOGE("portCapabilitys pointer is null!"); - return AUDIO_HAL_ERR_INTERNAL; - } - struct AudioPortAndCapability *portCapabilitys = hwAdapter->portCapabilitys; - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - while (portCapabilitys != NULL && portNum > 0) { - if (portCapabilitys->port.portId == port->portId) { - *mode = portCapabilitys->mode; - return AUDIO_HAL_SUCCESS; - } - portCapabilitys++; - portNum--; - } - return AUDIO_HAL_ERR_INTERNAL; -} - -int32_t AudioAdapterSetMicMute(struct AudioAdapter *adapter, bool mute) -{ - (void)adapter; - (void)mute; - return HDF_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterGetMicMute(struct AudioAdapter *adapter, bool *mute) -{ - (void)adapter; - (void)mute; - return HDF_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterSetVoiceVolume(struct AudioAdapter *adapter, float volume) -{ - (void)adapter; - (void)volume; - return HDF_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterUpdateAudioRoute(struct AudioAdapter *adapter, const struct AudioRoute *route, int32_t *routeHandle) -{ - if (route == NULL || routeHandle == NULL || route->sinks == NULL || route->sources == NULL) { - AUDIO_FUNC_LOGE("some of the params in AudioAdapterUpdateAudioRoute null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - (void)adapter; - (void)routeHandle; - - AUDIO_FUNC_LOGE("portId = %d", route->sinks[0].portId); - AUDIO_FUNC_LOGE("sinks' device type = %d", route->sinks[0].ext.device.type); - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterReleaseAudioRoute(struct AudioAdapter *adapter, int32_t routeHandle) -{ - (void)adapter; - (void)routeHandle; - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterSetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, const char *value) -{ - (void)adapter; - (void)key; - (void)condition; - (void)value; - return HDF_ERR_NOT_SUPPORT; -} - -int32_t AudioAdapterGetExtraParams(struct AudioAdapter *adapter, enum AudioExtParamKey key, - const char *condition, char *value, int32_t length) -{ - (void)adapter; - (void)key; - (void)condition; - (void)value; - (void)length; - return HDF_ERR_NOT_SUPPORT; -} diff --git a/audio/hal/hdi_passthrough/src/audio_adapter_info_common.c b/audio/hal/hdi_passthrough/src/audio_adapter_info_common.c index 5f19e1439ca5f5111f7ea9cc843d18113f59f454..bbe95bd7ec213b1b305b678fe808cc5f909656ec 100644 --- a/audio/hal/hdi_passthrough/src/audio_adapter_info_common.c +++ b/audio/hal/hdi_passthrough/src/audio_adapter_info_common.c @@ -17,12 +17,10 @@ #include #include #include "audio_uhdf_log.h" -#include "cJSON.h" #include "osal_mem.h" #define HDF_LOG_TAG HDF_AUDIO_HAL_IMPL -#define AUDIO_ADAPTER_CONFIG HDF_CONFIG_DIR"/audio_adapter.json" #define ADAPTER_NAME_LEN 32 #define PORT_NAME_LEN ADAPTER_NAME_LEN #define SUPPORT_PORT_NUM_MAX 10 @@ -35,7 +33,6 @@ int32_t g_adapterNum = 0; struct AudioAdapterDescriptor *g_audioAdapterDescs = NULL; -static const char *g_captureSoPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); struct AudioAdapterDescriptor *AudioAdapterGetConfigDescs(void) { @@ -191,52 +188,6 @@ int32_t AudioAdapterCheckPortId(const char *adapterName, uint32_t portId) return HDF_SUCCESS; } -static InterfaceLibGetCardInfoSo AudioGetCardInfoFunc(void) -{ - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(g_captureSoPath, pathBuf) == NULL) { - AUDIO_FUNC_LOGE("file path verification failed"); - return NULL; - } - void *handle = dlopen(pathBuf, RTLD_LAZY); - if (handle == NULL) { - AUDIO_FUNC_LOGE("open lib capture so fail, reason:%{public}s", dlerror()); - return NULL; - } - - InterfaceLibGetCardInfoSo cardInfo = dlsym(handle, "AudioGetAllCardInfo"); - if (cardInfo == NULL) { - AUDIO_FUNC_LOGE("lib capture so func not found! %{public}s", dlerror()); - AudioDlClose(&handle); - return NULL; - } - - return cardInfo; -} - -int32_t AudioAdaptersForUser(struct AudioAdapterDescriptor **descs, int *size) -{ - if (descs == NULL || size == NULL) { - AUDIO_FUNC_LOGE("param descs or size is null!"); - return HDF_ERR_INVALID_PARAM; - } - - InterfaceLibGetCardInfoSo getCardInfo = AudioGetCardInfoFunc(); - if (getCardInfo == NULL) { - AUDIO_FUNC_LOGE("AudioGetCardInfoFunc is failed!"); - return HDF_FAILURE; - } - - if (getCardInfo(descs, size) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("AudioSoGetInterfaceLibCardInfo is failed!"); - return HDF_FAILURE; - } - - g_audioAdapterDescs = *descs; - g_adapterNum = *size; - return HDF_SUCCESS; -} - bool ReleaseAudioManagerObjectComm(const struct AudioManager *object) { if (object == NULL) { diff --git a/audio/hal/hdi_passthrough/src/audio_capture.c b/audio/hal/hdi_passthrough/src/audio_capture.c deleted file mode 100644 index f440196596133cc064d9997c0fa748a5409cd7bd..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_passthrough/src/audio_capture.c +++ /dev/null @@ -1,966 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_capture.h" -#include "audio_adapter_info_common.h" -#include "audio_interface_lib_capture.h" -#include "audio_uhdf_log.h" -#include "osal_mem.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_IMPL - -#define CONFIG_FRAME_SIZE (1024 * 2 * 1) -#define FRAME_SIZE 1024 -#define BITS_TO_FROMAT 3 -#define VOLUME_AVERAGE 2 -#define INTEGER_TO_DEC 10 -#define DECIMAL_PART 5 - -#define CONFIG_FRAME_COUNT ((8000 * 2 * 1 + (CONFIG_FRAME_SIZE - 1)) / CONFIG_FRAME_SIZE) - -/* add For Capture Bytes To Frames */ -int32_t AudioCaptureStart(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("The hwCapture is NULL"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwCapture->captureParam.frameCaptureMode.buffer != NULL) { - AUDIO_FUNC_LOGE("AudioCapture already start!"); - return AUDIO_HAL_ERR_AI_BUSY; // capture is busy now - } - if (hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTRL_START_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureStart SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - char *tbuffer = (char *)OsalMemCalloc(FRAME_DATA); - if (tbuffer == NULL) { - AUDIO_FUNC_LOGE("alloc Capture tbuffer Fail!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwCapture->captureParam.frameCaptureMode.buffer = tbuffer; - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Capture Start"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureStop(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwCapture->captureParam.frameCaptureMode.buffer != NULL) { - AudioMemFree((void **)&hwCapture->captureParam.frameCaptureMode.buffer); - } else { - AUDIO_FUNC_LOGE("Repeat invalid stop operation!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTRL_STOP_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureStop SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Capture Stop"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCapturePause(AudioHandle handle) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is empty"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->captureParam.frameCaptureMode.buffer == NULL) { - AUDIO_FUNC_LOGE("AudioCapture already stop!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwCapture->captureParam.captureMode.ctlParam.pause) { - AUDIO_FUNC_LOGE("Audio capture is already pause!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - if (hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool pauseStatus = hwCapture->captureParam.captureMode.ctlParam.pause; - hwCapture->captureParam.captureMode.ctlParam.pause = true; - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_PAUSE_WRITE_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Audio Capture Pause FAIL!"); - hwCapture->captureParam.captureMode.ctlParam.pause = pauseStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Capture Pause"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureResume(AudioHandle handle) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (!hwCapture->captureParam.captureMode.ctlParam.pause) { - AUDIO_FUNC_LOGE("Audio capture is already Resume !"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - if (hwCapture->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("Capture Start Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool resumeStatus = hwCapture->captureParam.captureMode.ctlParam.pause; - hwCapture->captureParam.captureMode.ctlParam.pause = false; - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_PAUSE_WRITE_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Audio capture Resume FAIL!"); - hwCapture->captureParam.captureMode.ctlParam.pause = resumeStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Capture Resume"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureFlush(AudioHandle handle) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioCaptureGetFrameSize(AudioHandle handle, uint64_t *size) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || size == NULL) { - AUDIO_FUNC_LOGE("hwCapture or size is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t channelCount = hwCapture->captureParam.frameCaptureMode.attrs.channelCount; - enum AudioFormat format = hwCapture->captureParam.frameCaptureMode.attrs.format; - uint32_t formatBitsCapture = 0; - int32_t ret = FormatToBits(format, &formatBitsCapture); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("FormatToBits failed! ret = %{public}d", ret); - return ret; - } - *size = FRAME_SIZE * channelCount * (formatBitsCapture >> BITS_TO_FROMAT); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetFrameCount(AudioHandle handle, uint64_t *count) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || count == NULL) { - AUDIO_FUNC_LOGE("hwCapture or count is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *count = hwCapture->captureParam.frameCaptureMode.frames; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureSetSampleAttributes(AudioHandle handle, const struct AudioSampleAttributes *attrs) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("hwCapture or attrs is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioCheckParaAttr(attrs); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("udioCheckParaAttr failed! ret = %{public}d", ret); - return ret; - } - struct AudioSampleAttributes tempAttrs = hwCapture->captureParam.frameCaptureMode.attrs; - hwCapture->captureParam.frameCaptureMode.attrs.format = attrs->format; - hwCapture->captureParam.frameCaptureMode.attrs.sampleRate = attrs->sampleRate; - hwCapture->captureParam.frameCaptureMode.attrs.channelCount = attrs->channelCount; - hwCapture->captureParam.frameCaptureMode.attrs.interleaved = attrs->interleaved; - hwCapture->captureParam.frameCaptureMode.attrs.type = attrs->type; - hwCapture->captureParam.frameCaptureMode.attrs.period = attrs->period; - hwCapture->captureParam.frameCaptureMode.attrs.frameSize = attrs->frameSize; - hwCapture->captureParam.frameCaptureMode.attrs.isBigEndian = attrs->isBigEndian; - hwCapture->captureParam.frameCaptureMode.attrs.isSignedData = attrs->isSignedData; - hwCapture->captureParam.frameCaptureMode.attrs.startThreshold = attrs->startThreshold; - hwCapture->captureParam.frameCaptureMode.attrs.stopThreshold = attrs->stopThreshold; - hwCapture->captureParam.frameCaptureMode.attrs.silenceThreshold = attrs->silenceThreshold; - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - hwCapture->captureParam.frameCaptureMode.attrs = tempAttrs; - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwCapture->devDataHandle == NULL) { - hwCapture->captureParam.frameCaptureMode.attrs = tempAttrs; - return AUDIO_HAL_ERR_INTERNAL; - } - ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTL_HW_PARAMS); - if (ret < 0) { - AUDIO_FUNC_LOGE("CaptureSetSampleAttributes FAIL"); - hwCapture->captureParam.frameCaptureMode.attrs = tempAttrs; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetSampleAttributes(AudioHandle handle, struct AudioSampleAttributes *attrs) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("hwCapture or attrs is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - attrs->format = hwCapture->captureParam.frameCaptureMode.attrs.format; - attrs->sampleRate = hwCapture->captureParam.frameCaptureMode.attrs.sampleRate; - attrs->channelCount = hwCapture->captureParam.frameCaptureMode.attrs.channelCount; - attrs->interleaved = hwCapture->captureParam.frameCaptureMode.attrs.interleaved; - attrs->type = hwCapture->captureParam.frameCaptureMode.attrs.type; - attrs->period = hwCapture->captureParam.frameCaptureMode.attrs.period; - attrs->frameSize = hwCapture->captureParam.frameCaptureMode.attrs.frameSize; - attrs->isBigEndian = hwCapture->captureParam.frameCaptureMode.attrs.isBigEndian; - attrs->isSignedData = hwCapture->captureParam.frameCaptureMode.attrs.isSignedData; - attrs->startThreshold = hwCapture->captureParam.frameCaptureMode.attrs.startThreshold; - attrs->stopThreshold = hwCapture->captureParam.frameCaptureMode.attrs.stopThreshold; - attrs->silenceThreshold = hwCapture->captureParam.frameCaptureMode.attrs.silenceThreshold; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetCurrentChannelId(AudioHandle handle, uint32_t *channelId) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || channelId == NULL) { - AUDIO_FUNC_LOGE("hwCapture or channelId is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *channelId = hwCapture->captureParam.frameCaptureMode.attrs.channelCount; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene, - bool *supported) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || scene == NULL || supported == NULL) { - AUDIO_FUNC_LOGE("hwCapture or scene or supported is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - *supported = false; - /* Temporary storage does not save the structure */ - struct AudioHwCaptureParam captureParam = hwCapture->captureParam; - captureParam.frameCaptureMode.attrs.type = (enum AudioCategory)scene->scene.id; - captureParam.captureMode.hwInfo.deviceDescript.pins = scene->desc.pins; - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL || *pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("pPathSelAnalysisJson Is NULL!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - int32_t ret = (*pPathSelAnalysisJson)((void *)&captureParam, CHECKSCENE_PATH_SELECT_CAPTURE); - if (ret < 0) { - if (ret == AUDIO_HAL_ERR_NOT_SUPPORT) { - AUDIO_FUNC_LOGE("AudioCaptureCheckSceneCapability not Support!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } else { - AUDIO_FUNC_LOGE("AudioCaptureCheckSceneCapability fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - } - *supported = true; - return AUDIO_HAL_SUCCESS; -#else - return AUDIO_HAL_ERR_NOT_SUPPORT; -#endif -} - -int32_t AudioCaptureSelectScene(AudioHandle handle, const struct AudioSceneDescriptor *scene) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || scene == NULL) { - AUDIO_FUNC_LOGE("hwCapture or scene is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureSelectScene Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL || *pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("pPathSelAnalysisJson Is NULL!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - enum AudioCategory typeTemp = hwCapture->captureParam.frameCaptureMode.attrs.type; - enum AudioPortPin pinsTemp = hwCapture->captureParam.captureMode.hwInfo.deviceDescript.pins; - hwCapture->captureParam.frameCaptureMode.attrs.type = (enum AudioCategory)(scene->scene.id); - hwCapture->captureParam.captureMode.hwInfo.deviceDescript.pins = scene->desc.pins; - if ((*pPathSelAnalysisJson)((void *)&hwCapture->captureParam, CAPTURE_PATH_SELECT) < 0) { - AUDIO_FUNC_LOGE("AudioCaptureSelectScene Fail!"); - hwCapture->captureParam.frameCaptureMode.attrs.type = typeTemp; - hwCapture->captureParam.captureMode.hwInfo.deviceDescript.pins = pinsTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Is NULL"); - hwCapture->captureParam.frameCaptureMode.attrs.type = typeTemp; - hwCapture->captureParam.captureMode.hwInfo.deviceDescript.pins = pinsTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devCtlHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_SCENESELECT_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetSelectSceneParams FAIL!"); - hwCapture->captureParam.frameCaptureMode.attrs.type = typeTemp; - hwCapture->captureParam.captureMode.hwInfo.deviceDescript.pins = pinsTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -#else - return AUDIO_HAL_ERR_NOT_SUPPORT; -#endif -} - -int32_t AudioCaptureSetMute(AudioHandle handle, bool mute) -{ - struct AudioHwCapture *impl = (struct AudioHwCapture *)handle; - if (impl == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureSetMute Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool muteStatus = impl->captureParam.captureMode.ctlParam.mute; - impl->captureParam.captureMode.ctlParam.mute = mute; - int32_t ret = (*pInterfaceLibModeCapture)(impl->devCtlHandle, &impl->captureParam, - AUDIODRV_CTL_IOCTL_MUTE_WRITE_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetMute SetParams FAIL"); - impl->captureParam.captureMode.ctlParam.mute = muteStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [Setmute = %d]", __FILE__, __func__, __LINE__, mute); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetMute(AudioHandle handle, bool *mute) -{ - struct AudioHwCapture *impl = (struct AudioHwCapture *)handle; - if (impl == NULL || mute == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureGetMute Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(impl->devCtlHandle, &impl->captureParam, - AUDIODRV_CTL_IOCTL_MUTE_READ_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetMute SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - *mute = impl->captureParam.captureMode.ctlParam.mute; - AUDIO_FUNC_LOGI("Get Mute SUCCESS!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureSetVolume(AudioHandle handle, float volume) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - float volumeTemp = hwCapture->captureParam.captureMode.ctlParam.volume; - float volMax = (float)hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMax; - float volMin = (float)hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMin; - if (hwCapture->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (volume < 0 || volume > 1) { - AUDIO_FUNC_LOGE("set volume [%{public}f] out of range:[0-1]!", volume); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - volume = (volume == 0) ? 1 : (volume * VOLUME_CHANGE); - /* change volume to db */ - float volTemp = ((volMax - volMin) / 2) * log10(volume) + volMin; - if (volTemp < volMin || volTemp > volMax) { - AUDIO_FUNC_LOGE("volTemp fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwCapture->captureParam.captureMode.ctlParam.volume = volTemp; - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devCtlHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_ELEM_WRITE_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - hwCapture->captureParam.captureMode.ctlParam.volume = volumeTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetVolume(AudioHandle handle, float *volume) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || volume == NULL) { - AUDIO_FUNC_LOGE("hwCapture or volume is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devCtlHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_ELEM_READ_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get Volume FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - float volumeTemp = hwCapture->captureParam.captureMode.ctlParam.volume; - float volMax = (float)hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMax; - float volMin = (float)hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMin; - if ((volMax - volMin) == 0) { - AUDIO_FUNC_LOGE("Divisor cannot be zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - volumeTemp = (volumeTemp - volMin) / ((volMax - volMin) / VOLUME_AVERAGE); - int volumeT = (int)((pow(INTEGER_TO_DEC, volumeTemp) + DECIMAL_PART) / INTEGER_TO_DEC); // delete 0.X num - *volume = (float)volumeT / INTEGER_TO_DEC; // get volume (0-1) - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetGainThreshold(AudioHandle handle, float *min, float *max) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL || min == NULL || max == NULL) { - AUDIO_FUNC_LOGE("hwCapture or min or max is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("AudioCaptureGetGainThreshold Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devCtlHandle, &hwCapture->captureParam, - AUDIODRV_CTL_IOCTL_GAINTHRESHOLD_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *max = hwCapture->captureParam.captureMode.ctlParam.audioGain.gainMax; - *min = hwCapture->captureParam.captureMode.ctlParam.audioGain.gainMin; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetGain(AudioHandle handle, float *gain) -{ - struct AudioHwCapture *impl = (struct AudioHwCapture *)handle; - if (impl == NULL || gain == NULL) { - AUDIO_FUNC_LOGE("impl or gain is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(impl->devCtlHandle, &impl->captureParam, - AUDIODRV_CTL_IOCTL_GAIN_READ_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get Volume FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *gain = impl->captureParam.captureMode.ctlParam.audioGain.gain; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureSetGain(AudioHandle handle, float gain) -{ - struct AudioHwCapture *impl = (struct AudioHwCapture *)handle; - if (impl == NULL || gain < 0) { - AUDIO_FUNC_LOGE("impl is null or gain < 0!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("CaptureSetGain Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - float gainTemp = impl->captureParam.captureMode.ctlParam.audioGain.gain; - impl->captureParam.captureMode.ctlParam.audioGain.gain = gain; - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - impl->captureParam.captureMode.ctlParam.audioGain.gain = gainTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(impl->devCtlHandle, &impl->captureParam, - AUDIODRV_CTL_IOCTL_GAIN_WRITE_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("CaptureSetGain FAIL!"); - impl->captureParam.captureMode.ctlParam.audioGain.gain = gainTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t LogErrorGetRensonAndTime(struct AudioHwCapture *hwCapture, int errorReason) -{ - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("param hwCapture is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->errorLog.iter >= ERROR_LOG_MAX_NUM) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].reason == NULL) { - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].reason - = (char *)OsalMemCalloc(ERROR_REASON_DESC_LEN); - if (hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].reason == NULL) { - AUDIO_FUNC_LOGE("alloc reasonDesc Fail!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - } - if (hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].currentTime == NULL) { - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].currentTime - = (char *)OsalMemCalloc(ERROR_REASON_DESC_LEN); - if (hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].currentTime == NULL) { - AUDIO_FUNC_LOGE("alloc time Fail!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - } - (void)memset_s(hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].reason, - ERROR_REASON_DESC_LEN, 0, ERROR_REASON_DESC_LEN); - (void)memset_s(hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].currentTime, - ERROR_REASON_DESC_LEN, 0, ERROR_REASON_DESC_LEN); - int32_t ret = GetErrorReason(errorReason, hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].reason); - if (ret < 0) { - AUDIO_FUNC_LOGE("Capture GetErrorReason failed! ret = %{public}d", ret); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = GetCurrentTime(hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].currentTime); - if (ret < 0) { - AUDIO_FUNC_LOGE("Capture GetCurrentTime failed!"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static void LogErrorCapture(AudioHandle handle, int errorCode, int reason) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)handle; - if (hwCapture == NULL) { - AUDIO_FUNC_LOGE("hwCapture is null!"); - return; - } - hwCapture->errorLog.totalErrors++; - if (hwCapture->errorLog.iter >= ERROR_LOG_MAX_NUM) { - hwCapture->errorLog.iter = 0; - } - int32_t ret = LogErrorGetRensonAndTime(hwCapture, reason); - if (ret < 0) { - return; - } - if (errorCode == WRITE_FRAME_ERROR_CODE) { - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].errorCode = errorCode; - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].count = (int32_t)hwCapture->errorLog.iter; - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].frames = - hwCapture->captureParam.frameCaptureMode.frames; - hwCapture->errorLog.iter++; - } -} - -int32_t AudioCaptureCaptureFrame(struct AudioCapture *capture, void *frame, - uint64_t requestBytes, uint64_t *replyBytes) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - if (hwCapture == NULL || frame == NULL || replyBytes == NULL || - hwCapture->captureParam.frameCaptureMode.buffer == NULL) { - AUDIO_FUNC_LOGE("Param is NULL Fail!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwCapture->devDataHandle == NULL) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(hwCapture->devDataHandle, &hwCapture->captureParam, - AUDIO_DRV_PCM_IOCTL_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("Capture Frame FAIL!"); - LogErrorCapture(capture, WRITE_FRAME_ERROR_CODE, ret); - return AUDIO_HAL_ERR_INTERNAL; - } - if (requestBytes < hwCapture->captureParam.frameCaptureMode.bufferSize) { - AUDIO_FUNC_LOGE("Capture Frame requestBytes too little!"); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = memcpy_s(frame, (size_t)requestBytes, hwCapture->captureParam.frameCaptureMode.buffer, - (size_t)hwCapture->captureParam.frameCaptureMode.bufferSize); - if (ret != EOK) { - AUDIO_FUNC_LOGE("memcpy_s fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - *replyBytes = hwCapture->captureParam.frameCaptureMode.bufferSize; - hwCapture->captureParam.frameCaptureMode.frames += hwCapture->captureParam.frameCaptureMode.bufferFrameSize; - if (hwCapture->captureParam.frameCaptureMode.attrs.sampleRate == 0) { - AUDIO_FUNC_LOGE("Divisor cannot be zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (TimeToAudioTimeStamp(hwCapture->captureParam.frameCaptureMode.bufferFrameSize, - &hwCapture->captureParam.frameCaptureMode.time, - hwCapture->captureParam.frameCaptureMode.attrs.sampleRate) == HDF_FAILURE) { - AUDIO_FUNC_LOGE("Frame is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetCapturePosition(struct AudioCapture *capture, uint64_t *frames, struct AudioTimeStamp *time) -{ - struct AudioHwCapture *impl = (struct AudioHwCapture *)capture; - if (impl == NULL || frames == NULL || time == NULL) { - AUDIO_FUNC_LOGE("impl or frames or time is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *frames = impl->captureParam.frameCaptureMode.frames; - *time = impl->captureParam.frameCaptureMode.time; - return AUDIO_HAL_SUCCESS; -} - -static int32_t SetValueCapture(struct ExtraParams mExtraParams, struct AudioHwCapture *capture) -{ - if (capture == NULL) { - AUDIO_FUNC_LOGE("param capture is null!"); - return HDF_FAILURE; - } - if (mExtraParams.route != -1) { - capture->captureParam.captureMode.hwInfo.pathroute = mExtraParams.route; - } - if (mExtraParams.format != -1) { - capture->captureParam.frameCaptureMode.attrs.format = mExtraParams.format; - } - if (mExtraParams.channels != 0) { - capture->captureParam.frameCaptureMode.attrs.channelCount = mExtraParams.channels; - } - if (mExtraParams.flag) { - capture->captureParam.frameCaptureMode.frames = mExtraParams.frames; - } - if (mExtraParams.sampleRate != 0) { - capture->captureParam.frameCaptureMode.attrs.sampleRate = mExtraParams.sampleRate; - } - return HDF_SUCCESS; -} - -int32_t AudioCaptureSetExtraParams(AudioHandle handle, const char *keyValueList) -{ - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL || keyValueList == NULL) { - AUDIO_FUNC_LOGE("capture or keyValueList is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t sumOk = 0; - struct ExtraParams mExtraParams; - int32_t count = 0; - if (AudioSetExtraParams(keyValueList, &count, &mExtraParams, &sumOk) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (count != 0 && sumOk == count) { - SetValueCapture(mExtraParams, capture); - return AUDIO_HAL_SUCCESS; - } else { - return AUDIO_HAL_ERR_INTERNAL; - } -} - -int32_t AudioCaptureGetExtraParams(const AudioHandle handle, char *keyValueList, int32_t listLenth) -{ - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL || keyValueList == NULL || listLenth <= 0) { - AUDIO_FUNC_LOGE("capture or keyValueList is null or listLenth <= 0."); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t bufferSize = strlen(ROUTE_SAMPLE) + strlen(FORMAT_SAMPLE) + strlen(CHANNELS_SAMPLE) - + strlen(FRAME_COUNT_SAMPLE) + strlen(SAMPLING_RATE_SAMPLE) + 1; - if (listLenth < bufferSize) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_ROUTE, - &capture->captureParam.captureMode.hwInfo.pathroute); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, - AUDIO_ATTR_PARAM_FORMAT, &capture->captureParam.frameCaptureMode.attrs.format); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_CHANNELS, - &capture->captureParam.frameCaptureMode.attrs.channelCount); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_FRAME_COUNT, - &capture->captureParam.frameCaptureMode.frames); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_SAMPLING_RATE, - &capture->captureParam.frameCaptureMode.attrs.sampleRate); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t AudioCaptureReqMmapBufferInit(struct AudioHwCapture *capture, int32_t reqSize, - struct AudioMmapBufferDescriptor *desc) -{ - if (capture == NULL || capture->devDataHandle == NULL || desc == NULL) { - AUDIO_FUNC_LOGE("capture or capture->devDataHandle or desc is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t flags; - if (desc->isShareable) { - flags = MAP_SHARED; - } else { - flags = MAP_PRIVATE; - } - uint32_t formatBits = 0; - int32_t ret = FormatToBits(capture->captureParam.frameCaptureMode.attrs.format, &formatBits); - if (ret < 0) { - return ret; - } - int64_t filesize = lseek(desc->memoryFd, 0, SEEK_END); - if ((int64_t)reqSize > filesize) { - AUDIO_FUNC_LOGE("reqSize is out of file Size!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - desc->memoryAddress = mmap(NULL, reqSize, PROT_READ | PROT_WRITE, flags, desc->memoryFd, 0); - if (desc->memoryAddress == NULL || desc->memoryAddress == (void *)-1) { - AUDIO_FUNC_LOGE("AudioCaptureReqMmapBuffer mmap fail and errno is:%{public}d !", errno); - return AUDIO_HAL_ERR_INTERNAL; - } - // formatBits Move right 3 - desc->totalBufferFrames = - reqSize / (int32_t)(capture->captureParam.frameCaptureMode.attrs.channelCount * (formatBits >> BITS_TO_FROMAT)); - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Is NULL"); - munmap(desc->memoryAddress, reqSize); - return AUDIO_HAL_ERR_INTERNAL; - } - capture->captureParam.frameCaptureMode.mmapBufDesc.memoryAddress = desc->memoryAddress; - capture->captureParam.frameCaptureMode.mmapBufDesc.memoryFd = desc->memoryFd; - capture->captureParam.frameCaptureMode.mmapBufDesc.totalBufferFrames = desc->totalBufferFrames; - capture->captureParam.frameCaptureMode.mmapBufDesc.transferFrameSize = desc->transferFrameSize; - capture->captureParam.frameCaptureMode.mmapBufDesc.isShareable = desc->isShareable; - capture->captureParam.frameCaptureMode.mmapBufDesc.offset = desc->offset; - ret = (*pInterfaceLibModeCapture)(capture->devDataHandle, &capture->captureParam, - AUDIO_DRV_PCM_IOCTL_MMAP_BUFFER_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureReqMmapBuffer FAIL!"); - munmap(desc->memoryAddress, reqSize); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureReqMmapBuffer(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc) -{ - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL || capture->devDataHandle == NULL || desc == NULL) { - AUDIO_FUNC_LOGE("capture or capture->devDataHandle or desc is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioCaptureReqMmapBufferInit(capture, reqSize, desc); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureReqMmapBufferInit failed! ret = %{public}d", ret); - return ret; - } - AUDIO_FUNC_LOGI("Success!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureGetMmapPosition(AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time) -{ - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL || frames == NULL || time == NULL) { - AUDIO_FUNC_LOGE("capture or frames or time is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeCaptureSo *pInterfaceLibModeCapture = AudioSoGetInterfaceLibModeCapture(); - if (pInterfaceLibModeCapture == NULL || *pInterfaceLibModeCapture == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeCapture Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (capture->devDataHandle == NULL) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeCapture)(capture->devDataHandle, &capture->captureParam, - AUDIO_DRV_PCM_IOCTL_MMAP_POSITION_CAPTURE); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetMmapPosition SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - AUDIO_FUNC_LOGI("GetMmapPosition SUCCESS!"); - *frames = capture->captureParam.frameCaptureMode.frames; - capture->captureParam.frameCaptureMode.time.tvSec = (int64_t)(capture->captureParam.frameCaptureMode.frames / - capture->captureParam.frameCaptureMode.attrs.sampleRate); - uint64_t lastBufFrames = capture->captureParam.frameCaptureMode.frames % - capture->captureParam.frameCaptureMode.attrs.sampleRate; - capture->captureParam.frameCaptureMode.time.tvNSec = - (int64_t)((lastBufFrames * SEC_TO_NSEC) / capture->captureParam.frameCaptureMode.attrs.sampleRate); - *time = capture->captureParam.frameCaptureMode.time; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureAddEffect(AudioHandle handle, uint64_t effectid) -{ - (void)handle; - (void)effectid; - AUDIO_FUNC_LOGI("add capture effect success"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureRemoveEffect(AudioHandle handle, uint64_t effectid) -{ - (void)handle; - (void)effectid; - AUDIO_FUNC_LOGI("remove capture effect success"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureTurnStandbyMode(AudioHandle handle) -{ - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL) { - AUDIO_FUNC_LOGE("capture is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - capture->captureParam.captureMode.hwInfo.deviceDescript.pins = PIN_NONE; - int32_t ret = AudioCaptureStop((AudioHandle)capture); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioCaptureStop failed! ret = %{public}d", ret); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCaptureAudioDevDump(AudioHandle handle, int32_t range, int32_t fd) -{ - uint32_t i; - struct AudioHwCapture *capture = (struct AudioHwCapture *)handle; - if (capture == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - dprintf(fd, "%s%d\n", "Number of errors: ", capture->errorLog.totalErrors); - if (range < RANGE_MIN - 1 || range > RANGE_MAX) { - dprintf(fd, "%s\n", "Out of range, invalid output"); - return AUDIO_HAL_SUCCESS; - } - uint32_t mSize = capture->errorLog.iter; - if (range < RANGE_MIN) { - dprintf(fd, "%-5s %-10s %s\n", "count", "errorCode", "Time"); - for (i = 0; i < mSize; i++) { - dprintf(fd, FORMAT_TWO, capture->errorLog.errorDump[i].count + 1, - capture->errorLog.errorDump[i].errorCode, - capture->errorLog.errorDump[i].currentTime); - } - } else { - dprintf(fd, "%-5s %-10s %-20s %-15s %s\n", "count", "errorCode", "frames", "fail reason", "Time"); - for (i = 0; i < mSize; i++) { - dprintf(fd, FORMAT_ONE, capture->errorLog.errorDump[i].count + 1, - capture->errorLog.errorDump[i].errorCode, - capture->errorLog.errorDump[i].frames, - capture->errorLog.errorDump[i].reason, - capture->errorLog.errorDump[i].currentTime); - } - } - return AUDIO_HAL_SUCCESS; -} diff --git a/audio/hal/hdi_passthrough/src/audio_manager.c b/audio/hal/hdi_passthrough/src/audio_manager.c deleted file mode 100644 index 0436a6956015a7ee110fd66aa58f1a0a2d422c95..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_passthrough/src/audio_manager.c +++ /dev/null @@ -1,436 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_manager.h" -#include -#include "osal_mem.h" -#include "audio_adapter_info_common.h" -#include "audio_interface_lib_capture.h" -#include "audio_interface_lib_render.h" -#include "audio_uhdf_log.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_IMPL - -static struct AudioManager g_audioManagerFuncs = {0}; -static bool g_audioAdapterAddrMgrFlag = false; - -BindServiceRenderSo g_bindServiceRender = NULL; -InterfaceLibModeRenderSo g_interfaceLibModeRender = NULL; -CloseServiceRenderSo g_closeServiceRender = NULL; - -BindServiceCaptureSo g_bindServiceCapture = NULL; -InterfaceLibModeCaptureSo g_interfaceLibModeCapture = NULL; -CloseServiceCaptureSo g_closeServiceCapture = NULL; - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT -PathSelGetConfToJsonObj g_pathSelGetConfToJsonObj = NULL; -PathSelAnalysisJson g_pathSelAnalysisJson = NULL; -#endif - -static const char *g_captureSoPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); -static const char *g_renderSoPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT -static const char *g_pathSelectSoPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_path_select"); -#endif - -static void *g_ptrCaptureHandle = NULL; -static void *g_ptrRenderHandle = NULL; - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT -static void *g_ptrPathSelHandle = NULL; -#endif - -BindServiceRenderSo *AudioSoGetBindServiceRender(void) -{ - return &g_bindServiceRender; -} - -InterfaceLibModeRenderSo *AudioSoGetInterfaceLibModeRender(void) -{ - return &g_interfaceLibModeRender; -} - -CloseServiceRenderSo *AudioSoGetCloseServiceRender(void) -{ - return &g_closeServiceRender; -} - -BindServiceCaptureSo *AudioSoGetBindServiceCapture(void) -{ - return &g_bindServiceCapture; -} - -InterfaceLibModeCaptureSo *AudioSoGetInterfaceLibModeCapture(void) -{ - return &g_interfaceLibModeCapture; -} - -CloseServiceCaptureSo *AudioSoGetCloseServiceCapture(void) -{ - return &g_closeServiceCapture; -} - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT -PathSelGetConfToJsonObj *AudioSoGetPathSelGetConfToJsonObj(void) -{ - return &g_pathSelGetConfToJsonObj; -} - -PathSelAnalysisJson *AudioSoGetPathSelAnalysisJson(void) -{ - return &g_pathSelAnalysisJson; -} -#endif - -static int32_t InitCaptureSoHandle(const char *captureSoPath) -{ - if (captureSoPath == NULL) { - AUDIO_FUNC_LOGE("captureSoPath is NULL"); - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(captureSoPath, pathBuf) == NULL) { - return HDF_FAILURE; - } - if (g_ptrCaptureHandle == NULL) { - g_ptrCaptureHandle = dlopen(pathBuf, RTLD_LAZY); - if (g_ptrCaptureHandle == NULL) { - AUDIO_FUNC_LOGE("open lib capture so fail, reason:%{public}s", dlerror()); - return HDF_FAILURE; - } - g_bindServiceCapture = dlsym(g_ptrCaptureHandle, "AudioBindService"); - g_interfaceLibModeCapture = dlsym(g_ptrCaptureHandle, "AudioInterfaceLibModeCapture"); - g_closeServiceCapture = dlsym(g_ptrCaptureHandle, "AudioCloseService"); - if (g_bindServiceCapture == NULL || g_interfaceLibModeCapture == NULL || g_closeServiceCapture == NULL) { - AUDIO_FUNC_LOGE("lib capture so func not found!"); - AudioDlClose(&g_ptrCaptureHandle); - return HDF_FAILURE; - } - } - return HDF_SUCCESS; -} - -static int32_t InitRenderSoHandle(const char *renderSoPath) -{ - if (renderSoPath == NULL) { - AUDIO_FUNC_LOGE("renderSoPath is NULL"); - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(renderSoPath, pathBuf) == NULL) { - return HDF_FAILURE; - } - if (g_ptrRenderHandle == NULL) { - g_ptrRenderHandle = dlopen(pathBuf, RTLD_LAZY); - if (g_ptrRenderHandle == NULL) { - AUDIO_FUNC_LOGE("open lib render so fail, reason:%{public}s", dlerror()); - return HDF_FAILURE; - } - g_bindServiceRender = dlsym(g_ptrRenderHandle, "AudioBindService"); - g_interfaceLibModeRender = dlsym(g_ptrRenderHandle, "AudioInterfaceLibModeRender"); - g_closeServiceRender = dlsym(g_ptrRenderHandle, "AudioCloseService"); - if (g_bindServiceRender == NULL || g_interfaceLibModeRender == NULL || g_closeServiceRender == NULL) { - AUDIO_FUNC_LOGE("lib render so func not found!"); - AudioDlClose(&g_ptrRenderHandle); - return HDF_FAILURE; - } - } - return HDF_SUCCESS; -} - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT -static int32_t InitPathSelectSoHandle(const char *pathSelectSoPath) -{ - if (pathSelectSoPath == NULL) { - AUDIO_FUNC_LOGE("pathSelectSoPath is NULL"); - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(pathSelectSoPath, pathBuf) == NULL) { - return HDF_FAILURE; - } - if (g_ptrPathSelHandle == NULL) { - g_ptrPathSelHandle = dlopen(pathBuf, RTLD_LAZY); - if (g_ptrPathSelHandle == NULL) { - AUDIO_FUNC_LOGE("open lib PathSelct so fail, reason:%s", dlerror()); - return HDF_FAILURE; - } - g_pathSelGetConfToJsonObj = dlsym(g_ptrPathSelHandle, "AudioPathSelGetConfToJsonObj"); - g_pathSelAnalysisJson = dlsym(g_ptrPathSelHandle, "AudioPathSelAnalysisJson"); - if (g_pathSelGetConfToJsonObj == NULL || g_pathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("lib PathSelct so func not found!"); - AudioDlClose(&g_ptrPathSelHandle); - return HDF_FAILURE; - } - } - return HDF_SUCCESS; -} -#endif - -static int32_t AudioInitDynamicLib(void) -{ - if (g_captureSoPath == NULL || g_renderSoPath == NULL) { - AUDIO_FUNC_LOGE("sopath is error"); - return AUDIO_HAL_ERR_INTERNAL; - } - - int32_t ret = InitCaptureSoHandle(g_captureSoPath); - if (ret < 0) { - AUDIO_FUNC_LOGE("InitCaptureSoHandle FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - - ret = InitRenderSoHandle(g_renderSoPath); - if (ret < 0) { - AUDIO_FUNC_LOGE("InitRenderSoHandle FAIL!"); - AudioDlClose(&g_ptrCaptureHandle); - return AUDIO_HAL_ERR_INTERNAL; - } - -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - ret = InitPathSelectSoHandle(g_pathSelectSoPath); - if (ret < 0 || g_pathSelGetConfToJsonObj == NULL) { - AUDIO_FUNC_LOGE("InitPathSelectSoHandle FAIL!"); - AudioDlClose(&g_ptrRenderHandle); - AudioDlClose(&g_ptrCaptureHandle); - return AUDIO_HAL_ERR_INTERNAL; - } - - ret = g_pathSelGetConfToJsonObj(); - if (ret < 0) { - AUDIO_FUNC_LOGE("g_pathSelGetConfToJsonObj FAIL!"); - AudioDlClose(&g_ptrRenderHandle); - AudioDlClose(&g_ptrCaptureHandle); - AudioDlClose(&g_ptrPathSelHandle); - return AUDIO_HAL_ERR_INTERNAL; - } -#endif - - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioManagerGetAllAdapters(struct AudioManager *manager, - struct AudioAdapterDescriptor **descs, - int *size) -{ - AUDIO_FUNC_LOGI(); - if (manager == NULL || descs == NULL || size == NULL) { - AUDIO_FUNC_LOGE("param manager or descs or size is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - int32_t ret = AudioInitDynamicLib(); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("AudioInitDynamicLib FAIL! ret = %{public}d", ret); - return ret; - } - - ret = AudioAdaptersForUser(descs, size); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioAdaptersForUser FAIL! ret = %{public}d", ret); - return AUDIO_HAL_ERR_NOTREADY; // Failed to read sound card configuration file - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t LoadAdapterPrimary(const struct AudioAdapterDescriptor *desc, struct AudioAdapter **adapter) -{ - if (desc == NULL || adapter == NULL) { - AUDIO_FUNC_LOGE("param desc or adapter is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)OsalMemCalloc(sizeof(*hwAdapter)); - if (hwAdapter == NULL) { - AUDIO_FUNC_LOGE("alloc AudioHwAdapter failed"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwAdapter->common.InitAllPorts = AudioAdapterInitAllPorts; - hwAdapter->common.CreateRender = AudioAdapterCreateRender; - hwAdapter->common.DestroyRender = AudioAdapterDestroyRender; - hwAdapter->common.CreateCapture = AudioAdapterCreateCapture; - hwAdapter->common.DestroyCapture = AudioAdapterDestroyCapture; - hwAdapter->common.GetPortCapability = AudioAdapterGetPortCapability; - hwAdapter->common.SetPassthroughMode = AudioAdapterSetPassthroughMode; - hwAdapter->common.GetPassthroughMode = AudioAdapterGetPassthroughMode; - hwAdapter->common.SetMicMute = AudioAdapterSetMicMute; - hwAdapter->common.GetMicMute = AudioAdapterGetMicMute; - hwAdapter->common.SetVoiceVolume = AudioAdapterSetVoiceVolume; - hwAdapter->common.UpdateAudioRoute = AudioAdapterUpdateAudioRoute; - hwAdapter->common.ReleaseAudioRoute = AudioAdapterReleaseAudioRoute; - hwAdapter->common.SetExtraParams = AudioAdapterSetExtraParams; - hwAdapter->common.GetExtraParams = AudioAdapterGetExtraParams; - hwAdapter->adapterDescriptor = *desc; - hwAdapter->adapterMgrRenderFlag = 0; // The adapterMgrRenderFlag init is zero - hwAdapter->adapterMgrCaptureFlag = 0; // The adapterMgrCaptureFlag init is zero - *adapter = &hwAdapter->common; - - return AUDIO_HAL_SUCCESS; -} - -static int32_t LoadAdapterUsb(const struct AudioAdapterDescriptor *desc, struct AudioAdapter **adapter) -{ - if (desc == NULL || adapter == NULL) { - AUDIO_FUNC_LOGE("param attrs or adapter is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)OsalMemCalloc(sizeof(*hwAdapter)); - if (hwAdapter == NULL) { - AUDIO_FUNC_LOGE("alloc AudioHwAdapter failed"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - hwAdapter->common.InitAllPorts = AudioAdapterInitAllPorts; - hwAdapter->common.CreateRender = AudioAdapterCreateRender; - hwAdapter->common.DestroyRender = AudioAdapterDestroyRender; - hwAdapter->common.CreateCapture = AudioAdapterCreateCapture; - hwAdapter->common.DestroyCapture = AudioAdapterDestroyCapture; - hwAdapter->common.GetPortCapability = AudioAdapterGetPortCapability; - hwAdapter->common.SetPassthroughMode = AudioAdapterSetPassthroughMode; - hwAdapter->common.GetPassthroughMode = AudioAdapterGetPassthroughMode; - hwAdapter->common.UpdateAudioRoute = AudioAdapterUpdateAudioRoute; - hwAdapter->common.ReleaseAudioRoute = AudioAdapterReleaseAudioRoute; - hwAdapter->adapterDescriptor = *desc; - hwAdapter->adapterMgrRenderFlag = 0; // The adapterMgrRenderFlag init is zero - hwAdapter->adapterMgrCaptureFlag = 0; // The adapterMgrCaptureFlag init is zero - *adapter = &hwAdapter->common; - - return AUDIO_HAL_SUCCESS; -} - -static int32_t LoadAdapterA2dp(const struct AudioAdapterDescriptor *desc, struct AudioAdapter **adapter) -{ - if (desc == NULL || adapter == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - return AUDIO_HAL_SUCCESS; -} - -static int32_t SelectAppropriateAdapter(enum AudioAdapterType adapterType, - const struct AudioAdapterDescriptor *desc, struct AudioAdapter **adapter) -{ - int32_t ret; - - if (desc == NULL || adapter == NULL) { - AUDIO_FUNC_LOGE("param desc or adapter is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - switch (adapterType) { - case AUDIO_ADAPTER_PRIMARY: - case AUDIO_ADAPTER_PRIMARY_EXT: - case AUDIO_ADAPTER_HDMI: - ret = LoadAdapterPrimary(desc, adapter); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("LoadAdapterPrimary failed. ret = %{public}d", ret); - return ret; - } - break; - case AUDIO_ADAPTER_USB: - ret = LoadAdapterUsb(desc, adapter); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("LoadAdapterUsb failed.ret = %{public}d", ret); - return ret; - } - break; - case AUDIO_ADAPTER_A2DP: - ret = LoadAdapterA2dp(desc, adapter); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("LoadAdapterA2dp failed."); - return ret; - } - break; - default: - AUDIO_FUNC_LOGE("An unsupported Adapter."); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioManagerLoadAdapter(struct AudioManager *manager, const struct AudioAdapterDescriptor *desc, - struct AudioAdapter **adapter) -{ - AUDIO_FUNC_LOGI(); - if (manager == NULL || desc == NULL || desc->adapterName == NULL || desc->ports == NULL || adapter == NULL) { - AUDIO_FUNC_LOGE("param is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - AUDIO_FUNC_LOGI("adapter name %{public}s", desc->adapterName); - if (AudioAdapterExist(desc->adapterName)) { - AUDIO_FUNC_LOGE("not supported this adapter %{public}s", desc->adapterName); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - enum AudioAdapterType sndCardType = MatchAdapterType(desc->adapterName, desc->ports[0].portId); - int32_t ret = SelectAppropriateAdapter(sndCardType, desc, adapter); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("Load adapter failed. ret = %{public}d\n", ret); - return ret; - } - - return AUDIO_HAL_SUCCESS; -} - -void AudioManagerUnloadAdapter(struct AudioManager *manager, struct AudioAdapter *adapter) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - if (manager == NULL || hwAdapter == NULL) { - return; - } - if (hwAdapter->portCapabilitys != NULL) { - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - uint32_t i = 0; - while (i < portNum) { - if (&hwAdapter->portCapabilitys[i] != NULL) { - AudioMemFree((void **)&hwAdapter->portCapabilitys[i].capability.subPorts); - } - i++; - } - AudioMemFree((void **)&hwAdapter->portCapabilitys); - } - AudioMemFree((void **)&adapter); -} - -bool ReleaseAudioManagerObject(struct AudioManager *object) -{ - if (object != (&g_audioManagerFuncs) || object == NULL) { - return false; - } - ReleaseAudioManagerObjectComm(object); - g_audioAdapterAddrMgrFlag = false; - return true; -} - -static void AudioMgrConstruct(struct AudioManager *audioMgr) -{ - if (audioMgr == NULL) { - AUDIO_FUNC_LOGE("Input pointer is null!"); - return; - } - audioMgr->GetAllAdapters = AudioManagerGetAllAdapters; - audioMgr->LoadAdapter = AudioManagerLoadAdapter; - audioMgr->UnloadAdapter = AudioManagerUnloadAdapter; - audioMgr->ReleaseAudioManagerObject = ReleaseAudioManagerObject; -} - -struct AudioManager *GetAudioManagerFuncs(void) -{ - if (!g_audioAdapterAddrMgrFlag) { - AudioMgrConstruct(&g_audioManagerFuncs); - g_audioAdapterAddrMgrFlag = true; - } - return &g_audioManagerFuncs; -} diff --git a/audio/hal/hdi_passthrough/src/audio_render.c b/audio/hal/hdi_passthrough/src/audio_render.c deleted file mode 100644 index ccc4252dce6d41fdf61eb0b2e8e504d7be662644..0000000000000000000000000000000000000000 --- a/audio/hal/hdi_passthrough/src/audio_render.c +++ /dev/null @@ -1,1167 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_render.h" -#include "audio_adapter_info_common.h" -#include "audio_interface_lib_render.h" -#include "audio_uhdf_log.h" -#include "osal_mem.h" - -#define HDF_LOG_TAG HDF_AUDIO_HAL_IMPL - -#define CONFIG_OUT_LATENCY_MS 100 // unit: ms - -/* 1 buffer: 8000(8kHz sample rate) * 2(bytes, PCM_16_BIT) * 1(channel) */ -/* 1 frame: 1024(sample) * 2(bytes, PCM_16_BIT) * 1(channel) */ -#define CONFIG_FRAME_SIZE (1024 * 2 * 1) -#define FRAME_SIZE 1024 -#define CONFIG_FRAME_COUNT ((8000 * 2 * 1 + (CONFIG_FRAME_SIZE - 1)) / CONFIG_FRAME_SIZE) - -#define DEEP_BUFFER_PLATFORM_DELAY (29*1000LL) -#define LOW_LATENCY_PLATFORM_DELAY (13*1000LL) -#define BITS_TO_FROMAT 3 -#define VOLUME_AVERAGE 2 -#define INTEGER_TO_DEC 10 -#define SEC_TO_MILLSEC 1000 -#define DECIMAL_PART 5 - -int32_t PcmBytesToFrames(const struct AudioFrameRenderMode *frameRenderMode, uint64_t bytes, uint32_t *frameCount) -{ - if (frameRenderMode == NULL || frameCount == NULL) { - AUDIO_FUNC_LOGE("param frameRenderMode or frameCount is null!"); - return HDF_FAILURE; - } - uint32_t formatBits = 0; - int32_t ret = FormatToBits(frameRenderMode->attrs.format, &formatBits); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("FormatToBits failed! ret = %{public}d", ret); - return ret; - } - /* channelCount Not greater than 4 , formatBits Not greater than 64 */ - if (frameRenderMode->attrs.channelCount > 4 || formatBits > 64) { - AUDIO_FUNC_LOGE("channelCount or formatBits check failed! channelCount = %{public}u, formatBits = %{public}u", - frameRenderMode->attrs.channelCount, formatBits); - return HDF_FAILURE; - } - uint32_t frameSize = frameRenderMode->attrs.channelCount * (formatBits >> 3); // Bit to byte >> 3 - if (frameSize == 0) { - AUDIO_FUNC_LOGE("frameSize is zero! channelCount = %{public}u, formatBits = %{public}u", - frameRenderMode->attrs.channelCount, formatBits); - return HDF_FAILURE; - } - *frameCount = (uint32_t)bytes / frameSize; - return HDF_SUCCESS; -} - -int32_t AudioRenderStart(AudioHandle handle) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("The pointer is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (!hwRender->renderParam.renderMode.ctlParam.stop) { - AUDIO_FUNC_LOGE("AudioRender already start!"); - return AUDIO_HAL_ERR_AO_BUSY; // render is busy now - } - if (hwRender->devDataHandle == NULL) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTRL_START); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderStart SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwRender->renderParam.renderMode.ctlParam.stop = false; - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Render Start"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderStop(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is invalid"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->renderParam.renderMode.ctlParam.stop) { - AUDIO_FUNC_LOGE("Repeat invalid stop operation!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - hwRender->renderParam.renderMode.ctlParam.stop = true; - if (hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("RenderStart Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTRL_STOP); - hwRender->renderParam.renderMode.ctlParam.turnStandbyStatus = AUDIO_TURN_STANDBY_LATER; - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderStop SetParams FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Render Stop"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderPause(AudioHandle handle) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is null"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->renderParam.renderMode.ctlParam.stop) { - AUDIO_FUNC_LOGE("AudioRender already stop!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (hwRender->renderParam.renderMode.ctlParam.pause) { - AUDIO_FUNC_LOGE("Audio is already pause!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - if (hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("RenderPause Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool pauseStatus = hwRender->renderParam.renderMode.ctlParam.pause; - hwRender->renderParam.renderMode.ctlParam.pause = true; - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_PAUSE_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderPause FAIL!"); - hwRender->renderParam.renderMode.ctlParam.pause = pauseStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Render Pause"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderResume(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (!hwRender->renderParam.renderMode.ctlParam.pause) { - AUDIO_FUNC_LOGE("Audio is already Resume !"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - if (hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("RenderResume Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool resumeStatus = hwRender->renderParam.renderMode.ctlParam.pause; - hwRender->renderParam.renderMode.ctlParam.pause = false; - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_PAUSE_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderResume FAIL!"); - hwRender->renderParam.renderMode.ctlParam.pause = resumeStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [%s]", __FILE__, __func__, __LINE__, "Audio Render Resume"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderFlush(AudioHandle handle) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("hwRender is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - bool callBackStatus = hwRender->renderParam.renderMode.hwInfo.callBackEnable; - if (callBackStatus) { - return CallbackProcessing(hwRender, AUDIO_FLUSH_COMPLETED); - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioRenderGetFrameSize(AudioHandle handle, uint64_t *size) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || size == NULL) { - AUDIO_FUNC_LOGE("hwRender or size is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t channelCount = hwRender->renderParam.frameRenderMode.attrs.channelCount; - enum AudioFormat format = hwRender->renderParam.frameRenderMode.attrs.format; - uint32_t formatBits = 0; - int32_t ret = FormatToBits(format, &formatBits); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("FormatToBits failed! ret = %{public}d", ret); - return ret; - } - *size = FRAME_SIZE * channelCount * (formatBits >> BITS_TO_FROMAT); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetFrameCount(AudioHandle handle, uint64_t *count) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || count == NULL) { - AUDIO_FUNC_LOGE("hwRender or count is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *count = hwRender->renderParam.frameRenderMode.frames; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderSetSampleAttributes(AudioHandle handle, const struct AudioSampleAttributes *attrs) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || attrs == NULL || hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("hwRender or attrs or hwRender->devDataHandle is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioCheckParaAttr(attrs); - if (ret != AUDIO_HAL_SUCCESS) { - AUDIO_FUNC_LOGE("AudioCheckParaAttr failed! ret = %{public}d", ret); - return ret; - } - /* attrs temp */ - struct AudioSampleAttributes tempAttrs = hwRender->renderParam.frameRenderMode.attrs; - hwRender->renderParam.frameRenderMode.attrs.format = attrs->format; - hwRender->renderParam.frameRenderMode.attrs.sampleRate = attrs->sampleRate; - hwRender->renderParam.frameRenderMode.attrs.channelCount = attrs->channelCount; - hwRender->renderParam.frameRenderMode.attrs.interleaved = attrs->interleaved; - hwRender->renderParam.frameRenderMode.attrs.type = attrs->type; - hwRender->renderParam.frameRenderMode.attrs.period = attrs->period; - hwRender->renderParam.frameRenderMode.attrs.frameSize = attrs->frameSize; - hwRender->renderParam.frameRenderMode.attrs.isBigEndian = attrs->isBigEndian; - hwRender->renderParam.frameRenderMode.attrs.isSignedData = attrs->isSignedData; - hwRender->renderParam.frameRenderMode.attrs.startThreshold = attrs->startThreshold; - hwRender->renderParam.frameRenderMode.attrs.stopThreshold = attrs->stopThreshold; - hwRender->renderParam.frameRenderMode.attrs.silenceThreshold = attrs->silenceThreshold; - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL || hwRender->devDataHandle == NULL) { - hwRender->renderParam.frameRenderMode.attrs = tempAttrs; - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, - &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTL_HW_PARAMS); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetSampleAttributes FAIL"); - hwRender->renderParam.frameRenderMode.attrs = tempAttrs; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetSampleAttributes(AudioHandle handle, struct AudioSampleAttributes *attrs) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || attrs == NULL) { - AUDIO_FUNC_LOGE("hwRender or attrs is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - attrs->format = hwRender->renderParam.frameRenderMode.attrs.format; - attrs->sampleRate = hwRender->renderParam.frameRenderMode.attrs.sampleRate; - attrs->channelCount = hwRender->renderParam.frameRenderMode.attrs.channelCount; - attrs->type = hwRender->renderParam.frameRenderMode.attrs.type; - attrs->interleaved = hwRender->renderParam.frameRenderMode.attrs.interleaved; - attrs->period = hwRender->renderParam.frameRenderMode.attrs.period; - attrs->frameSize = hwRender->renderParam.frameRenderMode.attrs.frameSize; - attrs->isBigEndian = hwRender->renderParam.frameRenderMode.attrs.isBigEndian; - attrs->isSignedData = hwRender->renderParam.frameRenderMode.attrs.isSignedData; - attrs->startThreshold = hwRender->renderParam.frameRenderMode.attrs.startThreshold; - attrs->stopThreshold = hwRender->renderParam.frameRenderMode.attrs.stopThreshold; - attrs->silenceThreshold = hwRender->renderParam.frameRenderMode.attrs.silenceThreshold; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetCurrentChannelId(AudioHandle handle, uint32_t *channelId) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || channelId == NULL) { - AUDIO_FUNC_LOGE("hwRender or channelId is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *channelId = hwRender->renderParam.frameRenderMode.attrs.channelCount; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderCheckSceneCapability(AudioHandle handle, const struct AudioSceneDescriptor *scene, - bool *supported) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || scene == NULL || supported == NULL) { - AUDIO_FUNC_LOGE("hwRender or scene or supported is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - *supported = false; - /* Temporary storage does not save the structure */ - struct AudioHwRenderParam renderParam = hwRender->renderParam; - renderParam.frameRenderMode.attrs.type = (enum AudioCategory)scene->scene.id; - renderParam.renderMode.hwInfo.deviceDescript.pins = scene->desc.pins; - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("pPathSelAnalysisJson Is NULL!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - int32_t ret = (*pPathSelAnalysisJson)((void *)&renderParam, CHECKSCENE_PATH_SELECT); - if (ret < 0) { - if (ret == AUDIO_HAL_ERR_NOT_SUPPORT) { - AUDIO_FUNC_LOGE("AudioRenderCheckSceneCapability not Support!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } else { - AUDIO_FUNC_LOGE("AudioRenderCheckSceneCapability fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - } - *supported = true; - return AUDIO_HAL_SUCCESS; -#else - return AUDIO_HAL_ERR_NOT_SUPPORT; -#endif -} - -int32_t AudioRenderSelectScene(AudioHandle handle, const struct AudioSceneDescriptor *scene) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || scene == NULL) { - AUDIO_FUNC_LOGE("hwRender or scene is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderSelectScene Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } -#ifndef AUDIO_HAL_NOTSUPPORT_PATHSELECT - PathSelAnalysisJson *pPathSelAnalysisJson = AudioSoGetPathSelAnalysisJson(); - if (pPathSelAnalysisJson == NULL) { - AUDIO_FUNC_LOGE("pPathSelAnalysisJson Is NULL!"); - return AUDIO_HAL_ERR_NOT_SUPPORT; - } - enum AudioCategory sceneId = hwRender->renderParam.frameRenderMode.attrs.type; - enum AudioPortPin descPins = hwRender->renderParam.renderMode.hwInfo.deviceDescript.pins; - hwRender->renderParam.frameRenderMode.attrs.type = (enum AudioCategory)(scene->scene.id); - hwRender->renderParam.renderMode.hwInfo.deviceDescript.pins = scene->desc.pins; - if ((*pPathSelAnalysisJson)((void *)&hwRender->renderParam, RENDER_PATH_SELECT) < 0) { - AUDIO_FUNC_LOGE("AudioRenderSelectScene Fail!"); - hwRender->renderParam.frameRenderMode.attrs.type = sceneId; - hwRender->renderParam.renderMode.hwInfo.deviceDescript.pins = descPins; - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - hwRender->renderParam.frameRenderMode.attrs.type = sceneId; - hwRender->renderParam.renderMode.hwInfo.deviceDescript.pins = descPins; - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_SCENESELECT_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetParams FAIL!"); - hwRender->renderParam.frameRenderMode.attrs.type = sceneId; - hwRender->renderParam.renderMode.hwInfo.deviceDescript.pins = descPins; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -#else - return AUDIO_HAL_ERR_NOT_SUPPORT; -#endif -} - -int32_t AudioRenderSetMute(AudioHandle handle, bool mute) -{ - struct AudioHwRender *impl = (struct AudioHwRender *)handle; - if (impl == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderSetMute Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - bool muteStatus = impl->renderParam.renderMode.ctlParam.mute; - impl->renderParam.renderMode.ctlParam.mute = mute; - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, &impl->renderParam, AUDIODRV_CTL_IOCTL_MUTE_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetMute SetParams FAIL"); - impl->renderParam.renderMode.ctlParam.mute = muteStatus; - return AUDIO_HAL_ERR_INTERNAL; - } - AudioLogRecord(INFO, "[%s]-[%s]-[%d] :> [Setmute = %d]", __FILE__, __func__, __LINE__, mute); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetMute(AudioHandle handle, bool *mute) -{ - struct AudioHwRender *impl = (struct AudioHwRender *)handle; - if (impl == NULL || mute == NULL) { - AUDIO_FUNC_LOGE("impl or mute is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderGetMute Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, &impl->renderParam, AUDIODRV_CTL_IOCTL_MUTE_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get Mute FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *mute = impl->renderParam.renderMode.ctlParam.mute; - AUDIO_FUNC_LOGI("GetMute SUCCESS!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderSetVolume(AudioHandle handle, float volume) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - float volumeTemp = hwRender->renderParam.renderMode.ctlParam.volume; - float volMax = (float)hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax; - float volMin = (float)hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin; - if (volume < 0 || volume > 1) { - AUDIO_FUNC_LOGE("volume param Is error!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderSetVolume Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - volume = (volume == 0) ? 1 : (volume * VOLUME_CHANGE); - /* change volume to db */ - float volTemp = ((volMax - volMin) / 2) * log10(volume) + volMin; - if (volTemp < volMin || volTemp > volMax) { - AUDIO_FUNC_LOGE("volTemp fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwRender->renderParam.renderMode.ctlParam.volume = volTemp; - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_ELEM_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderSetVolume FAIL!"); - hwRender->renderParam.renderMode.ctlParam.volume = volumeTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetVolume(AudioHandle handle, float *volume) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || volume == NULL) { - AUDIO_FUNC_LOGE("hwRender or volume is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderGetVolume Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, - &hwRender->renderParam, AUDIODRV_CTL_IOCTL_ELEM_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderGetVolume FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - float volumeTemp = hwRender->renderParam.renderMode.ctlParam.volume; - float volMax = (float)hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax; - float volMin = (float)hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin; - if ((volMax - volMin) == 0) { - AUDIO_FUNC_LOGE("Divisor cannot be zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - volumeTemp = (volumeTemp - volMin) / ((volMax - volMin) / VOLUME_AVERAGE); - int volumeT = (int)((pow(INTEGER_TO_DEC, volumeTemp) + DECIMAL_PART) / INTEGER_TO_DEC); // delete 0.X num - *volume = (float)volumeT / INTEGER_TO_DEC; // get volume (0-1) - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetGainThreshold(AudioHandle handle, float *min, float *max) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL || min == NULL || max == NULL) { - AUDIO_FUNC_LOGE("hwRender or min or max is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderGetGainThreshold Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devCtlHandle, &hwRender->renderParam, - AUDIODRV_CTL_IOCTL_GAINTHRESHOLD_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetGainThreshold FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *max = hwRender->renderParam.renderMode.ctlParam.audioGain.gainMax; - *min = hwRender->renderParam.renderMode.ctlParam.audioGain.gainMin; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetGain(AudioHandle handle, float *gain) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *impl = (struct AudioHwRender *)handle; - if (impl == NULL || gain == NULL) { - AUDIO_FUNC_LOGE("impl or gain is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderGetGain Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, &impl->renderParam, AUDIODRV_CTL_IOCTL_GAIN_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderGetGain FAIL"); - return AUDIO_HAL_ERR_INTERNAL; - } - *gain = impl->renderParam.renderMode.ctlParam.audioGain.gain; - AUDIO_FUNC_LOGI("RenderGetGain SUCCESS!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderSetGain(AudioHandle handle, float gain) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *impl = (struct AudioHwRender *)handle; - if (impl == NULL || gain < 0) { - AUDIO_FUNC_LOGE("ipml is null or gain < 0"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - float gainTemp = impl->renderParam.renderMode.ctlParam.audioGain.gain; - impl->renderParam.renderMode.ctlParam.audioGain.gain = gain; - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("RenderSetGain Bind Fail!"); - impl->renderParam.renderMode.ctlParam.audioGain.gain = gainTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - impl->renderParam.renderMode.ctlParam.audioGain.gain = gainTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, &impl->renderParam, AUDIODRV_CTL_IOCTL_GAIN_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("RenderSetGain FAIL"); - impl->renderParam.renderMode.ctlParam.audioGain.gain = gainTemp; - return AUDIO_HAL_ERR_INTERNAL; - } - AUDIO_FUNC_LOGI("RenderSetGain SUCCESS!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetLatency(struct AudioRender *render, uint32_t *ms) -{ - struct AudioHwRender *impl = (struct AudioHwRender *)render; - if (impl == NULL || ms == NULL) { - AUDIO_FUNC_LOGE("ipml or ms is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t byteRate = impl->renderParam.frameRenderMode.byteRate; - uint32_t periodSize = impl->renderParam.frameRenderMode.periodSize; - uint32_t periodCount = impl->renderParam.frameRenderMode.periodCount; - if (byteRate == 0) { - AUDIO_FUNC_LOGE("divisor byteRate is zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - uint32_t periodMs = (periodCount * periodSize * SEC_TO_MILLSEC) / byteRate; - *ms = periodMs; - return AUDIO_HAL_SUCCESS; -} - -static int32_t LogErrorGetRensonAndTime(struct AudioHwRender *hwRender, int errorReason) -{ - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("param hwRender is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->errorLog.iter >= ERROR_LOG_MAX_NUM) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->errorLog.errorDump[hwRender->errorLog.iter].reason == NULL) { - hwRender->errorLog.errorDump[hwRender->errorLog.iter].reason - = (char *)OsalMemCalloc(ERROR_REASON_DESC_LEN); - if (hwRender->errorLog.errorDump[hwRender->errorLog.iter].reason == NULL) { - AUDIO_FUNC_LOGE("alloc reasonDesc Fail!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - } - if (hwRender->errorLog.errorDump[hwRender->errorLog.iter].currentTime == NULL) { - hwRender->errorLog.errorDump[hwRender->errorLog.iter].currentTime - = (char *)OsalMemCalloc(ERROR_REASON_DESC_LEN); - if (hwRender->errorLog.errorDump[hwRender->errorLog.iter].currentTime == NULL) { - AUDIO_FUNC_LOGE("alloc time Fail!"); - return AUDIO_HAL_ERR_MALLOC_FAIL; - } - } - (void)memset_s(hwRender->errorLog.errorDump[hwRender->errorLog.iter].reason, - ERROR_REASON_DESC_LEN, 0, ERROR_REASON_DESC_LEN); - (void)memset_s(hwRender->errorLog.errorDump[hwRender->errorLog.iter].currentTime, - ERROR_REASON_DESC_LEN, 0, ERROR_REASON_DESC_LEN); - int32_t ret = GetErrorReason(errorReason, hwRender->errorLog.errorDump[hwRender->errorLog.iter].reason); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetErrorReason failed!"); - return AUDIO_HAL_ERR_INTERNAL; - } - ret = GetCurrentTime(hwRender->errorLog.errorDump[hwRender->errorLog.iter].currentTime); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetCurrentTime Fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static void LogError(AudioHandle handle, int32_t errorCode, int reason) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)handle; - if (hwRender == NULL) { - return; - } - hwRender->errorLog.totalErrors++; - if (hwRender->errorLog.iter >= ERROR_LOG_MAX_NUM) { - hwRender->errorLog.iter = 0; - } - int32_t ret = LogErrorGetRensonAndTime(hwRender, reason); - if (ret < 0) { - return; - } - if (errorCode == WRITE_FRAME_ERROR_CODE) { - hwRender->errorLog.errorDump[hwRender->errorLog.iter].errorCode = errorCode; - hwRender->errorLog.errorDump[hwRender->errorLog.iter].count = (int32_t)hwRender->errorLog.iter; - hwRender->errorLog.errorDump[hwRender->errorLog.iter].frames = hwRender->renderParam.frameRenderMode.frames; - hwRender->errorLog.iter++; - } -} - -static int32_t AudioRenderRenderFramSplit(struct AudioHwRender *hwRender) -{ - if (hwRender == NULL) { - AUDIO_FUNC_LOGE("param hwRender is null!"); - return HDF_FAILURE; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return HDF_FAILURE; - } - if (hwRender->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("hwRender->devDataHandle is null!"); - return HDF_FAILURE; - } - int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, - AUDIO_DRV_PCM_IOCTL_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Render Frame FAIL!"); - LogError((AudioHandle)hwRender, WRITE_FRAME_ERROR_CODE, ret); - return AUDIO_HAL_ERR_INTERNAL; - } - return HDF_SUCCESS; -} - -int32_t AudioRenderRenderFrame(struct AudioRender *render, const void *frame, - uint64_t requestBytes, uint64_t *replyBytes) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || frame == NULL || replyBytes == NULL || - hwRender->renderParam.frameRenderMode.buffer == NULL) { - AUDIO_FUNC_LOGE("Render Frame Paras is NULL!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (hwRender->renderParam.renderMode.ctlParam.stop) { - AUDIO_FUNC_LOGE("Render not started!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (requestBytes > FRAME_DATA) { - AUDIO_FUNC_LOGE("Out of FRAME_DATA size!"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = memcpy_s(hwRender->renderParam.frameRenderMode.buffer, FRAME_DATA, frame, (uint32_t)requestBytes); - if (ret != EOK) { - AUDIO_FUNC_LOGE("memcpy_s fail"); - return AUDIO_HAL_ERR_INTERNAL; - } - hwRender->renderParam.frameRenderMode.bufferSize = requestBytes; - uint32_t frameCount = 0; - ret = PcmBytesToFrames(&hwRender->renderParam.frameRenderMode, requestBytes, &frameCount); - if (ret != AUDIO_HAL_SUCCESS) { - return ret; - } - hwRender->renderParam.frameRenderMode.bufferFrameSize = (uint64_t)frameCount; - if (AudioRenderRenderFramSplit(hwRender) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - *replyBytes = requestBytes; - hwRender->renderParam.frameRenderMode.frames += hwRender->renderParam.frameRenderMode.bufferFrameSize; - if (hwRender->renderParam.frameRenderMode.attrs.sampleRate == 0) { - AUDIO_FUNC_LOGE("Divisor cannot be zero!"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (TimeToAudioTimeStamp(hwRender->renderParam.frameRenderMode.bufferFrameSize, - &hwRender->renderParam.frameRenderMode.time, - hwRender->renderParam.frameRenderMode.attrs.sampleRate) == HDF_FAILURE) { - AUDIO_FUNC_LOGE("Frame is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetRenderPosition(struct AudioRender *render, uint64_t *frames, struct AudioTimeStamp *time) -{ - struct AudioHwRender *impl = (struct AudioHwRender *)render; - if (impl == NULL || frames == NULL || time == NULL) { - AUDIO_FUNC_LOGE("impl or frames or time is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - *frames = impl->renderParam.frameRenderMode.frames; - *time = impl->renderParam.frameRenderMode.time; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderSetRenderSpeed(struct AudioRender *render, float speed) -{ - (void)speed; - AUDIO_FUNC_LOGI(); - - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioRenderGetRenderSpeed(struct AudioRender *render, float *speed) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - if (hwRender == NULL || speed == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} - -int32_t AudioRenderSetChannelMode(struct AudioRender *render, enum AudioChannelMode mode) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *impl = (struct AudioHwRender *)render; - if (impl == NULL) { - AUDIO_FUNC_LOGE("impl is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - if (impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("Bind Fail!"); - return AUDIO_HAL_ERR_INTERNAL; - } - enum AudioChannelMode tempMode = impl->renderParam.frameRenderMode.mode; - impl->renderParam.frameRenderMode.mode = mode; - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - impl->renderParam.frameRenderMode.mode = tempMode; - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, &impl->renderParam, - AUDIODRV_CTL_IOCTL_CHANNEL_MODE_WRITE); - if (ret < 0) { - AUDIO_FUNC_LOGE("Set ChannelMode FAIL!"); - impl->renderParam.frameRenderMode.mode = tempMode; - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetChannelMode(struct AudioRender *render, enum AudioChannelMode *mode) -{ - AUDIO_FUNC_LOGI(); - struct AudioHwRender *impl = (struct AudioHwRender *)render; - if (impl == NULL || mode == NULL || impl->devCtlHandle == NULL) { - AUDIO_FUNC_LOGE("impl or mode or impl->devCtlHandle is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(impl->devCtlHandle, - &impl->renderParam, AUDIODRV_CTL_IOCTL_CHANNEL_MODE_READ); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get ChannelMode FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *mode = impl->renderParam.frameRenderMode.mode; - return AUDIO_HAL_SUCCESS; -} - -static int32_t SetValue(struct ExtraParams mExtraParams, struct AudioHwRender *render) -{ - if (render == NULL) { - AUDIO_FUNC_LOGE("param render is null!"); - return HDF_FAILURE; - } - if (mExtraParams.route != -1) { - render->renderParam.renderMode.hwInfo.pathroute = mExtraParams.route; - } - if (mExtraParams.format != -1) { - render->renderParam.frameRenderMode.attrs.format = mExtraParams.format; - } - if (mExtraParams.channels != 0) { - render->renderParam.frameRenderMode.attrs.channelCount = mExtraParams.channels; - } - if (mExtraParams.flag) { - render->renderParam.frameRenderMode.frames = mExtraParams.frames; - } - if (mExtraParams.sampleRate != 0) { - render->renderParam.frameRenderMode.attrs.sampleRate = mExtraParams.sampleRate; - } - return HDF_SUCCESS; -} - -int32_t AudioRenderSetExtraParams(AudioHandle handle, const char *keyValueList) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL || keyValueList == NULL) { - AUDIO_FUNC_LOGE("render or keyValueList is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t count = 0; - int32_t sumOk = 0; - struct ExtraParams mExtraParams; - if (AudioSetExtraParams(keyValueList, &count, &mExtraParams, &sumOk) < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - if (count != 0 && sumOk == count) { - SetValue(mExtraParams, render); - return AUDIO_HAL_SUCCESS; - } else { - return AUDIO_HAL_ERR_INTERNAL; - } -} - -int32_t AudioRenderGetExtraParams(AudioHandle handle, char *keyValueList, int32_t listLenth) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL || keyValueList == NULL || listLenth <= 0) { - AUDIO_FUNC_LOGE("render or keyValueList or listLenth is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t bufferSize = strlen(ROUTE_SAMPLE) + strlen(FORMAT_SAMPLE) + strlen(CHANNELS_SAMPLE) - + strlen(FRAME_COUNT_SAMPLE) + strlen(SAMPLING_RATE_SAMPLE) + 1; - if (listLenth < bufferSize) { - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_ROUTE, - &render->renderParam.renderMode.hwInfo.pathroute); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_FORMAT, - &render->renderParam.frameRenderMode.attrs.format); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_CHANNELS, - &render->renderParam.frameRenderMode.attrs.channelCount); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_FRAME_COUNT, - &render->renderParam.frameRenderMode.frames); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ret = AddElementToList(keyValueList, listLenth, AUDIO_ATTR_PARAM_SAMPLING_RATE, - &render->renderParam.frameRenderMode.attrs.sampleRate); - if (ret < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -static int32_t AudioRenderReqMmapBufferInit(struct AudioHwRender *render, - int32_t reqSize, struct AudioMmapBufferDescriptor *desc) -{ - if (render == NULL || render->devDataHandle == NULL || desc == NULL) { - AUDIO_FUNC_LOGE("render or render->devDataHandle or desc is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - uint32_t formatBits = 0; - int32_t ret = FormatToBits(render->renderParam.frameRenderMode.attrs.format, &formatBits); - if (ret < 0) { - AUDIO_FUNC_LOGE("FormatToBits failed! ret = %{public}d", ret); - return ret; - } - int32_t flags; - if (desc->isShareable) { - flags = MAP_SHARED; - } else { - flags = MAP_PRIVATE; - } - int64_t filesize = lseek(desc->memoryFd, 0, SEEK_END); - if ((int64_t)reqSize > filesize) { - AUDIO_FUNC_LOGE("reqSize is out of file Size!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - desc->memoryAddress = mmap(NULL, reqSize, PROT_READ | PROT_WRITE, flags, desc->memoryFd, 0); - if (desc->memoryAddress == NULL || desc->memoryAddress == (void *)(-1)) { - AUDIO_FUNC_LOGE("AudioRenderReqMmapBuffer mmap FAIL and errno is:%{public}d !", errno); - return AUDIO_HAL_ERR_INTERNAL; - } - desc->totalBufferFrames = reqSize / (int32_t)(render->renderParam.frameRenderMode.attrs - .channelCount * (formatBits >> BITS_TO_FROMAT)); - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - munmap(desc->memoryAddress, reqSize); - return AUDIO_HAL_ERR_INTERNAL; - } - render->renderParam.frameRenderMode.mmapBufDesc.memoryAddress = desc->memoryAddress; - render->renderParam.frameRenderMode.mmapBufDesc.memoryFd = desc->memoryFd; - render->renderParam.frameRenderMode.mmapBufDesc.totalBufferFrames = desc->totalBufferFrames; - render->renderParam.frameRenderMode.mmapBufDesc.transferFrameSize = desc->transferFrameSize; - render->renderParam.frameRenderMode.mmapBufDesc.isShareable = desc->isShareable; - render->renderParam.frameRenderMode.mmapBufDesc.offset = desc->offset; - ret = (*pInterfaceLibModeRender)(render->devDataHandle, &render->renderParam, AUDIO_DRV_PCM_IOCTL_MMAP_BUFFER); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderReqMmapBuffer FAIL!"); - munmap(desc->memoryAddress, reqSize); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderReqMmapBuffer(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL || render->devDataHandle == NULL || desc == NULL) { - AUDIO_FUNC_LOGE("render or render->devDataHandle or desc is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = AudioRenderReqMmapBufferInit(render, reqSize, desc); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderReqMmapBufferInit failed! ret = %{public}d", ret); - return ret; - } - AUDIO_FUNC_LOGI("AudioRenderReqMmapBuffer Success!"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderGetMmapPosition(AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL || frames == NULL || time == NULL) { - AUDIO_FUNC_LOGE("render or frames or time is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InterfaceLibModeRenderSo *pInterfaceLibModeRender = AudioSoGetInterfaceLibModeRender(); - if (pInterfaceLibModeRender == NULL || *pInterfaceLibModeRender == NULL) { - AUDIO_FUNC_LOGE("pInterfaceLibModeRender Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - if (render->devDataHandle == NULL) { - AUDIO_FUNC_LOGE("render->devDataHandle Is NULL"); - return AUDIO_HAL_ERR_INTERNAL; - } - int32_t ret = (*pInterfaceLibModeRender)(render->devDataHandle, - &render->renderParam, AUDIO_DRV_PCM_IOCTL_MMAP_POSITION); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get Position FAIL!"); - return AUDIO_HAL_ERR_INTERNAL; - } - *frames = render->renderParam.frameRenderMode.frames; - render->renderParam.frameRenderMode.time.tvSec = (int64_t)(render->renderParam.frameRenderMode.frames / - render->renderParam.frameRenderMode.attrs.sampleRate); - uint64_t lastBufFrames = render->renderParam.frameRenderMode.frames % - render->renderParam.frameRenderMode.attrs.sampleRate; - render->renderParam.frameRenderMode.time.tvNSec = - (int64_t)((lastBufFrames * SEC_TO_NSEC) / render->renderParam.frameRenderMode.attrs.sampleRate); - *time = render->renderParam.frameRenderMode.time; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderAddEffect(AudioHandle handle, uint64_t effectid) -{ - (void)handle; - (void)effectid; - AUDIO_FUNC_LOGI("add render effect success"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderRemoveEffect(AudioHandle handle, uint64_t effectid) -{ - (void)handle; - (void)effectid; - AUDIO_FUNC_LOGI("remove render effect success"); - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderTurnStandbyMode(AudioHandle handle) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL) { - AUDIO_FUNC_LOGE("render is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - render->renderParam.renderMode.ctlParam.turnStandbyStatus = AUDIO_TURN_STANDBY_NOW; - int32_t ret = AudioRenderStop((AudioHandle)render); - if (ret < 0) { - AUDIO_FUNC_LOGE("AudioRenderStop failed [ ret = %{public}d ]!", ret); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderAudioDevDump(AudioHandle handle, int32_t range, int32_t fd) -{ - uint32_t i; - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL) { - AUDIO_FUNC_LOGE("render is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - dprintf(fd, "%s%d\n", "Number of errors: ", render->errorLog.totalErrors); - if (range < RANGE_MIN - 1 || range > RANGE_MAX) { - dprintf(fd, "%s\n", "Out of range, invalid output"); - return AUDIO_HAL_SUCCESS; - } - uint32_t mSize = render->errorLog.iter; - if (range < RANGE_MIN) { - dprintf(fd, "%-5s %-10s %s\n", "count", "errorCode", "Time"); - for (i = 0; i < mSize; i++) { - dprintf(fd, FORMAT_TWO, render->errorLog.errorDump[i].count + 1, - render->errorLog.errorDump[i].errorCode, - render->errorLog.errorDump[i].currentTime); - } - } else { - dprintf(fd, "%-5s %-10s %-20s %-15s %s\n", "count", "errorCode", "frames", "fail reason", "Time"); - for (i = 0; i < mSize; i++) { - dprintf(fd, FORMAT_ONE, render->errorLog.errorDump[i].count + 1, - render->errorLog.errorDump[i].errorCode, - render->errorLog.errorDump[i].frames, - render->errorLog.errorDump[i].reason, - render->errorLog.errorDump[i].currentTime); - } - } - return AUDIO_HAL_SUCCESS; -} -int32_t CallbackProcessing(AudioHandle handle, enum AudioCallbackType callBackType) -{ - struct AudioHwRender *render = (struct AudioHwRender *)handle; - if (render == NULL) { - AUDIO_FUNC_LOGI("Unregistered callback.\n"); - return HDF_FAILURE; - } - if (render->renderParam.frameRenderMode.callback == NULL) { - return HDF_FAILURE; - } - bool isCallBack = true; - switch (callBackType) { - case AUDIO_NONBLOCK_WRITE_COMPLETED: - case AUDIO_DRAIN_COMPLETED: - case AUDIO_FLUSH_COMPLETED: - case AUDIO_RENDER_FULL: - case AUDIO_ERROR_OCCUR: - isCallBack = true; - break; - default: - isCallBack = false; - break; - } - if (!isCallBack) { - AUDIO_FUNC_LOGI("No callback processing is required.\n"); - return HDF_ERR_NOT_SUPPORT; - } - render->renderParam.frameRenderMode.callback(callBackType, NULL, render->renderParam.frameRenderMode.cookie); - return HDF_SUCCESS; -} - -int32_t AudioRenderRegCallback(struct AudioRender *render, RenderCallback callback, void *cookie) -{ - struct AudioHwRender *pRender = (struct AudioHwRender *)render; - if (pRender == NULL) { - AUDIO_FUNC_LOGE("pRender is null!"); - return AUDIO_HAL_ERR_INVALID_PARAM; - } - pRender->renderParam.frameRenderMode.callback = callback; - pRender->renderParam.frameRenderMode.cookie = cookie; - pRender->renderParam.renderMode.hwInfo.callBackEnable = true; - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioRenderDrainBuffer(struct AudioRender *render, enum AudioDrainNotifyType *type) -{ - struct AudioHwRender *pRender = (struct AudioHwRender *)render; - if (pRender == NULL || type == NULL) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_ERR_NOT_SUPPORT; -} diff --git a/audio/hal/pathselect/BUILD.gn b/audio/hal/pathselect/BUILD.gn deleted file mode 100644 index e6b7733e0bb659aa6fd2c34ae39ab94894a568e1..0000000000000000000000000000000000000000 --- a/audio/hal/pathselect/BUILD.gn +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../.." -hdf_hal_path = "./.." -import("//build/ohos.gni") -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - ohos_shared_library("hdi_audio_path_select") { - sources = [ - "$hdf_hal_path/hdi_passthrough/src/audio_common.c", - "//third_party/cJSON/cJSON.c", - "src/audio_pathselect.c", - ] - - include_dirs = [ - "$hdf_hal_path/hdi_passthrough/include", - "include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ "hdf_core:libhdf_utils" ] - if (enable_audio_hal_hdf_log) { - defines = [ "AUDIO_HDF_LOG" ] - } - - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} else { - ohos_shared_library("hdi_audio_path_select") { - sources = [ - "$hdf_hal_path/hdi_passthrough/src/audio_common.c", - "//third_party/cJSON/cJSON.c", - "src/audio_pathselect.c", - ] - - include_dirs = [ - "$hdf_hal_path/hdi_passthrough/include", - "include", - "//third_party/cJSON", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - defines = [] - if (enable_audio_hal_hdf_log) { - defines += [ "AUDIO_HDF_LOG" ] - } - - if (drivers_peripheral_audio_feature_alsa_lib) { - defines += [ "ALSA_LIB_MODE" ] - } - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} diff --git a/audio/supportlibs/BUILD.gn b/audio/supportlibs/BUILD.gn deleted file mode 100644 index 8453fbf38667c960c6d017af507db757ff5a190f..0000000000000000000000000000000000000000 --- a/audio/supportlibs/BUILD.gn +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./.." -import("//build/ohos.gni") -import("$hdf_audio_path/audio.gni") - -config("audio_interface_config") { - visibility = [ ":*" ] - - cflags = [] - if (drivers_peripheral_audio_feature_mono_to_stereo) { - cflags += [ "-DMONO_TO_STEREO" ] - } - - ldflags = [ "-Wl" ] -} - -if (defined(ohos_lite)) { - ohos_shared_library("hdi_audio_interface_lib_capture") { - sources = [ - "$hdf_audio_path/hal/hdi_passthrough/src/audio_common.c", - "adm_adapter/src/audio_interface_lib_capture.c", - "adm_adapter/src/audio_interface_lib_common.c", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "adm_adapter/include", - "interfaces/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "//base/hiviewdfx/hilog_lite/interfaces/native/kits/", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ - "hdf_core:libhdf_utils", - "hilog_featured_lite:hilog_shared", - ] - public_configs = [ ":audio_interface_config" ] - defines = [ "_GNU_SOURCE" ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - - ohos_shared_library("hdi_audio_interface_lib_render") { - sources = [ - "$hdf_audio_path/hal/hdi_passthrough/src/audio_common.c", - "adm_adapter/src/audio_interface_lib_common.c", - "adm_adapter/src/audio_interface_lib_render.c", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "adm_adapter/include", - "interfaces/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "//base/hiviewdfx/hilog_lite/interfaces/native/kits/", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ - "hdf_core:libhdf_utils", - "hilog_featured_lite:hilog_shared", - ] - defines = [ "_GNU_SOURCE" ] - if (enable_audio_hal_hdf_log) { - defines += [ "AUDIO_HDF_LOG" ] - } - public_configs = [ ":audio_interface_config" ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} else { - ohos_shared_library("hdi_audio_interface_lib_capture") { - sources = [ "$hdf_audio_path/hal/hdi_passthrough/src/audio_common.c" ] - if (drivers_peripheral_audio_feature_alsa_lib) { - sources += [ - "//third_party/cJSON/cJSON.c", - "alsa_adapter/src/alsa_lib_capture.c", - "alsa_adapter/src/alsa_lib_common.c", - "alsa_adapter/src/alsa_mixer_path.c", - ] - } else { - sources += [ - "adm_adapter/src/audio_interface_lib_capture.c", - "adm_adapter/src/audio_interface_lib_common.c", - ] - } - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - deps = [] - - if (enable_audio_hal_hdf_log) { - defines = [ "AUDIO_HDF_LOG" ] - } - - if (drivers_peripheral_audio_feature_alsa_lib) { - include_dirs += [ - "//third_party/alsa-lib/include", - "alsa_adapter/include", - "//third_party/cJSON", - ] - deps += [ "//third_party/alsa-lib:libasound" ] - } else { - include_dirs += [ "adm_adapter/include" ] - } - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - public_configs = [ ":audio_interface_config" ] - - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - - ohos_shared_library("hdi_audio_interface_lib_render") { - sources = [ "$hdf_audio_path/hal/hdi_passthrough/src/audio_common.c" ] - if (drivers_peripheral_audio_feature_alsa_lib) { - sources += [ - "//third_party/cJSON/cJSON.c", - "alsa_adapter/src/alsa_lib_common.c", - "alsa_adapter/src/alsa_lib_render.c", - "alsa_adapter/src/alsa_mixer_path.c", - ] - } else { - sources += [ - "adm_adapter/src/audio_interface_lib_common.c", - "adm_adapter/src/audio_interface_lib_render.c", - ] - } - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "interfaces/include", - "//third_party/bounds_checking_function/include", - ] - - deps = [] - - if (enable_audio_hal_hdf_log) { - defines = [ "AUDIO_HDF_LOG" ] - } - - if (drivers_peripheral_audio_feature_alsa_lib) { - include_dirs += [ - "alsa_adapter/include", - "//third_party/alsa-lib/include", - "//third_party/cJSON", - ] - deps += [ "//third_party/alsa-lib:libasound" ] - } else { - include_dirs += [ "adm_adapter/include" ] - } - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - public_configs = [ ":audio_interface_config" ] - - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } -} diff --git a/audio/test/audio_utils/audio_mixer/audio_mixer.c b/audio/test/audio_utils/audio_mixer/audio_mixer.c index ad498da2e5a66aa825f51b3c7299b81540891fcb..7b2038fb32d9343d71b97c9e0b1f24dd8d0e6c54 100644 --- a/audio/test/audio_utils/audio_mixer/audio_mixer.c +++ b/audio/test/audio_utils/audio_mixer/audio_mixer.c @@ -51,8 +51,8 @@ static struct AudioMixer g_audioMixer; static struct AudioMixerContents g_mixerCts; -static const char *g_capLibPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); -static const char *g_renLibPath = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); +static const char *g_capLibPath = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); +static const char *g_renLibPath = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); static void *g_soHandle = NULL; static AudioPcmType g_pcmT = PCM_RENDER; static bool g_debugFlag = false; diff --git a/audio/test/fuzztest/BUILD.gn b/audio/test/fuzztest/BUILD.gn index 238303ab5e104421e3c897e176fdaf46d7bf5907..11556eeddef314040f161169e875a6244a7cbbff 100644 --- a/audio/test/fuzztest/BUILD.gn +++ b/audio/test/fuzztest/BUILD.gn @@ -22,7 +22,5 @@ group("fuzztest") { "adm_fuzzer:adm_fuzzer", "audio_config_fuzzer:audio_config_fuzzer", "audio_hdi_fuzzer:audio_hdi_fuzzer", - - #"hdi_fuzzer:hdi_fuzzer", ] } diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/BUILD.gn b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/BUILD.gn index 3253fcf8c4036fb3552bd1f201d1f0bb8ad5c0e1..6e90600ea3a56294748c1f1d1af37521f939c449 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/BUILD.gn +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/BUILD.gn @@ -35,7 +35,6 @@ ohos_fuzztest("AudioInterfacelibctlcaptureCmdidFuzzTest") { sources = [ "../../common/src/audio_adm_fuzzer_common.cpp", - "../../common/src/audio_hdi_fuzzer_common.cpp", "audiointerfacelibctlcapturecmdid_fuzzer.cpp", ] include_dirs = [ diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer.cpp index 37b50c40ccc12a79a951732e9df0ec566918f47a..ed315c8af82176fd85c412686357620bb805e212 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer/audiointerfacelibctlcapturecmdid_fuzzer.cpp @@ -22,7 +22,7 @@ namespace Audio { bool AudioInterfacelibctlcaptureCmdidFuzzTest(const uint8_t *data, size_t size) { bool result = false; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); void *ctlcapFuzzPtrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ctlcapFuzzPtrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed\n", __func__); diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/BUILD.gn b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/BUILD.gn index d8c030062b81243f1a000aaa097d7caa2f310995..663cefb0b20c32bc37d70d3728ce8d88cfb1afbc 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/BUILD.gn +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/BUILD.gn @@ -35,7 +35,6 @@ ohos_fuzztest("AudioInterfacelibctlrenderCmdidFuzzTest") { sources = [ "../../common/src/audio_adm_fuzzer_common.cpp", - "../../common/src/audio_hdi_fuzzer_common.cpp", "audiointerfacelibctlrendercmdid_fuzzer.cpp", ] include_dirs = [ diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/audiointerfacelibctlrendercmdid_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/audiointerfacelibctlrendercmdid_fuzzer.cpp index 06cf261918eaca7017778b1f9fd973ebc9443b00..d3de16da6a2b5f51d99515136d8b3ed5105a915b 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/audiointerfacelibctlrendercmdid_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfacelibctlrendercmdid_fuzzer/audiointerfacelibctlrendercmdid_fuzzer.cpp @@ -22,7 +22,7 @@ namespace Audio { bool AudioInterfacelibctlrenderCmdidFuzzTest(const uint8_t *data, size_t size) { bool result = false; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); void *ctlRenFuzzPtrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ctlRenFuzzPtrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed \n", __func__); diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/BUILD.gn b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/BUILD.gn index f40b00353147f68ccf41fa5909aa40cfeee0e46c..3226ae67576b62cd15690ee0dee0082a96d9b385 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/BUILD.gn +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/BUILD.gn @@ -35,7 +35,6 @@ ohos_fuzztest("AudioInterfaceliboutputcaptureCmdidFuzzTest") { sources = [ "../../common/src/audio_adm_fuzzer_common.cpp", - "../../common/src/audio_hdi_fuzzer_common.cpp", "audiointerfaceliboutputcapturecmdid_fuzzer.cpp", ] include_dirs = [ diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer.cpp index 73ba1b89d59774e36360cb3c2b045c47e966791a..79daa8aa4163f54d1320edbafd9780960c276172 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer/audiointerfaceliboutputcapturecmdid_fuzzer.cpp @@ -22,7 +22,7 @@ namespace Audio { bool AudioInterfaceliboutputcaptureCmdidFuzzTest(const uint8_t *data, size_t size) { bool result = false; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); void *outputCapPtrHandle = dlopen(resolvedPath, RTLD_LAZY); if (outputCapPtrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed \n", __func__); diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/BUILD.gn b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/BUILD.gn index 83d863ba55ea518ed685e7824dec008678d6a9b9..f858c8163b7e411e825a7bbd9480328ce8a81a5a 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/BUILD.gn +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/BUILD.gn @@ -35,7 +35,6 @@ ohos_fuzztest("AudioInterfaceliboutputrenderCmdidFuzzTest") { sources = [ "../../common/src/audio_adm_fuzzer_common.cpp", - "../../common/src/audio_hdi_fuzzer_common.cpp", "audiointerfaceliboutputrendercmdid_fuzzer.cpp", ] include_dirs = [ diff --git a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer.cpp index 2f8140ea0e7eb6f281a2d5057dc083b9c0d2c102..04d719d464c11af033294e52b6b30071e981bcba 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer/audiointerfaceliboutputrendercmdid_fuzzer.cpp @@ -21,7 +21,7 @@ namespace Audio { bool AudioInterfaceliboutputrenderCmdidFuzzTest(const uint8_t *data, size_t size) { bool result = false; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); void *outputRenFuzzPtrHandle = dlopen(resolvedPath, RTLD_LAZY); if (outputRenFuzzPtrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed \n", __func__); diff --git a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/BUILD.gn index 9153aa9cbfbe83c85a8970ebaef45fb2ff330836..61b0f0a48ac448346374f6eb35dbd1798c8f1062 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/BUILD.gn +++ b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/BUILD.gn @@ -35,7 +35,6 @@ ohos_fuzztest("AudioLibAudioBindserviceCaptureFuzzTest") { sources = [ "../../common/src/audio_adm_fuzzer_common.cpp", - "../../common/src/audio_hdi_fuzzer_common.cpp", "audiolibaudiobindservicecapture_fuzzer.cpp", ] include_dirs = [ diff --git a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/audiolibaudiobindservicecapture_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/audiolibaudiobindservicecapture_fuzzer.cpp index dfaadaf2936ba07312eded929685fb50a37005fa..db03ff05ee4203b6d13cd8a88d1b9c5ce1de2909 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/audiolibaudiobindservicecapture_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicecapture_fuzzer/audiolibaudiobindservicecapture_fuzzer.cpp @@ -23,7 +23,7 @@ namespace Audio { { bool result = false; struct DevHandle *(*AudioBindService)(const char *) = nullptr; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); void *ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed \n", __func__); diff --git a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicerender_fuzzer/audiolibaudiobindservicerender_fuzzer.cpp b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicerender_fuzzer/audiolibaudiobindservicerender_fuzzer.cpp index 934859b0d4e6c6c8188f343c3ccee8343800dbc8..f35248e2ef4041a50eebadf147b74b162ff024c1 100644 --- a/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicerender_fuzzer/audiolibaudiobindservicerender_fuzzer.cpp +++ b/audio/test/fuzztest/adm_fuzzer/audiolibaudiobindservicerender_fuzzer/audiolibaudiobindservicerender_fuzzer.cpp @@ -23,7 +23,7 @@ namespace Audio { { bool result = false; struct DevHandle *(*BindServiceRender)(const char *) = nullptr; - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); void *ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { HDF_LOGE("%{public}s: dlopen failed \n", __func__); diff --git a/audio/test/fuzztest/common/include/audio_adm_fuzzer_common.h b/audio/test/fuzztest/common/include/audio_adm_fuzzer_common.h index 2f05a8eba8e20b172d9c1b5e8afe89a3e7b2916d..99d9ce8966cf15b67cbd148454c1546c1023cf54 100644 --- a/audio/test/fuzztest/common/include/audio_adm_fuzzer_common.h +++ b/audio/test/fuzztest/common/include/audio_adm_fuzzer_common.h @@ -36,14 +36,26 @@ #ifndef AUDIO_ADM_FUZZER_COMMON_H #define AUDIO_ADM_FUZZER_COMMON_H -#include "audio_hdi_fuzzer_common.h" + +#include +#include +#include + +#include "hdf_log.h" +#include "audio_adapter.h" +#include "audio_internal.h" +#include "audio_types.h" namespace OHOS { namespace Audio { using namespace std; +const string ADAPTER_NAME = "primary"; const string BIND_CONTROL = "control"; const string BIND_RENDER = "render"; const string BIND_CAPTURE = "capture"; +const int BUFFER_LENTH = 1024 * 16; +const int CHANNELCOUNT = 2; +const int DEEP_BUFFER_RENDER_PERIOD_SIZE = 4096; const int G_PERIODSIZE = 4096; const int G_PERIODCOUNT = 8; const int G_BYTERATE = 48000; @@ -51,8 +63,18 @@ const int G_BUFFERFRAMESIZE = 0; const int G_BUFFERSIZE1 = 128; const int G_SILENCETHRESHOLE = 0; const int G_PORTID = 0; +const int MOVE_LEFT_NUM = 8; +const int SAMPLERATE = 48000; const int STOP_THRESHOLD = 32; const int START_THRESHOLD = 8; +const uint32_t INT_32_MAX = 0x7fffffff; + +enum AudioPCMBit { + PCM_8_BIT = 8, + PCM_16_BIT = 16, + PCM_24_BIT = 24, + PCM_32_BIT = 32, +}; int32_t InitRenderFramepara(struct AudioFrameRenderMode& frameRenderMode); diff --git a/audio/test/fuzztest/common/include/audio_hdi_fuzzer_common.h b/audio/test/fuzztest/common/include/audio_hdi_fuzzer_common.h deleted file mode 100644 index 2e172f5f1feca473e46311f813735e7cf98cc742..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/common/include/audio_hdi_fuzzer_common.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/* - * @file audio_adapter.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#ifndef AUDIO_HDI_FUZZER_COMMON_H -#define AUDIO_HDI_FUZZER_COMMON_H -#include -#include -#include "hdf_log.h" -#include "audio_adapter.h" -#include "audio_internal.h" -#include "audio_types.h" - -#ifdef __LITEOS__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/usr/lib/libhdi_audio_client.z.so" -#else -#ifdef __aarch64__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib64/libhdi_audio_client.z.so" -#else -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib/libhdi_audio_client.z.so" -#endif -#endif - -namespace OHOS { -namespace Audio { -using namespace std; - -#ifdef AUDIO_ADM_SO - const std::string FUNCTION_NAME = "GetAudioManagerFuncs"; - const std::string RESOLVED_PATH = HDF_LIBRARY_FULL_PATH("libhdi_audio"); -#endif -#ifdef AUDIO_ADM_SERVICE - const std::string FUNCTION_NAME = "GetAudioManagerFuncs"; - const std::string RESOLVED_PATH = HDF_AUDIO_CLIENT_FULL_PATH_LIB; -#endif -using TestAudioManager = struct AudioManager; -const uint32_t INT_32_MAX = 0x7fffffff; -const uint32_t MOVE_RIGHT_NUM = 3; -const int MOVE_LEFT_NUM = 8; -const int CHANNELCOUNT = 2; -const int FILE_CAPTURE_SIZE = 1024 * 1024 * 1; -const int SAMPLERATE = 48000; -const int DEEP_BUFFER_RENDER_PERIOD_SIZE = 4096; -const int BUFFER_LENTH = 1024 * 16; -const uint64_t MEGABYTE = 1024; -const int FRAME_SIZE = 1024; -const int FRAME_COUNT = 4; -const int ADAPTER_COUNT = 32; -const int TRY_NUM_FRAME = 20; -const string AUDIO_LOW_LATENCY_CAPTURE_FILE = "/data/lowlatencycapturetest.wav"; -const string AUDIO_LOW_LATENCY_RENDER_FILE = "/data/lowlatencyrendertest.wav"; -const string ADAPTER_NAME = "primary"; - -enum AudioPCMBit { - PCM_8_BIT = 8, - PCM_16_BIT = 16, - PCM_24_BIT = 24, - PCM_32_BIT = 32, -}; -int32_t GetManager(TestAudioManager *&manager); - -int32_t InitAttrs(struct AudioSampleAttributes& attrs); - -int32_t InitDevDesc(struct AudioDeviceDescriptor& devDesc, const uint32_t portId, enum AudioPortPin pins); - -int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size); - -int32_t GetLoadAdapter(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioPort *&audioPort); - -int32_t AudioCreateRender(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioRender **render); - -int32_t AudioGetManagerCreateRender(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioRender **render); - -int32_t AudioGetManagerCreateStartRender(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioRender **render); - -int32_t AudioCreateCapture(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioCapture **capture); - -int32_t AudioGetManagerCreateCapture(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioCapture **capture); - -int32_t AudioGetManagerCreateStartCapture(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioCapture **capture); - -int32_t InitMmapDesc(FILE *fp, struct AudioMmapBufferDescriptor &desc, int32_t &reqSize, bool flag); -} -} -#endif // AUDIO_HDI_FUZZER_COMMON_H - diff --git a/audio/test/fuzztest/common/src/audio_adm_fuzzer_common.cpp b/audio/test/fuzztest/common/src/audio_adm_fuzzer_common.cpp index 040d4ca400803e7d294524d0720d3d8e00a977ea..067eea1e4cdad5c9c3d48084224716dadcf6a55a 100644 --- a/audio/test/fuzztest/common/src/audio_adm_fuzzer_common.cpp +++ b/audio/test/fuzztest/common/src/audio_adm_fuzzer_common.cpp @@ -37,6 +37,23 @@ namespace OHOS { namespace Audio { +int32_t InitAttrs(struct AudioSampleAttributes& attrs) +{ + attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; + attrs.channelCount = CHANNELCOUNT; + attrs.sampleRate = SAMPLERATE; + attrs.interleaved = 0; + attrs.type = AUDIO_IN_MEDIA; + attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; + attrs.frameSize = PCM_16_BIT * CHANNELCOUNT / MOVE_LEFT_NUM; + attrs.isBigEndian = false; + attrs.isSignedData = true; + attrs.startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (PCM_16_BIT * attrs.channelCount / MOVE_LEFT_NUM); + attrs.stopThreshold = INT_32_MAX; + attrs.silenceThreshold = BUFFER_LENTH; + return HDF_SUCCESS; +} + int32_t InitRenderFramepara(struct AudioFrameRenderMode& frameRenderMode) { InitAttrs(frameRenderMode.attrs); diff --git a/audio/test/fuzztest/common/src/audio_hdi_fuzzer_common.cpp b/audio/test/fuzztest/common/src/audio_hdi_fuzzer_common.cpp deleted file mode 100644 index 847c03f8a188b61beb0b36ef99b8926f03386d73..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/common/src/audio_hdi_fuzzer_common.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs for fuzztest. - * - * @since 1.0 - * @version 1.0 - */ - -/* - * @file audio_hdi_fuzzer_common.h - * - * @brief Declares APIs for operations related to the audio fuzztest. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_fuzzer_common.h" - -#define OFFSET_SIZE 134 - -namespace OHOS { -namespace Audio { -int32_t GetManager(TestAudioManager *&manager) -{ - void *handleSo = nullptr; - TestAudioManager *(*GetAudioManager)() = nullptr; - handleSo = dlopen(RESOLVED_PATH.c_str(), RTLD_LAZY); - if (handleSo == nullptr) { - return HDF_FAILURE; - } - GetAudioManager = reinterpret_cast(dlsym(handleSo, FUNCTION_NAME.c_str())); - if (GetAudioManager == nullptr) { - return HDF_FAILURE; - } - manager = GetAudioManager(); - if (manager == nullptr) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -int32_t InitAttrs(struct AudioSampleAttributes& attrs) -{ - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.channelCount = CHANNELCOUNT; - attrs.sampleRate = SAMPLERATE; - attrs.interleaved = 0; - attrs.type = AUDIO_IN_MEDIA; - attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; - attrs.frameSize = PCM_16_BIT * CHANNELCOUNT / MOVE_LEFT_NUM; - attrs.isBigEndian = false; - attrs.isSignedData = true; - attrs.startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (PCM_16_BIT * attrs.channelCount / MOVE_LEFT_NUM); - attrs.stopThreshold = INT_32_MAX; - attrs.silenceThreshold = BUFFER_LENTH; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor& devDesc, const uint32_t portId, enum AudioPortPin pins) -{ - devDesc.portId = portId; - devDesc.pins = pins; - devDesc.desc = nullptr; - return HDF_SUCCESS; -} - -int32_t SwitchAdapter(struct AudioAdapterDescriptor *descs, const std::string& adapterNameCase, - enum AudioPortDirection portFlag, struct AudioPort *&audioPort, int size) -{ - if (descs == nullptr || size > ADAPTER_COUNT) { - return HDF_FAILURE; - } - - for (int index = 0; index < size; index++) { - struct AudioAdapterDescriptor *desc = &descs[index]; - if (desc == nullptr || desc->adapterName == nullptr) { - continue; - } - if (strcmp(desc->adapterName, adapterNameCase.c_str())) { - continue; - } - for (uint32_t port = 0; port < desc->portNum; port++) { - if (desc->ports[port].dir == portFlag) { - audioPort = &desc->ports[port]; - return index; - } - } - } - return HDF_FAILURE; -} - -int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size) -{ - int32_t ret = -1; - if (manager == nullptr || descs == nullptr) { - return HDF_FAILURE; - } - ret = manager->GetAllAdapters(manager, descs, &size); - if (ret < 0 || *descs == nullptr) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -int32_t GetLoadAdapter(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioPort *&audioPort) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - if (manager == nullptr || adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = GetAdapters(manager, &descs, size); - if (ret < 0) { - return ret; - } - if (descs == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - int index = SwitchAdapter(descs, ADAPTER_NAME, PORT_OUT, audioPort, size); - if (index < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - desc = &descs[index]; - ret = manager->LoadAdapter(manager, desc, adapter); - if (ret < 0) { - return ret; - } - if (*adapter == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioCreateRender(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioRender **render) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioPort *renderPort = nullptr; - if (manager == nullptr || adapter == nullptr || render == nullptr) { - return HDF_FAILURE; - } - ret = GetLoadAdapter(manager, adapter, renderPort); - if (ret < 0) { - return ret; - } - if (*adapter == nullptr || (*adapter)->CreateRender == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - ret = (*adapter)->CreateRender(*adapter, &devDesc, &attrs, render); - if (ret < 0) { - manager->UnloadAdapter(manager, *adapter); - return ret; - } - if (*render == nullptr) { - manager->UnloadAdapter(manager, *adapter); - return AUDIO_HAL_ERR_INTERNAL; - } - return HDF_SUCCESS; -} -int32_t AudioGetManagerCreateRender(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioRender **render) -{ - int32_t ret = -1; - ret = GetManager(manager); - if (ret < 0 || manager == nullptr) { - return HDF_FAILURE; - } - ret = AudioCreateRender(manager, adapter, render); - if (ret < 0 || adapter == nullptr || render == nullptr) { - return HDF_FAILURE; - } - return ret; -} -int32_t AudioGetManagerCreateStartRender(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioRender **render) -{ - int32_t ret = -1; - ret = AudioGetManagerCreateRender(manager, adapter, render); - if (ret < 0 || adapter == nullptr || render == nullptr) { - return HDF_FAILURE; - } - ret = (*render)->control.Start((AudioHandle)*render); - if (ret < 0) { - (*adapter)->DestroyRender(*adapter, *render); - manager->UnloadAdapter(manager, *adapter); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -int32_t AudioCreateCapture(TestAudioManager *manager, struct AudioAdapter **adapter, struct AudioCapture **capture) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioPort *capturePort = nullptr; - if (manager == nullptr || adapter == nullptr || capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = GetLoadAdapter(manager, adapter, capturePort); - if (ret < 0) { - return ret; - } - if (*adapter == nullptr || (*adapter)->CreateCapture == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - InitAttrs(attrs); - InitDevDesc(devDesc, capturePort->portId, PIN_IN_MIC); - ret = (*adapter)->CreateCapture(*adapter, &devDesc, &attrs, capture); - if (ret < 0) { - manager->UnloadAdapter(manager, *adapter); - return ret; - } - if (*capture == nullptr) { - manager->UnloadAdapter(manager, *adapter); - return AUDIO_HAL_ERR_INTERNAL; - } - return HDF_SUCCESS; -} -int32_t AudioGetManagerCreateCapture(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioCapture **capture) -{ - int32_t ret = -1; - ret = GetManager(manager); - if (ret < 0 || manager == nullptr) { - return HDF_FAILURE; - } - ret = AudioCreateCapture(manager, adapter, capture); - if (ret < 0 || adapter == nullptr || capture == nullptr) { - return HDF_FAILURE; - } - return ret; -} -int32_t AudioGetManagerCreateStartCapture(TestAudioManager *&manager, struct AudioAdapter **adapter, - struct AudioCapture **capture) -{ - int32_t ret = -1; - ret = AudioGetManagerCreateCapture(manager, adapter, capture); - if (ret < 0 || adapter == nullptr || capture == nullptr || manager == nullptr) { - return HDF_FAILURE; - } - ret = (*capture)->control.Start((AudioHandle)*capture); - if (ret < 0) { - (*adapter)->DestroyCapture(*adapter, *capture); - manager->UnloadAdapter(manager, *adapter); - return ret; - } - return HDF_SUCCESS; -} -int32_t InitMmapDesc(FILE *fp, struct AudioMmapBufferDescriptor &desc, int32_t &reqSize, bool flag) -{ - if (fp == NULL) { - return HDF_FAILURE; - } - int fd = fileno(fp); - if (fd == -1) { - return HDF_FAILURE; - } - if (flag) { - fseek(fp, 0, SEEK_END); - reqSize = ftell(fp); - desc.offset = OFFSET_SIZE; - } else { - reqSize = FILE_CAPTURE_SIZE; - ftruncate(fd, FILE_CAPTURE_SIZE); - desc.offset = 0; - } - desc.memoryFd = fd; - desc.isShareable = 1; - desc.transferFrameSize = DEEP_BUFFER_RENDER_PERIOD_SIZE / FRAME_COUNT; - return HDF_SUCCESS; -} -} -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/BUILD.gn deleted file mode 100644 index 3347bd4defaf95cee234e45c969321a6922212d3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/BUILD.gn +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License - -import("//build/config/features.gni") -import("//build/test.gni") -import("//build/test.gni") - -group("hdi_fuzzer") { - testonly = true - deps = [] - - deps += [ - # deps file - "adapter:adapter", - "attribute:attribute", - "capture:capture", - "control:control", - "render:render", - "volume:volume", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/BUILD.gn deleted file mode 100644 index 6e8c83e18ee3767947c4193a4d02962566164a89..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("adapter") { - testonly = true - deps = [] - - deps += [ - # deps file - "audiocreatecaptureattrs_fuzzer:AudioCreateCaptureAttrsFuzzTest", - "audiocreatecapturedesc_fuzzer:AudioCreatecaptureDescFuzzTest", - "audiocreaterenderattrs_fuzzer:AudioCreaterenderAttrsFuzzTest", - "audiocreaterenderdesc_fuzzer:AudioCreaterenderDescFuzzTest", - "audiodestroycapturecapture_fuzzer:AudioDestroycaptureCaptureFuzzTest", - "audiodestroyrenderrender_fuzzer:AudioDestroyrenderRenderFuzzTest", - "audiogetalladapters_fuzzer:AudioGetalladaptersFuzzTest", - "audioloadadapterdesc_fuzzer:AudioLoadadapterDescFuzzTest", - "audioloadadaptermanager_fuzzer:AudioLoadadapterManagerFuzzTest", - "audiounloadadaptermanager_fuzzer:AudioUnloadadapterManagerFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/BUILD.gn deleted file mode 100644 index de33706c82311eaf8da5fe8394a2904117a6d267..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCreateCaptureAttrsFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocreatecaptureattrs_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocreatecaptureattrs_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.cpp deleted file mode 100644 index 4142d38606c5842d5d9d138e8c4feb767c88b198..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "securec.h" -#include "audiocreatecaptureattrs_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCreateCaptureAttrsFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *manager = nullptr; - int32_t ret = GetManager(manager); - if (ret < 0 || manager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *attrsFuzzAdapter = nullptr; - struct AudioPort *attrsFuzzCapturePort = nullptr; - ret = GetLoadAdapter(manager, &attrsFuzzAdapter, attrsFuzzCapturePort); - if (ret < 0 || attrsFuzzAdapter == nullptr || attrsFuzzCapturePort == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - struct AudioDeviceDescriptor devDesc = {}; - InitDevDesc(devDesc, attrsFuzzCapturePort->portId, PIN_IN_MIC); - struct AudioCapture *capture = nullptr; - struct AudioSampleAttributes attrsFuzz = {}; - int32_t copySize = sizeof(attrsFuzz) > size ? size : sizeof(attrsFuzz); - if (memcpy_s((void *)&attrsFuzz, sizeof(attrsFuzz), data, copySize) != 0) { - return false; - } - ret = attrsFuzzAdapter->CreateCapture(attrsFuzzAdapter, &devDesc, &attrsFuzz, &capture); - if (ret == HDF_SUCCESS) { - result = true; - } - attrsFuzzAdapter->DestroyCapture(attrsFuzzAdapter, capture); - manager->UnloadAdapter(manager, attrsFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCreateCaptureAttrsFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.h deleted file mode 100644 index 7b663c96b4e479dceb3c158d2363ec8a6a7183bb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/audiocreatecaptureattrs_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_CREATE_CAPTURE_ATTRS_FUZZER_H -#define AUDIO_CREATE_CAPTURE_ATTRS_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocreatecaptureattrs_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecaptureattrs_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/BUILD.gn deleted file mode 100644 index 77938740e92575877ec074ff11ad4164fac7d7c6..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCreatecaptureDescFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocreatecapturedesc_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocreatecapturedesc_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.cpp deleted file mode 100644 index 49d56e397b110cea1c83c2356e3cffb63f38912d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "securec.h" -#include "audiocreatecapturedesc_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCreatecaptureDescFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *descFuzzManager = nullptr; - int32_t ret = GetManager(descFuzzManager); - if (ret < 0 || descFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *descFuzzAdapter = nullptr; - struct AudioPort *descFuzzCapturePort = nullptr; - ret = GetLoadAdapter(descFuzzManager, &descFuzzAdapter, descFuzzCapturePort); - if (ret < 0 || descFuzzAdapter == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - struct AudioSampleAttributes attrs = {}; - InitAttrs(attrs); - struct AudioCapture *capture = nullptr; - struct AudioDeviceDescriptor devDescFuzz = {}; - int32_t copySize = sizeof(devDescFuzz) > size ? size : sizeof(devDescFuzz); - if (memcpy_s((void *)&devDescFuzz, sizeof(devDescFuzz), data, copySize) != 0) { - return false; - } - ret = descFuzzAdapter->CreateCapture(descFuzzAdapter, &devDescFuzz, &attrs, &capture); - if (ret == HDF_SUCCESS) { - descFuzzAdapter->DestroyCapture(descFuzzAdapter, capture); - result = true; - } - - descFuzzManager->UnloadAdapter(descFuzzManager, descFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCreatecaptureDescFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.h deleted file mode 100644 index f07baa9c9889921bb37bbc813d435318ea8da9cb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/audiocreatecapturedesc_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_CREATECAPTURE_DESC_FUZZER_H -#define AUDIO_CREATECAPTURE_DESC_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocreatecapturedesc_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreatecapturedesc_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/BUILD.gn deleted file mode 100644 index 2ca9bd303704e7c81a1e43ed196e4d8bad27cc56..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCreaterenderAttrsFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocreaterenderattrs_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocreaterenderattrs_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.cpp deleted file mode 100644 index e866007a382e1c04d6fbfa3d530b35d9ed432568..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "securec.h" -#include "audiocreaterenderattrs_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCreaterenderAttrsFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *attrsFuzzManager = nullptr; - int32_t ret = GetManager(attrsFuzzManager); - if (ret < 0 || attrsFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *attrsFuzzAdapter = nullptr; - struct AudioPort *renderPort = nullptr; - ret = GetLoadAdapter(attrsFuzzManager, &attrsFuzzAdapter, renderPort); - if (ret < 0 || attrsFuzzAdapter == nullptr || renderPort == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - struct AudioDeviceDescriptor devDesc = {}; - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - - struct AudioRender *attrsFuzzRender = nullptr; - struct AudioSampleAttributes attrsFuzz = {}; - int32_t copySize = sizeof(attrsFuzz) > size ? size : sizeof(attrsFuzz); - if (memcpy_s((void *)&attrsFuzz, sizeof(attrsFuzz), data, copySize) != 0) { - return false; - } - ret = attrsFuzzAdapter->CreateRender(attrsFuzzAdapter, &devDesc, &attrsFuzz, &attrsFuzzRender); - if (ret == HDF_SUCCESS) { - attrsFuzzAdapter->DestroyRender(attrsFuzzAdapter, attrsFuzzRender); - result = true; - } - attrsFuzzManager->UnloadAdapter(attrsFuzzManager, attrsFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCreaterenderAttrsFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.h deleted file mode 100644 index 627de50fafcc5380715d7dca32cd93f5c974759c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/audiocreaterenderattrs_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_CREATERENDER_ATTRS_FUZZER_H -#define AUDIO_CREATERENDER_ATTRS_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocreaterenderattrs_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderattrs_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/BUILD.gn deleted file mode 100644 index f26a3beda65881acd3287c13831fdc316416d92f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCreaterenderDescFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocreaterenderdesc_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocreaterenderdesc_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.cpp deleted file mode 100644 index 5b4cd32bab4305ba88f857975359dc735b506b8f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "securec.h" -#include "audiocreaterenderdesc_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCreaterenderDescFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *descFuzzManager = nullptr; - int32_t ret = GetManager(descFuzzManager); - if (ret < 0 || descFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *descFuzzAdapter = nullptr; - struct AudioPort *renderPort = nullptr; - ret = GetLoadAdapter(descFuzzManager, &descFuzzAdapter, renderPort); - if (ret < 0 || descFuzzAdapter == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - struct AudioSampleAttributes attrs = {}; - InitAttrs(attrs); - - struct AudioRender *descFuzzRender = nullptr; - struct AudioDeviceDescriptor devDescFuzz = {}; - int32_t copySize = sizeof(devDescFuzz) > size ? size : sizeof(devDescFuzz); - if (memcpy_s((void *)&devDescFuzz, sizeof(devDescFuzz), data, copySize) != 0) { - return false; - } - ret = descFuzzAdapter->CreateRender(descFuzzAdapter, &devDescFuzz, &attrs, &descFuzzRender); - if (ret == HDF_SUCCESS) { - descFuzzAdapter->DestroyRender(descFuzzAdapter, descFuzzRender); - result = true; - } - descFuzzManager->UnloadAdapter(descFuzzManager, descFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCreaterenderDescFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.h deleted file mode 100644 index d8a5ad7df8433d57b8f835d75c70843e66e06267..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/audiocreaterenderdesc_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_CREATERENDER_DESC_FUZZER_H -#define AUDIO_CREATERENDER_DESC_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocreaterenderdesc_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiocreaterenderdesc_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/BUILD.gn deleted file mode 100644 index 62392a98814da3f7689f5a598c90effb124790bb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioDestroycaptureCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiodestroycapturecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiodestroycapturecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.cpp deleted file mode 100644 index 35dd551a4c05dcab29e08144ee185fea1dd4cf29..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "audiodestroycapturecapture_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioDestroycaptureCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *destroyCapFuzzManager = nullptr; - int32_t ret = GetManager(destroyCapFuzzManager); - if (ret < 0 || destroyCapFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *destroyFuzzAdapter = nullptr; - struct AudioPort *capturePort = nullptr; - ret = GetLoadAdapter(destroyCapFuzzManager, &destroyFuzzAdapter, capturePort); - if (ret < 0 || destroyFuzzAdapter == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = destroyFuzzAdapter->DestroyCapture(destroyFuzzAdapter, captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - destroyCapFuzzManager->UnloadAdapter(destroyCapFuzzManager, destroyFuzzAdapter); - return result; -} -} -} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioDestroycaptureCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.h deleted file mode 100644 index 44665c018c4e1f514c546926521b6dfde53ad0b7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/audiodestroycapturecapture_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_DESTROYCAPTURE_CAPTURE_FUZZER_H -#define AUDIO_DESTROYCAPTURE_CAPTURE_FUZZER_H -#define FUZZ_PROJECT_NAME "audiodestroycapturecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroycapturecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/BUILD.gn deleted file mode 100644 index e48bc4d5701fb7d48ed286f9666ff8e9dce625f0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioDestroyrenderRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiodestroyrenderrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiodestroyrenderrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.cpp deleted file mode 100644 index d3659a5d0b4215830cbe05e34acb4c480dc4509f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "audiodestroyrenderrender_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioDestroyrenderRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *destroyFuzzManager = nullptr; - int32_t ret = GetManager(destroyFuzzManager); - if (ret < 0 || destroyFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *destroyFuzzAdapter = nullptr; - struct AudioPort *renderPort = nullptr; - ret = GetLoadAdapter(destroyFuzzManager, &destroyFuzzAdapter, renderPort); - if (ret < 0 || destroyFuzzAdapter == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = destroyFuzzAdapter->DestroyRender(destroyFuzzAdapter, renderFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - destroyFuzzManager->UnloadAdapter(destroyFuzzManager, destroyFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioDestroyrenderRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.h deleted file mode 100644 index ae31c70863483336079476a20318eadc4f1e9992..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/audiodestroyrenderrender_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_DESTROYRENDER_RENDER_FUZZER_H -#define AUDIO_DESTROYRENDER_RENDER_FUZZER_H -#define FUZZ_PROJECT_NAME "audiodestroyrenderrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiodestroyrenderrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/BUILD.gn deleted file mode 100755 index 49b7789f9e3d0130a61d8c3942dd3bb59b99098d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetalladaptersFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetalladapters_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetalladapters_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.cpp deleted file mode 100755 index 2cf2e2e7a7fea0d230239ef27fd6d6706a7f425f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "audio_hdi_fuzzer_common.h" -#include "audiogetalladapters_fuzzer.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetalladaptersFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getAllFuzzManager = nullptr; - int32_t ret = GetManager(getAllFuzzManager); - if (ret < 0 || getAllFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapterDescriptor *descs = nullptr; - int sizeone = 0; - - TestAudioManager *managerFuzz = reinterpret_cast(const_cast(data)); - ret = getAllFuzzManager->GetAllAdapters(managerFuzz, &descs, &sizeone); - if (ret == HDF_SUCCESS) { - result = true; - } - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetalladaptersFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.h deleted file mode 100755 index 5a233d6ab14082d2a96bcefa255053c2d7e2cd45..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/audiogetalladapters_fuzzer.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef AUDIO_GETALLADAPTERS_FUZZER_H -#define AUDIO_GETALLADAPTERS_FUZZER_H -#define FUZZ_PROJECT_NAME "audiogetalladapters_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/corpus/init deleted file mode 100755 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/project.xml deleted file mode 100755 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiogetalladapters_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/BUILD.gn deleted file mode 100644 index e0712279755caedde799afa1224efe6b42bd6c75..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioLoadadapterDescFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioloadadapterdesc_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioloadadapterdesc_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.cpp deleted file mode 100644 index 5864273a9bac225ef4ef39ca125bbf822fbd265d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioloadadapterdesc_fuzzer.h" -#include "securec.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioLoadadapterDescFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *loadAdapterFuzzManager = nullptr; - int32_t ret = GetManager(loadAdapterFuzzManager); - if (ret < 0 || loadAdapterFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - uint8_t *dataFuzz = const_cast(data); - struct AudioPort portFuzz = { - .dir = *(reinterpret_cast(dataFuzz)), - .portId = *(reinterpret_cast(dataFuzz)), - .portName = reinterpret_cast(dataFuzz), - }; - struct AudioAdapterDescriptor descFuzz = { - .adapterName = reinterpret_cast(dataFuzz), - .ports = &portFuzz, - }; - struct AudioAdapter *adapter = nullptr; - ret = loadAdapterFuzzManager->LoadAdapter(loadAdapterFuzzManager, &descFuzz, &adapter); - if (ret == HDF_SUCCESS) { - result = true; - } - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioLoadadapterDescFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.h deleted file mode 100644 index 30cd561b8a81ea15722e3850e6d21c4b2b9f52c8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/audioloadadapterdesc_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_LOADADAPTER_DESC_FUZZER_H -#define AUDIO_LOADADAPTER_DESC_FUZZER_H -#define FUZZ_PROJECT_NAME "audioloadadapterdesc_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadapterdesc_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/BUILD.gn deleted file mode 100644 index f8355081966215a25c6024cd74a9f3de3ee8c411..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioLoadadapterManagerFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioloadadaptermanager_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioloadadaptermanager_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.cpp deleted file mode 100644 index d8a04eac3a9083e9b6bca7556951906044859370..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioloadadaptermanager_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioLoadadapterManagerFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *loadAdapterFuzzManager = nullptr; - int32_t ret = GetManager(loadAdapterFuzzManager); - if (ret < 0 || loadAdapterFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapterDescriptor *descs = nullptr; - int sizeone = 0; - ret = loadAdapterFuzzManager->GetAllAdapters(loadAdapterFuzzManager, &descs, &sizeone); - if (ret < 0) { - HDF_LOGE("%{public}s: GetAllAdapters failed \n", __func__); - return false; - } - struct AudioAdapterDescriptor *desc = &descs[0]; - struct AudioAdapter *adapter = nullptr; - TestAudioManager *managerFuzz = reinterpret_cast(const_cast(data)); - ret = loadAdapterFuzzManager->LoadAdapter(managerFuzz, desc, &adapter); - if (ret == HDF_SUCCESS) { - result = true; - } - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioLoadadapterManagerFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.h deleted file mode 100644 index 854e6d87665b80dfde642a9e5c77483060b3476e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/audioloadadaptermanager_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_LOADADAPTER_MANAGER_FUZZER_H -#define AUDIO_LOADADAPTER_MANAGER_FUZZER_H -#define FUZZ_PROJECT_NAME "audioloadadaptermanager_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audioloadadaptermanager_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/BUILD.gn deleted file mode 100644 index 5df3c73d83624d3fbfa43a99cf70263b7ef91950..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioUnloadadapterManagerFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiounloadadaptermanager_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiounloadadaptermanager_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.cpp deleted file mode 100644 index 626dbda39f984e171025b7a74b0155108f2d8334..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiounloadadaptermanager_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioUnloadadapterManagerFuzzTest(const uint8_t *data, size_t size) -{ - TestAudioManager *unloadAdapterFuzzManager = nullptr; - int32_t ret = GetManager(unloadAdapterFuzzManager); - if (ret < 0 || unloadAdapterFuzzManager == nullptr) { - HDF_LOGE("%{public}s: GetManager failed \n", __func__); - return false; - } - struct AudioAdapter *unloadAdapterFuzzAdapter = nullptr; - struct AudioPort *capturePort = nullptr; - ret = GetLoadAdapter(unloadAdapterFuzzManager, &unloadAdapterFuzzAdapter, capturePort); - if (ret < 0 || unloadAdapterFuzzAdapter == nullptr) { - HDF_LOGE("%{public}s: GetLoadAdapter failed \n", __func__); - return false; - } - - TestAudioManager *managerFuzz = reinterpret_cast(const_cast(data)); - unloadAdapterFuzzManager->UnloadAdapter(managerFuzz, unloadAdapterFuzzAdapter); - unloadAdapterFuzzManager->UnloadAdapter(unloadAdapterFuzzManager, unloadAdapterFuzzAdapter); - return true; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioUnloadadapterManagerFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.h deleted file mode 100644 index bfc4274e3ceb48b92c8e12ae2cbd66de111e721d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/audiounloadadaptermanager_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_UNLOADADAPTER_MANAGER_FUZZER_H -#define AUDIO_UNLOADADAPTER_MANAGER_FUZZER_H -#define FUZZ_PROJECT_NAME "audiounloadadaptermanager_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/adapter/audiounloadadaptermanager_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/BUILD.gn deleted file mode 100644 index f2e61f7f46d377b55efe131bce16db0a97e0c16d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/BUILD.gn +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("attribute") { - testonly = true - deps = [] - - deps += [ - # deps file - "audiocapturegetmmappositioncapture_fuzzer:AudioCaptureGetmmappositionCaptureFuzzTest", - "audiocapturereqmmapbuffercapture_fuzzer:AudioCaptureReqmmapbufferCaptureFuzzTest", - "audiocapturereqmmapbufferdesc_fuzzer:AudioCaptureReqmmapbufferDescFuzzTest", - "audiocapturereqmmapbufferreqsize_fuzzer:AudioCaptureReqmmapbufferReqsizeFuzzTest", - "audiocheckscenecapabilitycapture_fuzzer:AudioCheckSceneCapabilityCaptureFuzzTest", - "audiocheckscenecapabilitycapturescene_fuzzer:AudioCheckSceneCapabilityCaptureSceneFuzzTest", - "audiocheckscenecapabilityrender_fuzzer:AudioCheckSceneCapabilityRenderFuzzTest", - "audiocheckscenecapabilityrenderscene_fuzzer:AudioCheckSceneCapabilityRenderSceneFuzzTest", - "audiogetcurrentchannelidcapture_fuzzer:AudioGetCurrentChannelidCaptureFuzzTest", - "audiogetcurrentchannelidrender_fuzzer:AudioGetCurrentChannelidRenderFuzzTest", - "audiogetframecountcapture_fuzzer:AudioGetFrameCountCaptureFuzzTest", - "audiogetframecountrender_fuzzer:AudioGetFrameCountRenderFuzzTest", - "audiogetframesizecapture_fuzzer:AudioGetFrameSizeCaptureFuzzTest", - "audiogetframesizerender_fuzzer:AudioGetFrameSizeRenderFuzzTest", - "audiogetsampleattributescapture_fuzzer:AudioGetSampleAttributesCaptureFuzzTest", - "audiogetsampleattributesrender_fuzzer:AudioGetSampleAttributesRenderFuzzTest", - "audiorendergetmmappositionrender_fuzzer:AudioRenderGetmmappositionRenderFuzzTest", - "audiorenderreqmmapbufferdesc_fuzzer:AudioRenderReqmmapbufferDescFuzzTest", - "audiorenderreqmmapbufferrender_fuzzer:AudioRenderReqmmapbufferRenderFuzzTest", - "audiorenderreqmmapbufferreqsize_fuzzer:AudioRenderReqmmapbufferReqsizeFuzzTest", - "audioselectscenecapture_fuzzer:AudioSelectSceneCaptureFuzzTest", - "audioselectscenecapturescene_fuzzer:AudioSelectSceneCaptureSceneFuzzTest", - "audioselectscenerender_fuzzer:AudioSelectSceneRenderFuzzTest", - "audioselectscenerenderscene_fuzzer:AudioSelectSceneRenderSceneFuzzTest", - "audiosetsampleattributescapture_fuzzer:AudioSetSampleAttributesCaptureFuzzTest", - "audiosetsampleattributescaptureattrs_fuzzer:AudioSetSampleAttributesCaptureAttrsFuzzTest", - "audiosetsampleattributesrender_fuzzer:AudioSetSampleAttributesRenderFuzzTest", - "audiosetsampleattributesrenderattrs_fuzzer:AudioSetSampleAttributesRenderAttrsFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/BUILD.gn deleted file mode 100644 index a4af2f9b8c052ec4ce157c14f6c4d3daf64aa460..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureGetmmappositionCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocapturegetmmappositioncapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocapturegetmmappositioncapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.cpp deleted file mode 100644 index 2ab8176b38e73bc7884470177c37f36c6be0db83..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocapturegetmmappositioncapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCaptureGetmmappositionCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *positionFuzzManager = nullptr; - struct AudioAdapter *positionFuzzAdapter = nullptr; - struct AudioCapture *positionFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(positionFuzzManager, &positionFuzzAdapter, &positionFuzzCapture); - if (ret < 0 || positionFuzzAdapter == nullptr || - positionFuzzCapture == nullptr || positionFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = positionFuzzCapture->attr.GetMmapPosition(captureFuzz, &frames, &time); - if (ret == HDF_SUCCESS) { - result = true; - } - positionFuzzAdapter->DestroyCapture(positionFuzzAdapter, positionFuzzCapture); - positionFuzzManager->UnloadAdapter(positionFuzzManager, positionFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureGetmmappositionCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.h deleted file mode 100644 index fb606f39dd5888738d0c4b453d148d84e62544d0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/audiocapturegetmmappositioncapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTURE_GETMMAPPOSITION_CAPTURE_FUZZER_H -#define AUDIO_CAPTURE_GETMMAPPOSITION_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocapturegetmmappositioncapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturegetmmappositioncapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/BUILD.gn deleted file mode 100644 index 70cf72ebe6c26c39530fd3f2cee96db49a4fee7d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureReqmmapbufferCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocapturereqmmapbuffercapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocapturereqmmapbuffercapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.cpp deleted file mode 100644 index 2cbcfdb2cd647995b64b11509ce316820283f205..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocapturereqmmapbuffercapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCaptureReqmmapbufferCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *mmapBufferFuzzManager = nullptr; - struct AudioAdapter *mmapBufferFuzzAdapter = nullptr; - struct AudioCapture *mmapBufferFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(mmapBufferFuzzManager, - &mmapBufferFuzzAdapter, &mmapBufferFuzzCapture); - if (ret < 0 || mmapBufferFuzzAdapter == nullptr || - mmapBufferFuzzCapture == nullptr || mmapBufferFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - if (fp == nullptr) { - mmapBufferFuzzAdapter->DestroyCapture(mmapBufferFuzzAdapter, mmapBufferFuzzCapture); - mmapBufferFuzzManager->UnloadAdapter(mmapBufferFuzzManager, mmapBufferFuzzAdapter); - HDF_LOGE("%{public}s: fopen failed \n", __func__); - return false; - } - ret = mmapBufferFuzzCapture->control.Start((AudioHandle)mmapBufferFuzzCapture); - if (ret < 0) { - mmapBufferFuzzAdapter->DestroyCapture(mmapBufferFuzzAdapter, mmapBufferFuzzCapture); - mmapBufferFuzzManager->UnloadAdapter(mmapBufferFuzzManager, mmapBufferFuzzAdapter); - fclose(fp); - HDF_LOGE("%{public}s: Start failed \n", __func__); - return false; - } - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - ret = InitMmapDesc(fp, desc, reqSize, isRender); - if (ret < 0) { - mmapBufferFuzzAdapter->DestroyCapture(mmapBufferFuzzAdapter, mmapBufferFuzzCapture); - mmapBufferFuzzManager->UnloadAdapter(mmapBufferFuzzManager, mmapBufferFuzzAdapter); - (void)fclose(fp); - HDF_LOGE("%{public}s: InitMmapDesc failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = mmapBufferFuzzCapture->attr.ReqMmapBuffer((AudioHandle)captureFuzz, reqSize, &desc); - if (ret == HDF_SUCCESS) { - (void)munmap(desc.memoryAddress, reqSize); - result = true; - } - mmapBufferFuzzAdapter->DestroyCapture(mmapBufferFuzzAdapter, mmapBufferFuzzCapture); - mmapBufferFuzzManager->UnloadAdapter(mmapBufferFuzzManager, mmapBufferFuzzAdapter); - (void)fclose(fp); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureReqmmapbufferCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.h deleted file mode 100644 index d911fa797e0b4edea8fabb91f18a493959defb59..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/audiocapturereqmmapbuffercapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTURE_REQMMAPBUFFER_CAPTURE_FUZZER_H -#define AUDIO_CAPTURE_REQMMAPBUFFER_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocapturereqmmapbuffercapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbuffercapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/BUILD.gn deleted file mode 100644 index 630ee33824575ea70c77e477291946a43671dfbc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureReqmmapbufferDescFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocapturereqmmapbufferdesc_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocapturereqmmapbufferdesc_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.cpp deleted file mode 100644 index 214f0aef060c8a9d101b28770c55ade77cbfc8f7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocapturereqmmapbufferdesc_fuzzer.h" -#include "securec.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCaptureReqmmapbufferDescFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *reqMmapFuzzManager = nullptr; - struct AudioAdapter *reqMmapFuzzAdapter = nullptr; - struct AudioCapture *reqMmapFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(reqMmapFuzzManager, &reqMmapFuzzAdapter, &reqMmapFuzzCapture); - if (ret < 0 || reqMmapFuzzAdapter == nullptr || - reqMmapFuzzCapture == nullptr || reqMmapFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - - struct AudioMmapBufferDescriptor descFuzz = {}; - int32_t copySize = sizeof(descFuzz) > size ? size : sizeof(descFuzz); - if (memcpy_s((void *)&descFuzz, sizeof(descFuzz), data, copySize) != 0) { - return false; - } - ret = reqMmapFuzzCapture->attr.ReqMmapBuffer((AudioHandle)reqMmapFuzzCapture, size, &descFuzz); - if (ret == HDF_SUCCESS) { - (void)munmap(descFuzz.memoryAddress, size); - result = true; - } - reqMmapFuzzAdapter->DestroyCapture(reqMmapFuzzAdapter, reqMmapFuzzCapture); - reqMmapFuzzManager->UnloadAdapter(reqMmapFuzzManager, reqMmapFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureReqmmapbufferDescFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.h deleted file mode 100644 index 59da4a4a5026c0630273012fe1648e0059185716..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/audiocapturereqmmapbufferdesc_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTURE_REQMMAPBUFFER_DESC_FUZZER_H -#define AUDIO_CAPTURE_REQMMAPBUFFER_DESC_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocapturereqmmapbufferdesc_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferdesc_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/BUILD.gn deleted file mode 100644 index fe73424b961f6a328fd627e142622b236b51130a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureReqmmapbufferReqsizeFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocapturereqmmapbufferreqsize_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocapturereqmmapbufferreqsize_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.cpp deleted file mode 100644 index 4181acec686f6b889a3d88ee4c65af4f02f45846..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocapturereqmmapbufferreqsize_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCaptureReqmmapbufferReqsizeFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *reqSizeFuzzManager = nullptr; - struct AudioAdapter *reqSizeFuzzAdapter = nullptr; - struct AudioCapture *reqSizeFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(reqSizeFuzzManager, &reqSizeFuzzAdapter, &reqSizeFuzzCapture); - if (ret < 0 || reqSizeFuzzAdapter == nullptr || - reqSizeFuzzCapture == nullptr || reqSizeFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - if (fp == nullptr) { - reqSizeFuzzAdapter->DestroyCapture(reqSizeFuzzAdapter, reqSizeFuzzCapture); - reqSizeFuzzManager->UnloadAdapter(reqSizeFuzzManager, reqSizeFuzzAdapter); - HDF_LOGE("%{public}s: fopen failed \n", __func__); - return false; - } - ret = reqSizeFuzzCapture->control.Start((AudioHandle)reqSizeFuzzCapture); - if (ret < 0) { - reqSizeFuzzAdapter->DestroyCapture(reqSizeFuzzAdapter, reqSizeFuzzCapture); - reqSizeFuzzManager->UnloadAdapter(reqSizeFuzzManager, reqSizeFuzzAdapter); - fclose(fp); - HDF_LOGE("%{public}s: Start failed \n", __func__); - return false; - } - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - ret = InitMmapDesc(fp, desc, reqSize, isRender); - if (ret < 0) { - reqSizeFuzzAdapter->DestroyCapture(reqSizeFuzzAdapter, reqSizeFuzzCapture); - reqSizeFuzzManager->UnloadAdapter(reqSizeFuzzManager, reqSizeFuzzAdapter); - fclose(fp); - HDF_LOGE("%{public}s: InitMmapDesc failed \n", __func__); - return false; - } - reqSize = *(reinterpret_cast(const_cast(data))); - ret = reqSizeFuzzCapture->attr.ReqMmapBuffer((AudioHandle)reqSizeFuzzCapture, reqSize, &desc); - if (ret == HDF_SUCCESS) { - (void)munmap(desc.memoryAddress, reqSize); - result = true; - } - reqSizeFuzzAdapter->DestroyCapture(reqSizeFuzzAdapter, reqSizeFuzzCapture); - reqSizeFuzzManager->UnloadAdapter(reqSizeFuzzManager, reqSizeFuzzAdapter); - (void)fclose(fp); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureReqmmapbufferReqsizeFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.h deleted file mode 100644 index 711310b107f6c5807436145481399748c1846d66..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/audiocapturereqmmapbufferreqsize_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTURE_REQMMAPBUFFER_REQSIZE_FUZZER_H -#define AUDIO_CAPTURE_REQMMAPBUFFER_REQSIZE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocapturereqmmapbufferreqsize_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocapturereqmmapbufferreqsize_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/BUILD.gn deleted file mode 100644 index 2e4f5397922d9c02e4255128154115cb3f9181aa..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCheckSceneCapabilityCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocheckscenecapabilitycapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocheckscenecapabilitycapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.cpp deleted file mode 100644 index 7b6585eb65f90cdf12ac97abcc585cb301dde960..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocheckscenecapabilitycapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCheckSceneCapabilityCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *checkSceneFuzzManager = nullptr; - struct AudioAdapter *checkSceneFuzzAdapter = nullptr; - struct AudioCapture *checkSceneFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(checkSceneFuzzManager, - &checkSceneFuzzAdapter, &checkSceneFuzzCapture); - if (ret < 0 || checkSceneFuzzAdapter == nullptr || - checkSceneFuzzCapture == nullptr || checkSceneFuzzManager == nullptr) { - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = checkSceneFuzzCapture->scene.CheckSceneCapability(handle, &scenes, &supported); - if (ret == HDF_SUCCESS) { - result = true; - } - checkSceneFuzzAdapter->DestroyCapture(checkSceneFuzzAdapter, checkSceneFuzzCapture); - checkSceneFuzzManager->UnloadAdapter(checkSceneFuzzManager, checkSceneFuzzAdapter); - - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCheckSceneCapabilityCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.h deleted file mode 100644 index 586cfe5f2712bd28a7ca87c2e808f5b0cf672ef8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/audiocheckscenecapabilitycapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CHECK_SCENE_CAPABILITY_CAPTURE_FUZZER_H -#define AUDIO_CHECK_SCENE_CAPABILITY_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocheckscenecapabilitycapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/BUILD.gn deleted file mode 100644 index eb2cad343ec514399cf429c6561ad8f966e9e431..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCheckSceneCapabilityCaptureSceneFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocheckscenecapabilitycapturescene_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocheckscenecapabilitycapturescene_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.cpp deleted file mode 100644 index 479bf3f63b82467f2dba2be51d227c62a2d9d460..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocheckscenecapabilitycapturescene_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCheckSceneCapabilityCaptureSceneFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *sceneFuzzManager = nullptr; - struct AudioAdapter *sceneFuzzAdapter = nullptr; - struct AudioCapture *sceneFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(sceneFuzzManager, &sceneFuzzAdapter, &sceneFuzzCapture); - if (ret < 0 || sceneFuzzAdapter == nullptr || sceneFuzzCapture == nullptr || sceneFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioSceneDescriptor sceneDesc = {}; - int32_t copySize = sizeof(sceneDesc) > size ? size : sizeof(sceneDesc); - if (memcpy_s((void *)&sceneDesc, sizeof(sceneDesc), data, copySize) != 0) { - return false; - } - ret = sceneFuzzCapture->scene.CheckSceneCapability(sceneFuzzCapture, &sceneDesc, &supported); - if (ret == HDF_SUCCESS) { - result = true; - } - sceneFuzzAdapter->DestroyCapture(sceneFuzzAdapter, sceneFuzzCapture); - sceneFuzzManager->UnloadAdapter(sceneFuzzManager, sceneFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCheckSceneCapabilityCaptureSceneFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.h deleted file mode 100644 index 0733479b8aec39cffceb4da71f69e52bcc3046e2..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/audiocheckscenecapabilitycapturescene_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CHECK_SCENE_CAPABILITY_CAPTURE_SCENE_FUZZER_H -#define AUDIO_CHECK_SCENE_CAPABILITY_CAPTURE_SCENE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocheckscenecapabilitycapturescene_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilitycapturescene_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/BUILD.gn deleted file mode 100644 index f4309b571b424fc6702940469423b056412fac03..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCheckSceneCapabilityRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocheckscenecapabilityrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocheckscenecapabilityrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.cpp deleted file mode 100644 index 72cdaa57833adc285fc6a9ab832261f645cdefc9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocheckscenecapabilityrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCheckSceneCapabilityRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *capFuzzManager = nullptr; - struct AudioAdapter *capFuzzAdapter = nullptr; - struct AudioRender *capFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(capFuzzManager, &capFuzzAdapter, &capFuzzRender); - if (ret < 0 || capFuzzAdapter == nullptr || capFuzzRender == nullptr || capFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = capFuzzRender->scene.CheckSceneCapability(handle, &scenes, &supported); - if (ret == HDF_SUCCESS) { - result = true; - } - capFuzzAdapter->DestroyRender(capFuzzAdapter, capFuzzRender); - capFuzzManager->UnloadAdapter(capFuzzManager, capFuzzAdapter); - - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCheckSceneCapabilityRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.h deleted file mode 100644 index 7ee8e7f736e888dae49ef6b7efa8a346c55ee3f1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/audiocheckscenecapabilityrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CHECK_SCENE_CAPABILITY_RENDER_FUZZER_H -#define AUDIO_CHECK_SCENE_CAPABILITY_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocheckscenecapabilityrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/BUILD.gn deleted file mode 100644 index 893c394000ab097b59c5eeed627d7db04469bb9f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCheckSceneCapabilityRenderSceneFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocheckscenecapabilityrenderscene_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocheckscenecapabilityrenderscene_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.cpp deleted file mode 100644 index 36764963fa6bf7d7d86161f17eee9a10c236dc26..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocheckscenecapabilityrenderscene_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioCheckSceneCapabilityRenderSceneFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *checkSceFuzzManager = nullptr; - struct AudioAdapter *checkSceFuzzAdapter = nullptr; - struct AudioRender *checkSceFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(checkSceFuzzManager, &checkSceFuzzAdapter, &checkSceFuzzRender); - if (ret < 0 || checkSceFuzzAdapter == nullptr || - checkSceFuzzRender == nullptr || checkSceFuzzManager == nullptr) { - return false; - } - - struct AudioSceneDescriptor sceneFuzz = {}; - int32_t copySize = sizeof(sceneFuzz) > size ? size : sizeof(sceneFuzz); - if (memcpy_s((void *)&sceneFuzz, sizeof(sceneFuzz), data, copySize) != 0) { - return false; - } - ret = checkSceFuzzRender->scene.CheckSceneCapability(checkSceFuzzRender, &sceneFuzz, &supported); - if (ret == HDF_SUCCESS) { - result = true; - } - checkSceFuzzAdapter->DestroyRender(checkSceFuzzAdapter, checkSceFuzzRender); - checkSceFuzzManager->UnloadAdapter(checkSceFuzzManager, checkSceFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCheckSceneCapabilityRenderSceneFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.h deleted file mode 100644 index 26118d6c82666ce82f4b3acdbe10b45083f5f549..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/audiocheckscenecapabilityrenderscene_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CHECK_SCENE_CAPABILITY_RENDER_SCENE_FUZZER_H -#define AUDIO_CHECK_SCENE_CAPABILITY_RENDER_SCENE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiocheckscenecapabilityrenderscene_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiocheckscenecapabilityrenderscene_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/BUILD.gn deleted file mode 100644 index 094aaf3b29ac7c9e9f4040fddb17b261ee19248a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetCurrentChannelidCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetcurrentchannelidcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetcurrentchannelidcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.cpp deleted file mode 100644 index 78747433d21b2ef8cf9112119b99df0fda5f8c87..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetcurrentchannelidcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetCurrentChannelidCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint32_t channelId = 0; - TestAudioManager *getCurrentFuzzManager = nullptr; - struct AudioAdapter *getCurrentFuzzAdapter = nullptr; - struct AudioCapture *getCurrentFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(getCurrentFuzzManager, - &getCurrentFuzzAdapter, &getCurrentFuzzCapture); - if (ret < 0 || getCurrentFuzzAdapter == nullptr || - getCurrentFuzzCapture == nullptr || getCurrentFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = getCurrentFuzzCapture->attr.GetCurrentChannelId(handle, &channelId); - if (ret == HDF_SUCCESS) { - result = true; - } - getCurrentFuzzAdapter->DestroyCapture(getCurrentFuzzAdapter, getCurrentFuzzCapture); - getCurrentFuzzManager->UnloadAdapter(getCurrentFuzzManager, getCurrentFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetCurrentChannelidCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.h deleted file mode 100644 index bb7b51b7ab37945e288be18a7935705cf418b05a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/audiogetcurrentchannelidcapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_CURRENT_CHANNELID_CAPTURE_FUZZER_H -#define AUDIO_GET_CURRENT_CHANNELID_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetcurrentchannelidcapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/BUILD.gn deleted file mode 100644 index e1d7345e07049e6e47beb4a4b112f94cddcc0ef8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetCurrentChannelidRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetcurrentchannelidrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetcurrentchannelidrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.cpp deleted file mode 100644 index 9ad3b664ace902205966937978cf1d5998b58589..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetcurrentchannelidrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetCurrentChannelidRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint32_t channelId = 0; - TestAudioManager *getCurrentManager = nullptr; - struct AudioAdapter *getCurrentAdapter = nullptr; - struct AudioRender *getCurrentRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(getCurrentManager, &getCurrentAdapter, &getCurrentRender); - if (ret < 0 || getCurrentAdapter == nullptr || getCurrentRender == nullptr || getCurrentManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = getCurrentRender->attr.GetCurrentChannelId(handle, &channelId); - if (ret == HDF_SUCCESS) { - result = true; - } - getCurrentAdapter->DestroyRender(getCurrentAdapter, getCurrentRender); - getCurrentManager->UnloadAdapter(getCurrentManager, getCurrentAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetCurrentChannelidRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.h deleted file mode 100644 index 558175922cea7b3b5b3458860ae2d1c9ff25b461..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/audiogetcurrentchannelidrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_CURRENT_CHANNELID_RENDER_FUZZER_H -#define AUDIO_GET_CURRENT_CHANNELID_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetcurrentchannelidrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetcurrentchannelidrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/BUILD.gn deleted file mode 100644 index 180b7ef3bee61996bda0f1eeee4d5bc0cc074942..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetFrameCountCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetframecountcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetframecountcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.cpp deleted file mode 100644 index 5bfb02386f2fccd10660fda8ab579fbf15b65fa1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetframecountcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetFrameCountCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint64_t count = 0; - TestAudioManager *frameFuzzManager = nullptr; - struct AudioAdapter *frameFuzzAdapter = nullptr; - struct AudioCapture *frameFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(frameFuzzManager, &frameFuzzAdapter, &frameFuzzCapture); - if (ret < 0 || frameFuzzAdapter == nullptr || frameFuzzCapture == nullptr || frameFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = frameFuzzCapture->attr.GetFrameCount(handle, &count); - if (ret == HDF_SUCCESS) { - result = true; - } - frameFuzzAdapter->DestroyCapture(frameFuzzAdapter, frameFuzzCapture); - frameFuzzManager->UnloadAdapter(frameFuzzManager, frameFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetFrameCountCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.h deleted file mode 100644 index 8b82ae164b511990db59e2412ac47c5d248cd99a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/audiogetframecountcapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_FRAME_COUNT_CAPTURE_FUZZER_H -#define AUDIO_GET_FRAME_COUNT_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetframecountcapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/BUILD.gn deleted file mode 100644 index 24d09d5ca5ddef5c7334b1e2f76b7a54cec479e1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetFrameCountRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetframecountrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetframecountrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.cpp deleted file mode 100644 index 52964eeb9eaa74e40076e963ab596a0a45765009..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetframecountrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetFrameCountRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint64_t count = 0; - TestAudioManager *frameRenderManager = nullptr; - struct AudioAdapter *frameRenderAdapter = nullptr; - struct AudioRender *frameRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(frameRenderManager, &frameRenderAdapter, &frameRender); - if (ret < 0 || frameRenderAdapter == nullptr || frameRender == nullptr || frameRenderManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = frameRender->attr.GetFrameCount(handle, &count); - if (ret == HDF_SUCCESS) { - result = true; - } - frameRenderAdapter->DestroyRender(frameRenderAdapter, frameRender); - frameRenderManager->UnloadAdapter(frameRenderManager, frameRenderAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetFrameCountRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.h deleted file mode 100644 index 5296376db88d74e3ae2f7c8bd4c83705017f8e00..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/audiogetframecountrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_FRAME_COUNT_RENDER_FUZZER_H -#define AUDIO_GET_FRAME_COUNT_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetframecountrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframecountrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/BUILD.gn deleted file mode 100644 index af5fb8660988eeb872a1d1c5a09c0db090bf4b71..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetFrameSizeCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetframesizecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetframesizecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.cpp deleted file mode 100644 index 2d4dd8aeda5a1a25c0271edd218fcc7516bb1df4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetframesizecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetFrameSizeCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint64_t fsize = 0; - TestAudioManager *frameCaptureManager = nullptr; - struct AudioAdapter *frameCaptureAdapter = nullptr; - struct AudioCapture *capture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(frameCaptureManager, &frameCaptureAdapter, &capture); - if (ret < 0 || frameCaptureAdapter == nullptr || capture == nullptr || frameCaptureManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = capture->attr.GetFrameSize(handle, &fsize); - if (ret == HDF_SUCCESS) { - result = true; - } - frameCaptureAdapter->DestroyCapture(frameCaptureAdapter, capture); - frameCaptureManager->UnloadAdapter(frameCaptureManager, frameCaptureAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetFrameSizeCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.h deleted file mode 100644 index e4a42e30e47e387c1455198718f4738e658e4747..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/audiogetframesizecapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_FRAME_SIZE_CAPTURE_FUZZER_H -#define AUDIO_GET_FRAME_SIZE_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetframesizecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/BUILD.gn deleted file mode 100644 index 2482147416657c866bdca0a668b6e1c0d565b047..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetFrameSizeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetframesizerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetframesizerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.cpp deleted file mode 100644 index b7414bc9d7b1f293e575e7bbc31fb453c7dfb7b9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetframesizerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetFrameSizeRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - uint64_t fsize = 0; - TestAudioManager *sizeRenderManager = nullptr; - struct AudioAdapter *sizeRenderAdapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateRender(sizeRenderManager, &sizeRenderAdapter, &render); - if (ret < 0 || sizeRenderAdapter == nullptr || render == nullptr || sizeRenderManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = render->attr.GetFrameSize(handle, &fsize); - if (ret == HDF_SUCCESS) { - result = true; - } - sizeRenderAdapter->DestroyRender(sizeRenderAdapter, render); - sizeRenderManager->UnloadAdapter(sizeRenderManager, sizeRenderAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetFrameSizeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.h deleted file mode 100644 index 6aebd4d24f21dcb05cd3c32680570dadf9d1fc5b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/audiogetframesizerender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_FRAME_SIZE_RENDER_FUZZER_H -#define AUDIO_GET_FRAME_SIZE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetframesizerender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetframesizerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/BUILD.gn deleted file mode 100644 index 71b4423e675b6aee6fdf914096ed8634e6b39613..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetSampleAttributesCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetsampleattributescapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetsampleattributescapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.cpp deleted file mode 100644 index f2007b077782419347a831779caec46931dedbe7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetsampleattributescapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetSampleAttributesCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *attributesManager = nullptr; - struct AudioAdapter *attributesadapter = nullptr; - struct AudioCapture *capture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(attributesManager, &attributesadapter, &capture); - if (ret < 0 || attributesadapter == nullptr || capture == nullptr || attributesManager == nullptr) { - return false; - } - struct AudioSampleAttributes attrs = {}; - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = capture->attr.SetSampleAttributes(handle, &attrs); - if (ret == HDF_SUCCESS) { - result = true; - } - attributesadapter->DestroyCapture(attributesadapter, capture); - attributesManager->UnloadAdapter(attributesManager, attributesadapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetSampleAttributesCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.h deleted file mode 100644 index f8c717377a481dd4db5640f54df801e2381125c7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/audiogetsampleattributescapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_SAMPLE_ATTRIBUTES_CAPTURE_FUZZER_H -#define AUDIO_GET_SAMPLE_ATTRIBUTES_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetsampleattributescapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributescapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/BUILD.gn deleted file mode 100644 index 1958c93583a3490f572ee234ec194ba2f6c4abfc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetSampleAttributesRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetsampleattributesrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetsampleattributesrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.cpp deleted file mode 100644 index e330e55731f2628727fd8e05a51cb85a301b1301..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetsampleattributesrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioGetSampleAttributesRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *attributesRenderManager = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - int32_t ret = AudioGetManagerCreateRender(attributesRenderManager, &adapter, &render); - if (ret < 0 || adapter == nullptr || render == nullptr || attributesRenderManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = render->attr.SetSampleAttributes(handle, &attrs); - if (ret == HDF_SUCCESS) { - result = true; - } - adapter->DestroyRender(adapter, render); - attributesRenderManager->UnloadAdapter(attributesRenderManager, adapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetSampleAttributesRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.h deleted file mode 100644 index 4154b0166706b366798247433e46909dd12070f4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/audiogetsampleattributesrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GET_SAMPLE_ATTRIBUTES_RENDER_FUZZER_H -#define AUDIO_GET_SAMPLE_ATTRIBUTES_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetsampleattributesrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiogetsampleattributesrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/BUILD.gn deleted file mode 100644 index 7a6ffb30126a2fc38de4498b8ad8ca3b7d7aeaae..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderGetmmappositionRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorendergetmmappositionrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorendergetmmappositionrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.cpp deleted file mode 100644 index b9da606c49d4dd80f9c92237e21322c7f689358e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorendergetmmappositionrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioRenderGetmmappositionRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *getMmapPosManager = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateRender(getMmapPosManager, &adapter, &render); - if (ret < 0 || adapter == nullptr || render == nullptr || getMmapPosManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = render->attr.GetMmapPosition(renderFuzz, &frames, &time); - if (ret == HDF_SUCCESS) { - result = true; - } - adapter->DestroyRender(adapter, render); - getMmapPosManager->UnloadAdapter(getMmapPosManager, adapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderGetmmappositionRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.h deleted file mode 100644 index 70bf54692c1e5bb3666f17cec4b3d23be21fbe8c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/audiorendergetmmappositionrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDER_GETMMAPPOSITION_RENDER_FUZZER_H -#define AUDIO_RENDER_GETMMAPPOSITION_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiorendergetmmappositionrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorendergetmmappositionrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/BUILD.gn deleted file mode 100644 index 68882518911b20223a120acef92b20e367a503fd..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderReqmmapbufferDescFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorenderreqmmapbufferdesc_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorenderreqmmapbufferdesc_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.cpp deleted file mode 100644 index 0a496639765c39ce5a6a8bc5295c6b4334e252f9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorenderreqmmapbufferdesc_fuzzer.h" -#include "securec.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioRenderReqmmapbufferDescFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *renderReqManager = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(renderReqManager, &adapter, &render); - if (ret < 0 || adapter == nullptr || render == nullptr || renderReqManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - uint8_t *temp = const_cast(data); - struct AudioMmapBufferDescriptor descFuzz { - .memoryAddress = reinterpret_cast(temp), - .memoryFd = *(reinterpret_cast(temp)), - .totalBufferFrames = *(reinterpret_cast(temp)), - .transferFrameSize = *(reinterpret_cast(temp)), - .isShareable = *(reinterpret_cast(temp)), - .offset = *reinterpret_cast(temp), - }; - - ret = render->attr.ReqMmapBuffer((AudioHandle)render, size, &descFuzz); - if (ret == HDF_SUCCESS) { - (void)munmap(descFuzz.memoryAddress, size); - result = true; - } - adapter->DestroyRender(adapter, render); - renderReqManager->UnloadAdapter(renderReqManager, adapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderReqmmapbufferDescFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.h deleted file mode 100644 index aa54854458befffcbdded6d1248e3b77419d9621..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/audiorenderreqmmapbufferdesc_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDER_REQMMAPBUFFER_DESC_FUZZER_H -#define AUDIO_RENDER_REQMMAPBUFFER_DESC_FUZZER_H - -#define FUZZ_PROJECT_NAME "usbbulkwrite_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferdesc_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/BUILD.gn deleted file mode 100644 index 478a408dc191e6e4e423a79768707eae8ae223e2..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderReqmmapbufferRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorenderreqmmapbufferrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorenderreqmmapbufferrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.cpp deleted file mode 100644 index 325fe18b1a6b7fffd7ba0c53bd14ace452aba981..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorenderreqmmapbufferrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioRenderReqmmapbufferRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *reqMmapBufManager = nullptr; - FILE *fp = fopen(AUDIO_LOW_LATENCY_RENDER_FILE.c_str(), "wb+"); - if (fp == nullptr) { - HDF_LOGE("%{public}s: fopen failed \n", __func__); - return false; - } - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(reqMmapBufManager, &adapter, &render); - if (ret < 0 || adapter == nullptr || render == nullptr || reqMmapBufManager == nullptr) { - fclose(fp); - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - ret = InitMmapDesc(fp, desc, reqSize, isRender); - if (ret < 0) { - adapter->DestroyRender(adapter, render); - reqMmapBufManager->UnloadAdapter(reqMmapBufManager, adapter); - fclose(fp); - HDF_LOGE("%{public}s: InitMmapDesc failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = render->attr.ReqMmapBuffer((AudioHandle)renderFuzz, reqSize, &desc); - if (ret == HDF_SUCCESS) { - (void)munmap(desc.memoryAddress, reqSize); - result = true; - } - adapter->DestroyRender(adapter, render); - reqMmapBufManager->UnloadAdapter(reqMmapBufManager, adapter); - ret = fclose(fp); - if (ret != 0) { - return false; - } - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderReqmmapbufferRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.h deleted file mode 100644 index cdb98f0294aacfba7aa376ad645040a238a26d5b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/audiorenderreqmmapbufferrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDER_REQMMAPBUFFER_RENDER_FUZZER_H -#define AUDIO_RENDER_REQMMAPBUFFER_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiorenderreqmmapbufferrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/BUILD.gn deleted file mode 100644 index ec9382ee8d22399ec550b0f23ae8c294cc18dcd3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderReqmmapbufferReqsizeFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorenderreqmmapbufferreqsize_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorenderreqmmapbufferreqsize_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.cpp deleted file mode 100644 index 8e64f23fb7985df877ae31d7338fa8314b6b80fb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorenderreqmmapbufferreqsize_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioRenderReqmmapbufferReqsizeFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *reqMmapReqManager = nullptr; - FILE *fp = fopen(AUDIO_LOW_LATENCY_RENDER_FILE.c_str(), "wb+"); - if (fp == nullptr) { - HDF_LOGE("%{public}s: fopen failed \n", __func__); - return false; - } - struct AudioAdapter *reqMmapReqAdapter = nullptr; - struct AudioRender *reqMmapReqRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(reqMmapReqManager, &reqMmapReqAdapter, &reqMmapReqRender); - if (ret < 0 || reqMmapReqAdapter == nullptr || reqMmapReqRender == nullptr || reqMmapReqManager == nullptr) { - fclose(fp); - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - ret = InitMmapDesc(fp, desc, reqSize, isRender); - if (ret < 0) { - reqMmapReqAdapter->DestroyRender(reqMmapReqAdapter, reqMmapReqRender); - reqMmapReqManager->UnloadAdapter(reqMmapReqManager, reqMmapReqAdapter); - fclose(fp); - HDF_LOGE("%{public}s: InitMmapDesc failed \n", __func__); - return false; - } - reqSize = *(reinterpret_cast(const_cast(data))); - ret = reqMmapReqRender->attr.ReqMmapBuffer((AudioHandle)reqMmapReqRender, reqSize, &desc); - if (ret == HDF_SUCCESS) { - (void)munmap(desc.memoryAddress, reqSize); - result = true; - } - reqMmapReqAdapter->DestroyRender(reqMmapReqAdapter, reqMmapReqRender); - reqMmapReqManager->UnloadAdapter(reqMmapReqManager, reqMmapReqAdapter); - (void)fclose(fp); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderReqmmapbufferReqsizeFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.h deleted file mode 100644 index 641d5173c76dc5b0dba8dd3c24e0baa71e1cc5da..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/audiorenderreqmmapbufferreqsize_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDER_REQMMAPBUFFER_REQSIZE_FUZZER_H -#define AUDIO_RENDER_REQMMAPBUFFER_REQSIZE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiorenderreqmmapbufferreqsize_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiorenderreqmmapbufferreqsize_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/BUILD.gn deleted file mode 100644 index b60949cdd478bd651750964120e9822233eda8d9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSelectSceneCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioselectscenecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioselectscenecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.cpp deleted file mode 100644 index 99e3c4503c74335b4297b71cf817af3a64aeddac..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioselectscenecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSelectSceneCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *selSceneManager = nullptr; - struct AudioAdapter *selSceneAdapter = nullptr; - struct AudioCapture *capture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(selSceneManager, &selSceneAdapter, &capture); - if (ret < 0 || selSceneAdapter == nullptr || capture == nullptr || selSceneManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = capture->scene.SelectScene(handle, &scenes); - if (ret == HDF_SUCCESS) { - result = true; - } - selSceneAdapter->DestroyCapture(selSceneAdapter, capture); - selSceneManager->UnloadAdapter(selSceneManager, selSceneAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSelectSceneCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.h deleted file mode 100644 index 5292967c72d3222ddf37670b3e364b3e9198e8f0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/audioselectscenecapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SELECT_SCENE_CAPTURE_FUZZER_H -#define AUDIO_SELECT_SCENE_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioselectscenecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/BUILD.gn deleted file mode 100644 index 034eb1fc9149562a1aa73b0025e7b8d06da33216..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSelectSceneCaptureSceneFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioselectscenecapturescene_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioselectscenecapturescene_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.cpp deleted file mode 100644 index fbbe441f9b223542ae570f8931ff81b6310dca2b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioselectscenecapturescene_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSelectSceneCaptureSceneFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *selSceneCapManager = nullptr; - struct AudioAdapter *selSceneCapAdapter = nullptr; - struct AudioCapture *selSceneCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(selSceneCapManager, &selSceneCapAdapter, &selSceneCapCapture); - if (ret < 0 || selSceneCapAdapter == nullptr || - selSceneCapCapture == nullptr || selSceneCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioSceneDescriptor sceneFuzzDesc = {}; - int32_t copySize = sizeof(sceneFuzzDesc) > size ? size : sizeof(sceneFuzzDesc); - if (memcpy_s((void *)&sceneFuzzDesc, sizeof(sceneFuzzDesc), data, copySize) != 0) { - return false; - } - ret = selSceneCapCapture->scene.SelectScene(selSceneCapCapture, &sceneFuzzDesc); - if (ret == HDF_SUCCESS) { - result = true; - } - selSceneCapAdapter->DestroyCapture(selSceneCapAdapter, selSceneCapCapture); - selSceneCapManager->UnloadAdapter(selSceneCapManager, selSceneCapAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSelectSceneCaptureSceneFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.h deleted file mode 100644 index f3b9ed4b85807a9350b5f711ce75eeab249205be..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/audioselectscenecapturescene_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SELECT_SCENE_CAPTURE_SCENE_FUZZER_H -#define AUDIO_SELECT_SCENE_CAPTURE_SCENE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioselectscenecapturescene_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenecapturescene_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/BUILD.gn deleted file mode 100644 index d80a529656e385e775a432e072421d238b141f7b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSelectSceneRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioselectscenerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioselectscenerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.cpp deleted file mode 100644 index 0bb9a445111f818c10dcf95a47b2bc3b849d7c9e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioselectscenerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSelectSceneRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - TestAudioManager *selectFuzzManager = nullptr; - struct AudioAdapter *selectFuzzAdapter = nullptr; - struct AudioRender *selectFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(selectFuzzManager, &selectFuzzAdapter, &selectFuzzRender); - if (ret < 0 || selectFuzzAdapter == nullptr || selectFuzzRender == nullptr || selectFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = selectFuzzRender->scene.SelectScene(handle, &scenes); - if (ret == HDF_SUCCESS) { - result = true; - } - selectFuzzAdapter->DestroyRender(selectFuzzAdapter, selectFuzzRender); - selectFuzzManager->UnloadAdapter(selectFuzzManager, selectFuzzAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSelectSceneRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.h deleted file mode 100644 index f6542a2df23c5c9478e259f5eba76a11490f96de..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/audioselectscenerender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SELECT_SCENE_RENDER_FUZZER_H -#define AUDIO_SELECT_SCENE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioselectscenerender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/BUILD.gn deleted file mode 100644 index 14f362b197c97c9a59fdc0737cc782b0259154f6..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/BUILD.gn +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSelectSceneRenderSceneFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioselectscenerenderscene_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wc99-designator", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioselectscenerenderscene_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.cpp deleted file mode 100644 index b3708317605eab7b346220f7df334631834bbaa5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioselectscenerenderscene_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSelectSceneRenderSceneFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *selSceneRenManager = nullptr; - struct AudioAdapter *selSceneRenAdapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateRender(selSceneRenManager, &selSceneRenAdapter, &render); - if (ret < 0 || selSceneRenAdapter == nullptr || render == nullptr || selSceneRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - struct AudioSceneDescriptor sceneFuzz = {}; - int32_t copySize = sizeof(sceneFuzz) > size ? size : sizeof(sceneFuzz); - if (memcpy_s((void *)&sceneFuzz, sizeof(sceneFuzz), data, copySize) != 0) { - return false; - } - - ret = render->scene.SelectScene(render, &sceneFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - selSceneRenAdapter->DestroyRender(selSceneRenAdapter, render); - selSceneRenManager->UnloadAdapter(selSceneRenManager, selSceneRenAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSelectSceneRenderSceneFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.h deleted file mode 100644 index 4603221b4c2ba107a6834a96fdca00171e974e37..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/audioselectscenerenderscene_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SELECT_SCENE_RENDER_SCENE_FUZZER_H -#define AUDIO_SELECT_SCENE_RENDER_SCENE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioselectscenerenderscene_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audioselectscenerenderscene_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/BUILD.gn deleted file mode 100644 index b60c2872f65323877a6321b2b0a72d27942ca96c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetSampleAttributesCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetsampleattributescapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetsampleattributescapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.cpp deleted file mode 100644 index 3e6cb990db2d6ccccf2449d2168edbde76bd7879..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetsampleattributescapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSetSampleAttributesCaptureFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *setAttrCapManager = nullptr; - struct AudioAdapter *setAttrCapAdapter = nullptr; - struct AudioCapture *setAttrCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(setAttrCapManager, &setAttrCapAdapter, &setAttrCapCapture); - if (ret < 0 || setAttrCapAdapter == nullptr || setAttrCapCapture == nullptr || setAttrCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - struct AudioSampleAttributes attrs = {}; - InitAttrs(attrs); - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = setAttrCapCapture->attr.SetSampleAttributes(handle, &attrs); - if (ret == HDF_SUCCESS) { - result = true; - } - setAttrCapAdapter->DestroyCapture(setAttrCapAdapter, setAttrCapCapture); - setAttrCapManager->UnloadAdapter(setAttrCapManager, setAttrCapAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetSampleAttributesCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.h deleted file mode 100644 index baf088976c2edfd4c8c853e5c00e10e004881af6..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/audiosetsampleattributescapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SET_SAMPLE_ATTRIBUTES_CAPTURE_FUZZER_H -#define AUDIO_SET_SAMPLE_ATTRIBUTES_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetsampleattributescapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/BUILD.gn deleted file mode 100644 index 6be0c9e70277897754da44ea114f7a1b433d75b6..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetSampleAttributesCaptureAttrsFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetsampleattributescaptureattrs_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetsampleattributescaptureattrs_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.cpp deleted file mode 100644 index 3e7a8b1a18244601ce18f0b7ceeb398cf49d489a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetsampleattributescaptureattrs_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSetSampleAttributesCaptureAttrsFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *setSampleCapManager = nullptr; - struct AudioAdapter *setSampleCapAdapter = nullptr; - struct AudioCapture *capture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(setSampleCapManager, &setSampleCapAdapter, &capture); - if (ret < 0 || setSampleCapAdapter == nullptr || capture == nullptr || setSampleCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioSampleAttributes attrsFuzz = {}; - int32_t copySize = sizeof(attrsFuzz) > size ? size : sizeof(attrsFuzz); - if (memcpy_s((void *)&attrsFuzz, sizeof(attrsFuzz), data, copySize) != 0) { - return false; - } - ret = capture->attr.SetSampleAttributes(capture, &attrsFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - setSampleCapAdapter->DestroyCapture(setSampleCapAdapter, capture); - setSampleCapManager->UnloadAdapter(setSampleCapManager, setSampleCapAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetSampleAttributesCaptureAttrsFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.h deleted file mode 100644 index d3648df93db5a73054dc95464f81a50a302fbcbd..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/audiosetsampleattributescaptureattrs_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SET_SAMPLE_ATTRIBUTES_CAPTURE_ATTRS_FUZZER_H -#define AUDIO_SET_SAMPLE_ATTRIBUTES_CAPTURE_ATTRS_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetsampleattributescaptureattrs_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributescaptureattrs_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/BUILD.gn deleted file mode 100644 index 969da1dc87290d58eef5c2458aeae3d35ead78f4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetSampleAttributesRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetsampleattributesrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetsampleattributesrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.cpp deleted file mode 100644 index d50e0b9bb643cbb94e74477ebd59d9883c9d32f3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetsampleattributesrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSetSampleAttributesRenderFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *setSampleManager = nullptr; - struct AudioAdapter *setSampleAdapter = nullptr; - struct AudioRender *setSampleRender = nullptr; - struct AudioSampleAttributes attrs = {}; - int32_t ret = AudioGetManagerCreateRender(setSampleManager, &setSampleAdapter, &setSampleRender); - if (ret < 0 || setSampleAdapter == nullptr || setSampleRender == nullptr || setSampleManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - InitAttrs(attrs); - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = setSampleRender->attr.SetSampleAttributes(handle, &attrs); - if (ret == HDF_SUCCESS) { - result = true; - } - setSampleAdapter->DestroyRender(setSampleAdapter, setSampleRender); - setSampleManager->UnloadAdapter(setSampleManager, setSampleAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetSampleAttributesRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.h deleted file mode 100644 index bef4be930213d0d2580d062ecdea1255616212fa..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/audiosetsampleattributesrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SET_SAMPLE_ATTRIBUTES_RENDER_FUZZER_H -#define AUDIO_SET_SAMPLE_ATTRIBUTES_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetsampleattributesrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/BUILD.gn deleted file mode 100644 index ffc20b7f07a70e3f317ee64e132e406889bceb9e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/BUILD.gn +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetSampleAttributesRenderAttrsFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetsampleattributesrenderattrs_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetsampleattributesrenderattrs_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.cpp deleted file mode 100644 index 47c543ecc16e0f530c8656a97c475af7e529edd8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetsampleattributesrenderattrs_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { - bool AudioSetSampleAttributesRenderAttrsFuzzTest(const uint8_t *data, size_t size) - { - bool result = false; - TestAudioManager *setSampleRenManager = nullptr; - struct AudioAdapter *setSampleRenAdapter = nullptr; - struct AudioRender *render = nullptr; - int32_t ret = AudioGetManagerCreateRender(setSampleRenManager, &setSampleRenAdapter, &render); - if (ret < 0 || setSampleRenAdapter == nullptr || render == nullptr || setSampleRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - struct AudioSampleAttributes attrsFuzz = {}; - int32_t copySize = sizeof(attrsFuzz) > size ? size : sizeof(attrsFuzz); - if (memcpy_s((void *)&attrsFuzz, sizeof(attrsFuzz), data, copySize) != 0) { - return false; - } - ret = render->attr.SetSampleAttributes(render, &attrsFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - setSampleRenAdapter->DestroyRender(setSampleRenAdapter, render); - setSampleRenManager->UnloadAdapter(setSampleRenManager, setSampleRenAdapter); - return result; - } -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetSampleAttributesRenderAttrsFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.h deleted file mode 100644 index 911a3685ebaaf2af9245b0deb852d9e283f6adbf..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/audiosetsampleattributesrenderattrs_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SET_SAMPLE_ATTRIBUTES_RENDER_ATTRS_FUZZER_H -#define AUDIO_SET_SAMPLE_ATTRIBUTES_RENDER_ATTRS_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetsampleattributesrenderattrs_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/attribute/audiosetsampleattributesrenderattrs_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/BUILD.gn deleted file mode 100644 index 116c074b01e795398a2c5fdc03e04330dab75666..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/BUILD.gn +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("capture") { - testonly = true - deps = [] - - deps += [ - # deps file - "audiocaptureframecapture_fuzzer:AudioCaptureframeCaptureFuzzTest", - "audiocaptureframerequestbytes_fuzzer:AudioCaptureframeRequestbytesFuzzTest", - "audiogetcapturepositioncapture_fuzzer:AudioGetcapturepositionCaptureFuzzTest", - "audiogetextraparamscapture_fuzzer:AudioGetextraparamsCaptureFuzzTest", - "audiosetextraparamscapture_fuzzer:AudioSetextraparamsCaptureFuzzTest", - "audiosetextraparamscapturekeyvaluelist_fuzzer:AudioSetextraparamsCaptureKeyvaluelistFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/BUILD.gn deleted file mode 100644 index d3589b6dec031546896f1654c8bbc41d8e22806f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureframeCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocaptureframecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocaptureframecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.cpp deleted file mode 100644 index 0b97a3a3bda02a0a70f6852830ac1b4800f90697..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocaptureframecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCaptureframeCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *capFrameFuzzManager = nullptr; - struct AudioAdapter *capFrameFuzzAdapter = nullptr; - struct AudioCapture *capFrameFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(capFrameFuzzManager, &capFrameFuzzAdapter, &capFrameFuzzCapture); - if (ret < 0 || capFrameFuzzAdapter == nullptr || - capFrameFuzzCapture == nullptr || capFrameFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_LENTH; - char *frame = reinterpret_cast(calloc(1, BUFFER_LENTH)); - if (frame == nullptr) { - capFrameFuzzCapture->control.Stop((AudioHandle)capFrameFuzzCapture); - capFrameFuzzAdapter->DestroyCapture(capFrameFuzzAdapter, capFrameFuzzCapture); - capFrameFuzzManager->UnloadAdapter(capFrameFuzzManager, capFrameFuzzAdapter); - return false; - } - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = capFrameFuzzCapture->CaptureFrame(captureFuzz, frame, requestBytes, &replyBytes); - if (ret == HDF_SUCCESS) { - result = true; - } - - capFrameFuzzCapture->control.Stop((AudioHandle)capFrameFuzzCapture); - capFrameFuzzAdapter->DestroyCapture(capFrameFuzzAdapter, capFrameFuzzCapture); - capFrameFuzzManager->UnloadAdapter(capFrameFuzzManager, capFrameFuzzAdapter); - capFrameFuzzCapture = nullptr; - free(frame); - frame = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureframeCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.h deleted file mode 100644 index af3814afe1d654d55e3d463d6f4ee62f85e704b4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/audiocaptureframecapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTUREFRAME_CAPTURE_FUZZER_H -#define AUDIO_CAPTUREFRAME_CAPTURE_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocaptureframecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/BUILD.gn deleted file mode 100644 index 3859f4ad796e1b6895eca77921edd9c0c8f40aa2..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioCaptureframeRequestbytesFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiocaptureframerequestbytes_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiocaptureframerequestbytes_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.cpp deleted file mode 100644 index 263cfe0e9acd4199df643820e5d59d0a5b5dae5e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiocaptureframerequestbytes_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioCaptureframeRequestbytesFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *reqBytesFuzzManager = nullptr; - struct AudioAdapter *reqBytesFuzzAdapter = nullptr; - struct AudioCapture *reqBytesFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(reqBytesFuzzManager, &reqBytesFuzzAdapter, &reqBytesFuzzCapture); - if (ret < 0 || reqBytesFuzzAdapter == nullptr || - reqBytesFuzzCapture == nullptr || reqBytesFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - uint64_t replyBytes = 0; - char *frame = reinterpret_cast(const_cast(data)); - ret = reqBytesFuzzCapture->CaptureFrame(reqBytesFuzzCapture, frame, size, &replyBytes); - if (ret == HDF_SUCCESS) { - result = true; - } - - reqBytesFuzzCapture->control.Stop((AudioHandle)reqBytesFuzzCapture); - reqBytesFuzzAdapter->DestroyCapture(reqBytesFuzzAdapter, reqBytesFuzzCapture); - reqBytesFuzzManager->UnloadAdapter(reqBytesFuzzManager, reqBytesFuzzAdapter); - reqBytesFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioCaptureframeRequestbytesFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.h deleted file mode 100644 index 921c00d87ca93e379a58abe3f681bf21c6636397..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/audiocaptureframerequestbytes_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_CAPTUREFRAME_REQUESTBYTES_FUZZER_H -#define AUDIO_CAPTUREFRAME_REQUESTBYTES_FUZZER_H -#define FUZZ_PROJECT_NAME "audiocaptureframerequestbytes_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiocaptureframerequestbytes_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/BUILD.gn deleted file mode 100644 index 19e89b6b5d158faa840326861c478836984d2326..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetcapturepositionCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetcapturepositioncapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetcapturepositioncapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.cpp deleted file mode 100644 index 5f43fffe04ac3b733e5e48a7d39630bcb45f9c9d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetcapturepositioncapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetcapturepositionCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getCapPosFuzzManager = nullptr; - struct AudioAdapter *getCapPosFuzzAdapter = nullptr; - struct AudioCapture *getCapPosFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(getCapPosFuzzManager, &getCapPosFuzzAdapter, &getCapPosFuzzCapture); - if (ret < 0 || getCapPosFuzzAdapter == nullptr || - getCapPosFuzzCapture == nullptr || getCapPosFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_LENTH; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - char *frame = reinterpret_cast(calloc(1, BUFFER_LENTH)); - if (frame == nullptr) { - getCapPosFuzzCapture->control.Stop((AudioHandle)getCapPosFuzzCapture); - getCapPosFuzzAdapter->DestroyCapture(getCapPosFuzzAdapter, getCapPosFuzzCapture); - getCapPosFuzzManager->UnloadAdapter(getCapPosFuzzManager, getCapPosFuzzAdapter); - return false; - } - ret = getCapPosFuzzCapture->CaptureFrame(getCapPosFuzzCapture, frame, requestBytes, &replyBytes); - if (ret < 0) { - getCapPosFuzzAdapter->DestroyCapture(getCapPosFuzzAdapter, getCapPosFuzzCapture); - getCapPosFuzzManager->UnloadAdapter(getCapPosFuzzManager, getCapPosFuzzAdapter); - getCapPosFuzzCapture = nullptr; - return false; - } - - replyBytes = 0; - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = getCapPosFuzzCapture->GetCapturePosition(captureFuzz, &replyBytes, &time); - if (ret == HDF_SUCCESS) { - result = true; - } - getCapPosFuzzCapture->control.Stop((AudioHandle)getCapPosFuzzCapture); - getCapPosFuzzAdapter->DestroyCapture(getCapPosFuzzAdapter, getCapPosFuzzCapture); - getCapPosFuzzManager->UnloadAdapter(getCapPosFuzzManager, getCapPosFuzzAdapter); - getCapPosFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetcapturepositionCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.h deleted file mode 100644 index 2e3c9614ee734b4916eeb3d9078ca72901a7ae70..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/audiogetcapturepositioncapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETCAPTUREPOSITION_CAPTURE_FUZZER_H -#define AUDIO_GETCAPTUREPOSITION_CAPTURE_FUZZER_H -#define FUZZ_PROJECT_NAME "audiogetcapturepositioncapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetcapturepositioncapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/BUILD.gn deleted file mode 100644 index 026b6239c7a04dbb7c404422ad249da7f2ac64ea..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetextraparamsCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetextraparamscapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetextraparamscapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.cpp deleted file mode 100644 index 747b39e85881b35cffbc86b8083794cc0362274c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetextraparamscapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetextraparamsCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getextFuzzManager = nullptr; - struct AudioAdapter *getextFuzzAdapter = nullptr; - struct AudioCapture *getextFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(getextFuzzManager, &getextFuzzAdapter, &getextFuzzCapture); - if (ret < 0 || getextFuzzAdapter == nullptr || getextFuzzCapture == nullptr || getextFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - ret = getextFuzzCapture->attr.SetExtraParams(getextFuzzCapture, keyValueList); - if (ret < 0) { - getextFuzzAdapter->DestroyCapture(getextFuzzAdapter, getextFuzzCapture); - getextFuzzManager->UnloadAdapter(getextFuzzManager, getextFuzzAdapter); - HDF_LOGE("%{public}s: SetExtraParams failed \n", __func__); - return false; - } - uint8_t *dataFuzz = const_cast(data); - struct AudioCapture *captureFuzz = reinterpret_cast(dataFuzz); - ret = getextFuzzCapture->attr.GetExtraParams(captureFuzz, keyValueListValue, listLenth); - if (ret == HDF_SUCCESS) { - result = true; - } - getextFuzzCapture->control.Stop((AudioHandle)getextFuzzCapture); - getextFuzzAdapter->DestroyCapture(getextFuzzAdapter, getextFuzzCapture); - getextFuzzManager->UnloadAdapter(getextFuzzManager, getextFuzzAdapter); - getextFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetextraparamsCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.h deleted file mode 100644 index ed8a297047156d2de7996f23ab35602bdfed3184..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/audiogetextraparamscapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETEXTRAPARAMS_CAPTURE_FUZZER_H -#define AUDIO_GETEXTRAPARAMS_CAPTURE_FUZZER_H -#define FUZZ_PROJECT_NAME "audiogetextraparamscapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiogetextraparamscapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/BUILD.gn deleted file mode 100644 index 306036b1fe02286edbdfdb332046ae135956fd70..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetextraparamsCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetextraparamscapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetextraparamscapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.cpp deleted file mode 100644 index 4bd5d1912969f25f2137ed3f6bb830b8dbc4d1ff..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetextraparamscapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetextraparamsCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *setExtFuzzManager = nullptr; - struct AudioAdapter *setExtFuzzAdapter = nullptr; - struct AudioCapture *setExtFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(setExtFuzzManager, &setExtFuzzAdapter, &setExtFuzzCapture); - if (ret < 0 || setExtFuzzAdapter == nullptr || setExtFuzzCapture == nullptr || setExtFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = setExtFuzzCapture->attr.SetExtraParams(captureFuzz, keyValueList); - if (ret == HDF_SUCCESS) { - result = true; - } - setExtFuzzCapture->control.Stop((AudioHandle)setExtFuzzCapture); - setExtFuzzAdapter->DestroyCapture(setExtFuzzAdapter, setExtFuzzCapture); - setExtFuzzManager->UnloadAdapter(setExtFuzzManager, setExtFuzzAdapter); - setExtFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetextraparamsCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.h deleted file mode 100644 index 9dfd6f9ef599ef9b6fb40ab5ddebac6348a52744..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/audiosetextraparamscapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETEXTRAPARAMS_CAPTURE_FUZZER_H -#define AUDIO_SETEXTRAPARAMS_CAPTURE_FUZZER_H -#define FUZZ_PROJECT_NAME "audiosetextraparamscapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/BUILD.gn deleted file mode 100644 index d813227dfbb140cb9cdcec5bcb69ad8ff5ac287d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetextraparamsCaptureKeyvaluelistFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetextraparamscapturekeyvaluelist_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetextraparamscapturekeyvaluelist_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.cpp deleted file mode 100644 index a94e87fd3677d21ae00e4c0d9a0dcf3fec4181e6..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetextraparamscapturekeyvaluelist_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetextraparamsCaptureKeyvaluelistFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *capKeyValueFuzzManager = nullptr; - struct AudioAdapter *capKeyValueFuzzAdapter = nullptr; - struct AudioCapture *capKeyValueFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(capKeyValueFuzzManager, - &capKeyValueFuzzAdapter, &capKeyValueFuzzCapture); - if (ret < 0 || capKeyValueFuzzAdapter == nullptr || - capKeyValueFuzzCapture == nullptr || capKeyValueFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - char *keyValueListFuzz = reinterpret_cast(const_cast(data)); - ret = capKeyValueFuzzCapture->attr.SetExtraParams(capKeyValueFuzzCapture, keyValueListFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - - capKeyValueFuzzCapture->control.Stop((AudioHandle)capKeyValueFuzzCapture); - capKeyValueFuzzAdapter->DestroyCapture(capKeyValueFuzzAdapter, capKeyValueFuzzCapture); - capKeyValueFuzzManager->UnloadAdapter(capKeyValueFuzzManager, capKeyValueFuzzAdapter); - capKeyValueFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetextraparamsCaptureKeyvaluelistFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.h deleted file mode 100644 index d7a256e5e13bcbf504553faea752be3fc496c48b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/audiosetextraparamscapturekeyvaluelist_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETEXTRAPARAMS_CAPTURE_KEYVALUELIST_FUZZER_H -#define AUDIO_SETEXTRAPARAMS_CAPTURE_KEYVALUELIST_FUZZER_H -#define FUZZ_PROJECT_NAME "audiosetextraparamscapturekeyvaluelist_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/capture/audiosetextraparamscapturekeyvaluelist_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/BUILD.gn deleted file mode 100644 index 290531f7196e8a1a915f4f5d4ce9fd2187c10ccb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("control") { - testonly = true - deps = [] - - deps += [ - # deps file - "audioflushcapture_fuzzer:AudioFlushCaptureFuzzTest", - "audioflushrender_fuzzer:AudioFlushRenderFuzzTest", - "audiopausecapture_fuzzer:AudioPauseCaptureFuzzTest", - "audiopauserender_fuzzer:AudioPauseRenderFuzzTest", - "audioresumecapture_fuzzer:AudioResumeCaptureFuzzTest", - "audioresumerender_fuzzer:AudioResumeRenderFuzzTest", - "audiostartcapture_fuzzer:AudioStartCaptureFuzzTest", - "audiostartrender_fuzzer:AudioStartRenderFuzzTest", - "audiostopcapture_fuzzer:AudioStopCaptureFuzzTest", - "audiostoprender_fuzzer:AudioStopRenderFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/BUILD.gn deleted file mode 100644 index 5a14114142bfae9a4cc86a7938c00529fc2c1592..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioFlushCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioflushcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioflushcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.cpp deleted file mode 100644 index 3bf8a0f37266a0c8c972812a2eaa0654d29d4983..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioflushcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioFlushCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *flushFuzzManager = nullptr; - struct AudioAdapter *flushFuzzAdapter = nullptr; - struct AudioCapture *flushFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(flushFuzzManager, &flushFuzzAdapter, &flushFuzzCapture); - if (ret < 0 || flushFuzzAdapter == nullptr || flushFuzzCapture == nullptr || flushFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - ret = flushFuzzCapture->control.Stop((AudioHandle)flushFuzzCapture); - if (ret < 0) { - flushFuzzAdapter->DestroyCapture(flushFuzzAdapter, flushFuzzCapture); - flushFuzzManager->UnloadAdapter(flushFuzzManager, flushFuzzAdapter); - flushFuzzCapture = nullptr; - HDF_LOGE("%{public}s: Stop failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = flushFuzzCapture->control.Flush((AudioHandle)captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - flushFuzzAdapter->DestroyCapture(flushFuzzAdapter, flushFuzzCapture); - flushFuzzManager->UnloadAdapter(flushFuzzManager, flushFuzzAdapter); - flushFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioFlushCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.h deleted file mode 100644 index 1895d3491763540f0adcfdc8a064d901dc40bfdb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/audioflushcapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_FLUSH_CAPTURE_FUZZER_H -#define AUDIO_FLUSH_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioflushcapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/BUILD.gn deleted file mode 100644 index 56189d71175d316bef23f67b6c9eb8fc90b11e4a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioFlushRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioflushrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioflushrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.cpp deleted file mode 100644 index d0c5524d04f21ef37bae39892051e973a6f8414f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioflushrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioFlushRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *flushFuzzManager = nullptr; - struct AudioAdapter *flushFuzzAdapter = nullptr; - struct AudioRender *flushFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(flushFuzzManager, &flushFuzzAdapter, &flushFuzzRender); - if (ret < 0 || flushFuzzAdapter == nullptr || flushFuzzRender == nullptr || flushFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - ret = flushFuzzRender->control.Stop((AudioHandle)flushFuzzRender); - if (ret < 0) { - flushFuzzAdapter->DestroyRender(flushFuzzAdapter, flushFuzzRender); - flushFuzzManager->UnloadAdapter(flushFuzzManager, flushFuzzAdapter); - flushFuzzRender = nullptr; - HDF_LOGE("%{public}s: Stop failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = flushFuzzRender->control.Flush((AudioHandle)renderFuzz); - if (ret == HDF_ERR_NOT_SUPPORT) { - result = true; - } - flushFuzzAdapter->DestroyRender(flushFuzzAdapter, flushFuzzRender); - flushFuzzManager->UnloadAdapter(flushFuzzManager, flushFuzzAdapter); - flushFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioFlushRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.h deleted file mode 100644 index 63fd56685b45c5428d99d968231b4753fa009859..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/audioflushrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_FLUSH_RENDER_FUZZER_H -#define AUDIO_FLUSH_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioflushrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioflushrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/BUILD.gn deleted file mode 100644 index 2dfac658588eb5712a69952a0b6f6920101182de..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioPauseCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiopausecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiopausecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.cpp deleted file mode 100644 index 603a41a653145030fd67f69f565b70dc414aab11..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiopausecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioPauseCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *pauseFuzzManager = nullptr; - struct AudioAdapter *pauseFuzzAdapter = nullptr; - struct AudioCapture *pauseFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(pauseFuzzManager, &pauseFuzzAdapter, &pauseFuzzCapture); - if (ret < 0 || pauseFuzzAdapter == nullptr || pauseFuzzCapture == nullptr || pauseFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = pauseFuzzCapture->control.Pause((AudioHandle)captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - pauseFuzzCapture->control.Stop((AudioHandle)pauseFuzzCapture); - pauseFuzzAdapter->DestroyCapture(pauseFuzzAdapter, pauseFuzzCapture); - pauseFuzzManager->UnloadAdapter(pauseFuzzManager, pauseFuzzAdapter); - pauseFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioPauseCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.h deleted file mode 100644 index 501fb14e62df5a3670fe237636a7c75fafee986c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/audiopausecapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PAUSE_CAPTURE_FUZZER_H -#define AUDIO_PAUSE_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiopausecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopausecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/BUILD.gn deleted file mode 100644 index 568ec9b8e656a388104316b950fa27c4efaec5d3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioPauseRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiopauserender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiopauserender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.cpp deleted file mode 100644 index a08d55bf24e5b7937a2727ed6ba447f86ca9e3bd..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiopauserender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioPauseRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *pauseFuzzManager = nullptr; - struct AudioAdapter *pauseFuzzAdapter = nullptr; - struct AudioRender *pauseFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(pauseFuzzManager, &pauseFuzzAdapter, &pauseFuzzRender); - if (ret < 0 || pauseFuzzAdapter == nullptr || pauseFuzzRender == nullptr || pauseFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = pauseFuzzRender->control.Pause((AudioHandle)renderFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - pauseFuzzRender->control.Stop((AudioHandle)pauseFuzzRender); - pauseFuzzAdapter->DestroyRender(pauseFuzzAdapter, pauseFuzzRender); - pauseFuzzManager->UnloadAdapter(pauseFuzzManager, pauseFuzzAdapter); - pauseFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioPauseRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.h deleted file mode 100644 index eb30c4af6ee8c6ab009dc35e83923b039da2ce63..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/audiopauserender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PAUSE_RENDER_FUZZER_H -#define AUDIO_PAUSE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiopauserender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiopauserender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/BUILD.gn deleted file mode 100644 index 99c2a5053467799b5acb1b78b12c6f1bd24144eb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioResumeCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioresumecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioresumecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.cpp deleted file mode 100644 index 856c1069fa7f8e8cf61c5d98d111af6070304c21..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioresumecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioResumeCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *resumeFuzzManager = nullptr; - struct AudioAdapter *resumeFuzzAdapter = nullptr; - struct AudioCapture *resumeFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(resumeFuzzManager, &resumeFuzzAdapter, &resumeFuzzCapture); - if (ret < 0 || resumeFuzzAdapter == nullptr || resumeFuzzCapture == nullptr || resumeFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - ret = resumeFuzzCapture->control.Pause((AudioHandle)resumeFuzzCapture); - if (ret < 0) { - resumeFuzzAdapter->DestroyCapture(resumeFuzzAdapter, resumeFuzzCapture); - resumeFuzzManager->UnloadAdapter(resumeFuzzManager, resumeFuzzAdapter); - resumeFuzzCapture = nullptr; - HDF_LOGE("%{public}s: Pause failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = resumeFuzzCapture->control.Resume((AudioHandle)captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - resumeFuzzCapture->control.Stop((AudioHandle)resumeFuzzCapture); - resumeFuzzAdapter->DestroyCapture(resumeFuzzAdapter, resumeFuzzCapture); - resumeFuzzManager->UnloadAdapter(resumeFuzzManager, resumeFuzzAdapter); - resumeFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioResumeCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.h deleted file mode 100644 index 8dbac0cf9224800833871c3ba8e6ab7490ca39a0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/audioresumecapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RESUME_CAPTURE_FUZZER_H -#define AUDIO_RESUME_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioresumecapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/BUILD.gn deleted file mode 100644 index 39f812e6433e767df0cd46dc588c2ae37d01d9bc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioResumeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audioresumerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audioresumerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.cpp deleted file mode 100644 index 86fbc31f435f73799b35fb0dd630bcad9ddcce4f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audioresumerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioResumeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *resumeFuzzManager = nullptr; - struct AudioAdapter *resumeFuzzAdapter = nullptr; - struct AudioRender *resumeFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(resumeFuzzManager, &resumeFuzzAdapter, &resumeFuzzRender); - if (ret < 0 || resumeFuzzAdapter == nullptr || resumeFuzzRender == nullptr || resumeFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - ret = resumeFuzzRender->control.Pause((AudioHandle)resumeFuzzRender); - if (ret < 0) { - resumeFuzzAdapter->DestroyRender(resumeFuzzAdapter, resumeFuzzRender); - resumeFuzzManager->UnloadAdapter(resumeFuzzManager, resumeFuzzAdapter); - resumeFuzzRender = nullptr; - HDF_LOGE("%{public}s: Pause failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = resumeFuzzRender->control.Resume((AudioHandle)renderFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - resumeFuzzRender->control.Stop((AudioHandle)resumeFuzzRender); - resumeFuzzAdapter->DestroyRender(resumeFuzzAdapter, resumeFuzzRender); - resumeFuzzManager->UnloadAdapter(resumeFuzzManager, resumeFuzzAdapter); - resumeFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioResumeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.h deleted file mode 100644 index 5be68cf9cffc491d5061ce9bf29b407c541f4eb5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/audioresumerender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RESUME_RENDER_FUZZER_H -#define AUDIO_RESUME_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audioresumerender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audioresumerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/BUILD.gn deleted file mode 100644 index f6451184b0971ba86d207e0dcc64d90df9d6b964..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioStartCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiostartcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiostartcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.cpp deleted file mode 100644 index 84683d3d5851586a6fbfca020b9999fffbbcf99e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiostartcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioStartCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *startFuzzManager = nullptr; - struct AudioAdapter *startFuzzAdapter = nullptr; - struct AudioCapture *startFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(startFuzzManager, &startFuzzAdapter, &startFuzzCapture); - if (ret < 0 || startFuzzAdapter == nullptr || startFuzzCapture == nullptr || startFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = startFuzzCapture->control.Start((AudioHandle)captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - startFuzzAdapter->DestroyCapture(startFuzzAdapter, startFuzzCapture); - startFuzzManager->UnloadAdapter(startFuzzManager, startFuzzAdapter); - startFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioStartCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.h deleted file mode 100644 index 0b825c212b1d40fc1c8d9be7a298810058bda24a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/audiostartcapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_START_CAPTURE_FUZZER_H -#define AUDIO_START_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiostartcapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/BUILD.gn deleted file mode 100644 index adaf9c5a26eb0f26faac6fd690812469abf9ca3e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioStartRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiostartrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiostartrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.cpp deleted file mode 100644 index 98928d7ec81fe5cc55353d61bce5570239fc8ff5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiostartrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioStartRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *startFuzzManager = nullptr; - struct AudioAdapter *startFuzzAdapter = nullptr; - struct AudioRender *startFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(startFuzzManager, &startFuzzAdapter, &startFuzzRender); - if (ret < 0 || startFuzzAdapter == nullptr || startFuzzRender == nullptr || startFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = startFuzzRender->control.Start((AudioHandle)renderFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - startFuzzAdapter->DestroyRender(startFuzzAdapter, startFuzzRender); - startFuzzManager->UnloadAdapter(startFuzzManager, startFuzzAdapter); - startFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioStartRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.h deleted file mode 100644 index 52a6848555f09b53a1f376b16ec4aad69f9e887b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/audiostartrender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_START_RENDER_FUZZER_H -#define AUDIO_START_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiostartrender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostartrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/BUILD.gn deleted file mode 100644 index 7264b123b49aa6b21ff4ff63a5953d81876626bc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioStopCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiostopcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiostopcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.cpp deleted file mode 100644 index 4b8768adaf42dbc314edd46e987f584c50a15480..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiostopcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioStopCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *stopFuzzManager = nullptr; - struct AudioAdapter *stopFuzzAdapter = nullptr; - struct AudioCapture *stopFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateStartCapture(stopFuzzManager, &stopFuzzAdapter, &stopFuzzCapture); - if (ret < 0 || stopFuzzAdapter == nullptr || stopFuzzCapture == nullptr || stopFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartCapture failed \n", __func__); - return false; - } - - struct AudioCapture *captureFuzz = reinterpret_cast(const_cast(data)); - ret = stopFuzzCapture->control.Stop((AudioHandle)captureFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - stopFuzzAdapter->DestroyCapture(stopFuzzAdapter, stopFuzzCapture); - stopFuzzManager->UnloadAdapter(stopFuzzManager, stopFuzzAdapter); - stopFuzzCapture = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioStopCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.h deleted file mode 100644 index 2e5a78edfcc8e3b049786284458aa69a6322dce4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/audiostopcapture_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_STOP_CAPTURE_FUZZER_H -#define AUDIO_STOP_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiostopcapture_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostopcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/BUILD.gn deleted file mode 100644 index fb10d916e1d22008007fb5f075faa8e03d8a42ff..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioStopRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiostoprender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiostoprender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.cpp deleted file mode 100644 index 259868839c1bfce47d37fdf0dbbf51aae56cd3f0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiostoprender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioStopRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *stopFuzzManager = nullptr; - struct AudioAdapter *stopFuzzAdapter = nullptr; - struct AudioRender *stopFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(stopFuzzManager, &stopFuzzAdapter, &stopFuzzRender); - if (ret < 0 || stopFuzzAdapter == nullptr || stopFuzzRender == nullptr || stopFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = stopFuzzRender->control.Stop((AudioHandle)renderFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - stopFuzzAdapter->DestroyRender(stopFuzzAdapter, stopFuzzRender); - stopFuzzManager->UnloadAdapter(stopFuzzManager, stopFuzzAdapter); - stopFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioStopRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.h deleted file mode 100644 index 262986f335e4ab457a13474d4cd14f3487d4093b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/audiostoprender_fuzzer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_STOP_RENDER_FUZZER_H -#define AUDIO_STOP_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiostoprender_fuzzer" - -#endif - diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/control/audiostoprender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/BUILD.gn deleted file mode 100644 index 6ec0cc5b2ef9e46881e108d5dba657e1f6267ed0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/BUILD.gn +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("render") { - testonly = true - deps = [] - - deps += [ - # deps file - "audiogetchannelmoderender_fuzzer:AudioGetchannelmodeRenderFuzzTest", - "audiogetextraparamsrender_fuzzer:AudioGetextraparamsRenderFuzzTest", - "audiogetlatencyrender_fuzzer:AudioGetlatencyRenderFuzzTest", - "audiogetrenderpositionrender_fuzzer:AudioGetrenderpositionRenderFuzzTest", - "audiogetrenderspeedrender_fuzzer:AudioGetrenderspeedRenderFuzzTest", - "audiorenderframerender_fuzzer:AudioRenderframeRenderFuzzTest", - "audiorenderframerequestbytes_fuzzer:AudioRenderframeRequestbytesFuzzTest", - "audiosetchannelmoderender_fuzzer:AudioSetchannelmodeRenderFuzzTest", - "audiosetextraparamsrender_fuzzer:AudioSetextraparamsRenderFuzzTest", - "audiosetextraparamsrenderkeyvaluelist_fuzzer:AudioSetextraparamsRenderKeyvaluelistFuzzTest", - "audiosetrenderspeedrender_fuzzer:AudioSetrenderspeedRenderFuzzTest", - "audiosetrenderspeedspeed_fuzzer:AudioSetrenderspeedSpeedFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/BUILD.gn deleted file mode 100644 index 53f6b514feee2f0ffce57752719a2017d99c1f01..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetchannelmodeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetchannelmoderender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetchannelmoderender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.cpp deleted file mode 100644 index 3c8a9194b18125581c62769e83262f543f23de6c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetchannelmoderender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetchannelmodeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getChannelFuzzManager = nullptr; - struct AudioAdapter *getChannelFuzzAdapter = nullptr; - struct AudioRender *getChannelFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(getChannelFuzzManager, - &getChannelFuzzAdapter, &getChannelFuzzRender); - if (ret < 0 || getChannelFuzzAdapter == nullptr || - getChannelFuzzRender == nullptr || getChannelFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = getChannelFuzzRender->GetChannelMode(renderFuzz, &mode); - if (ret == HDF_SUCCESS) { - result = true; - } - getChannelFuzzRender->control.Stop((AudioHandle)getChannelFuzzRender); - getChannelFuzzAdapter->DestroyRender(getChannelFuzzAdapter, getChannelFuzzRender); - getChannelFuzzManager->UnloadAdapter(getChannelFuzzManager, getChannelFuzzAdapter); - getChannelFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetchannelmodeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.h deleted file mode 100644 index ea243ec2c3c7bfefc9c0f28717d3b1996834ee43..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/audiogetchannelmoderender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETCHANNELMODE_RENDER_FUZZER_H -#define AUDIO_GETCHANNELMODE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetchannelmoderender_fuzzer" - -#endif diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetchannelmoderender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/BUILD.gn deleted file mode 100644 index 5a55c34d6ae398fd3ffd99317b7c3f6084725c7b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetextraparamsRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetextraparamsrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetextraparamsrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.cpp deleted file mode 100644 index 788627741e735c4769ec09b2fac663deda6427a7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetextraparamsrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetextraparamsRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getExtRenFuzzManager = nullptr; - struct AudioAdapter *getExtRenFuzzAdapter = nullptr; - struct AudioRender *getExtRenFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(getExtRenFuzzManager, &getExtRenFuzzAdapter, &getExtRenFuzzRender); - if (ret < 0 || getExtRenFuzzAdapter == nullptr || - getExtRenFuzzRender == nullptr || getExtRenFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - ret = getExtRenFuzzRender->attr.SetExtraParams(getExtRenFuzzRender, keyValueList); - if (ret < 0) { - getExtRenFuzzAdapter->DestroyRender(getExtRenFuzzAdapter, getExtRenFuzzRender); - getExtRenFuzzManager->UnloadAdapter(getExtRenFuzzManager, getExtRenFuzzAdapter); - HDF_LOGE("%{public}s: SetExtraParams failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = getExtRenFuzzRender->attr.GetExtraParams(renderFuzz, keyValueListValue, listLenth); - if (ret == HDF_SUCCESS) { - result = true; - } - getExtRenFuzzRender->control.Stop((AudioHandle)getExtRenFuzzRender); - getExtRenFuzzAdapter->DestroyRender(getExtRenFuzzAdapter, getExtRenFuzzRender); - getExtRenFuzzManager->UnloadAdapter(getExtRenFuzzManager, getExtRenFuzzAdapter); - getExtRenFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetextraparamsRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.h deleted file mode 100644 index b276728e459113093943f777bf1e23a056473753..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/audiogetextraparamsrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETEXTRAPARAMS_RENDER_FUZZER_H -#define AUDIO_GETEXTRAPARAMS_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetextraparamsrender_fuzzer" - -#endif diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetextraparamsrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/BUILD.gn deleted file mode 100644 index 863e8a90f4f756f92aa165ede4c75323bb99e795..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetlatencyRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetlatencyrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetlatencyrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.cpp deleted file mode 100644 index bdd43ec0ce8f65ed6076e69bf3eda379514d1691..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetlatencyrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetlatencyRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getLatRenFuzzManager = nullptr; - struct AudioAdapter *getLatRenFuzzAdapter = nullptr; - struct AudioRender *getLatRenFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(getLatRenFuzzManager, &getLatRenFuzzAdapter, &getLatRenFuzzRender); - if (ret < 0 || getLatRenFuzzAdapter == nullptr || - getLatRenFuzzRender == nullptr || getLatRenFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - uint32_t latencyTime = 0; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = getLatRenFuzzRender->GetLatency(renderFuzz, &latencyTime); - if (ret == HDF_SUCCESS) { - result = true; - } - getLatRenFuzzRender->control.Stop((AudioHandle)getLatRenFuzzRender); - getLatRenFuzzAdapter->DestroyRender(getLatRenFuzzAdapter, getLatRenFuzzRender); - getLatRenFuzzManager->UnloadAdapter(getLatRenFuzzManager, getLatRenFuzzAdapter); - getLatRenFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetlatencyRenderFuzzTest(data, size); - return 0; -} - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.h deleted file mode 100644 index 11bd3045cdf190e87dceb2f7b8bffa9a096fa178..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/audiogetlatencyrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETLATENCY_RENDER_FUZZER_H -#define AUDIO_GETLATENCY_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetlatencyrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetlatencyrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/BUILD.gn deleted file mode 100644 index de3f4ece7d10cd7065871c24f57ffea9949da35c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetrenderpositionRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetrenderpositionrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetrenderpositionrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.cpp deleted file mode 100644 index 143c79c15796ee0201b90a6cfaf1b1651b56157d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetrenderpositionrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetrenderpositionRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getRenPosFuzzManager = nullptr; - struct AudioAdapter *getRenPosFuzzAdapter = nullptr; - struct AudioRender *getRenPosFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(getRenPosFuzzManager, &getRenPosFuzzAdapter, &getRenPosFuzzRender); - if (ret < 0 || getRenPosFuzzAdapter == nullptr || - getRenPosFuzzRender == nullptr || getRenPosFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = getRenPosFuzzRender->GetRenderPosition(renderFuzz, &frames, &time); - if (ret == HDF_SUCCESS) { - result = true; - } - getRenPosFuzzRender->control.Stop((AudioHandle)getRenPosFuzzRender); - getRenPosFuzzAdapter->DestroyRender(getRenPosFuzzAdapter, getRenPosFuzzRender); - getRenPosFuzzManager->UnloadAdapter(getRenPosFuzzManager, getRenPosFuzzAdapter); - getRenPosFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetrenderpositionRenderFuzzTest(data, size); - return 0; -} - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.h deleted file mode 100644 index 6e5f151d6bc7d83abf6bf3134816b475cbfab3ea..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/audiogetrenderpositionrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETRENDERPOSITION_RENDER_FUZZER_H -#define AUDIO_GETRENDERPOSITION_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetrenderpositionrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderpositionrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/BUILD.gn deleted file mode 100644 index fea824a54d3b450f67524837f227580477754511..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetrenderspeedRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetrenderspeedrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetrenderspeedrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.cpp deleted file mode 100644 index 85687c57c1b900b4e581976b674a8482ec861c8a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetrenderspeedrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetrenderspeedRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *getRenSpeedFuzzManager = nullptr; - struct AudioAdapter *getRenSpeedFuzzAdapter = nullptr; - struct AudioRender *getRenSpeedFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(getRenSpeedFuzzManager, - &getRenSpeedFuzzAdapter, &getRenSpeedFuzzRender); - if (ret < 0 || getRenSpeedFuzzAdapter == nullptr || - getRenSpeedFuzzRender == nullptr || getRenSpeedFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - float speed = 0; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = getRenSpeedFuzzRender->GetRenderSpeed(renderFuzz, &speed); - if (ret == HDF_SUCCESS) { - result = true; - } - getRenSpeedFuzzRender->control.Stop((AudioHandle)getRenSpeedFuzzRender); - getRenSpeedFuzzAdapter->DestroyRender(getRenSpeedFuzzAdapter, getRenSpeedFuzzRender); - getRenSpeedFuzzManager->UnloadAdapter(getRenSpeedFuzzManager, getRenSpeedFuzzAdapter); - getRenSpeedFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetrenderspeedRenderFuzzTest(data, size); - return 0; -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.h deleted file mode 100644 index ed0b2ec216d3960f921bf0cc2870dc5682d4d69f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/audiogetrenderspeedrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETRENDERSPEED_RENDER_FUZZER_H -#define AUDIO_GETRENDERSPEED_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetrenderspeedrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiogetrenderspeedrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/BUILD.gn deleted file mode 100644 index 5160b97b78c930aaf7e152170666cfb3eee803cc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderframeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorenderframerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorenderframerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.cpp deleted file mode 100644 index 2f8964c776e7747a77fa5387126ceff3767fd8d3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorenderframerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioRenderframeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *renFrameFuzzManager = nullptr; - struct AudioAdapter *renFrameFuzzAdapter = nullptr; - struct AudioRender *renFrameFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(renFrameFuzzManager, &renFrameFuzzAdapter, &renFrameFuzzRender); - if (ret < 0 || renFrameFuzzAdapter == nullptr || - renFrameFuzzRender == nullptr || renFrameFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_LENTH; - char *frame = reinterpret_cast(calloc(1, BUFFER_LENTH)); - if (frame == nullptr) { - renFrameFuzzRender->control.Stop((AudioHandle)renFrameFuzzRender); - renFrameFuzzAdapter->DestroyRender(renFrameFuzzAdapter, renFrameFuzzRender); - renFrameFuzzManager->UnloadAdapter(renFrameFuzzManager, renFrameFuzzAdapter); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = renFrameFuzzRender->RenderFrame(renderFuzz, frame, requestBytes, &replyBytes); - if (ret == HDF_SUCCESS) { - result = true; - } - renFrameFuzzRender->control.Stop((AudioHandle)renFrameFuzzRender); - renFrameFuzzAdapter->DestroyRender(renFrameFuzzAdapter, renFrameFuzzRender); - renFrameFuzzManager->UnloadAdapter(renFrameFuzzManager, renFrameFuzzAdapter); - renFrameFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderframeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.h deleted file mode 100644 index 2f939dcd8654fb348756e548b9b930187c89e2ac..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/audiorenderframerender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDERFRAME_RENDER_FUZZER_H -#define AUDIO_RENDERFRAME_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiorenderframerender_fuzzer" - -#endif diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/BUILD.gn deleted file mode 100644 index bfeaf7b368a7946e5972604d7f2367dd2d852519..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioRenderframeRequestbytesFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiorenderframerequestbytes_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiorenderframerequestbytes_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.cpp deleted file mode 100644 index 6c0975165d36e5d58d3860650b6d5f692ac2d184..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiorenderframerequestbytes_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioRenderframeRequestbytesFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *renReqFuzzManager = nullptr; - struct AudioAdapter *renFrameFuzzAdapter = nullptr; - struct AudioRender *renFrameFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(renReqFuzzManager, &renFrameFuzzAdapter, &renFrameFuzzRender); - if (ret < 0 || renFrameFuzzAdapter == nullptr || renFrameFuzzRender == nullptr || renReqFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - uint64_t replyBytes = 0; - char *frame = reinterpret_cast(const_cast(data)); - ret = renFrameFuzzRender->RenderFrame(renFrameFuzzRender, frame, size, &replyBytes); - if (ret == HDF_SUCCESS) { - result = true; - } - renFrameFuzzRender->control.Stop((AudioHandle)renFrameFuzzRender); - renFrameFuzzAdapter->DestroyRender(renFrameFuzzAdapter, renFrameFuzzRender); - renReqFuzzManager->UnloadAdapter(renReqFuzzManager, renFrameFuzzAdapter); - renFrameFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioRenderframeRequestbytesFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.h deleted file mode 100644 index 707604a0855634abb8b716c648005501261f5228..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/audiorenderframerequestbytes_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_RENDERFRAME_REQUESTBYTES_FUZZER_H -#define AUDIO_RENDERFRAME_REQUESTBYTES_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiorenderframerequestbytes_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiorenderframerequestbytes_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/BUILD.gn deleted file mode 100644 index 3c02494e58f7adaa3e3512bd22ff90cd0cfaca3f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetchannelmodeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetchannelmoderender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetchannelmoderender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.cpp deleted file mode 100644 index 87007b40509b7b96a99cd480e6d6d8b7d8b24629..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetchannelmoderender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetchannelmodeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *setChanFuzzManager = nullptr; - struct AudioAdapter *renFrameFuzzAdapter = nullptr; - struct AudioRender *renFrameFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(setChanFuzzManager, &renFrameFuzzAdapter, &renFrameFuzzRender); - if (ret < 0 || renFrameFuzzAdapter == nullptr || renFrameFuzzRender == nullptr || setChanFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = renFrameFuzzRender->SetChannelMode(renderFuzz, AUDIO_CHANNEL_NORMAL); - if (ret == HDF_SUCCESS) { - result = true; - } - renFrameFuzzRender->control.Stop((AudioHandle)renFrameFuzzRender); - renFrameFuzzAdapter->DestroyRender(renFrameFuzzAdapter, renFrameFuzzRender); - setChanFuzzManager->UnloadAdapter(setChanFuzzManager, renFrameFuzzAdapter); - renFrameFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetchannelmodeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.h deleted file mode 100644 index 24c1edaa30725fcded092007c10cacff7aade7ba..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/audiosetchannelmoderender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETCHANNELMODE_RENDER_FUZZER_H -#define AUDIO_SETCHANNELMODE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetchannelmoderender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetchannelmoderender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/BUILD.gn deleted file mode 100644 index 13ce6927cdfa959d8e9e3926df6ac46575f988da..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetextraparamsRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetextraparamsrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetextraparamsrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.cpp deleted file mode 100644 index bb14fa31d3e02594d6ea52c4cc7db6263dddae1f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetextraparamsrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetextraparamsRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *setExtFuzzManager = nullptr; - struct AudioAdapter *setExtFuzzAdapter = nullptr; - struct AudioRender *setExtFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(setExtFuzzManager, &setExtFuzzAdapter, &setExtFuzzRender); - if (ret < 0 || setExtFuzzAdapter == nullptr || setExtFuzzRender == nullptr || setExtFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = setExtFuzzRender->attr.SetExtraParams(renderFuzz, keyValueList); - if (ret == HDF_SUCCESS) { - result = true; - } - setExtFuzzRender->control.Stop((AudioHandle)setExtFuzzRender); - setExtFuzzAdapter->DestroyRender(setExtFuzzAdapter, setExtFuzzRender); - setExtFuzzManager->UnloadAdapter(setExtFuzzManager, setExtFuzzAdapter); - setExtFuzzRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetextraparamsRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.h deleted file mode 100644 index a0eb98ed3d868497d1aa1c2e6df96a37910ba817..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/audiosetextraparamsrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETEXTRAPARAMS_RENDER_FUZZER_H -#define AUDIO_SETEXTRAPARAMS_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetextraparamsrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/BUILD.gn deleted file mode 100644 index 1078942252a1112f4b24bbfbbdada3b90933465d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetextraparamsRenderKeyvaluelistFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetextraparamsrenderkeyvaluelist_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetextraparamsrenderkeyvaluelist_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.cpp deleted file mode 100644 index d5a54a64497666d8656bfd2b21e8aa5f89da46fe..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetextraparamsrenderkeyvaluelist_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetextraparamsRenderKeyvaluelistFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *renKeyValueManager = nullptr; - struct AudioAdapter *renKeyValueAdapter = nullptr; - struct AudioRender *renKeyValueRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(renKeyValueManager, &renKeyValueAdapter, &renKeyValueRender); - if (ret < 0 || renKeyValueAdapter == nullptr || renKeyValueRender == nullptr || renKeyValueManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - char *keyValueListFuzz = reinterpret_cast(const_cast(data)); - ret = renKeyValueRender->attr.SetExtraParams(renKeyValueRender, keyValueListFuzz); - if (ret == HDF_SUCCESS) { - result = true; - } - renKeyValueRender->control.Stop((AudioHandle)renKeyValueRender); - renKeyValueAdapter->DestroyRender(renKeyValueAdapter, renKeyValueRender); - renKeyValueManager->UnloadAdapter(renKeyValueManager, renKeyValueAdapter); - renKeyValueRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetextraparamsRenderKeyvaluelistFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.h deleted file mode 100644 index 221ba663cc7ebf9ee9e531670abd400ce6df42d7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/audiosetextraparamsrenderkeyvaluelist_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETEXTRAPARAMS_RENDER_KEYVALUELIST_FUZZER_H -#define AUDIO_SETEXTRAPARAMS_RENDER_KEYVALUELIST_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetextraparamsrenderkeyvaluelist_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetextraparamsrenderkeyvaluelist_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/BUILD.gn deleted file mode 100644 index 2ccb394d43dc9fa96644a5b272035104325577b9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetrenderspeedRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetrenderspeedrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetrenderspeedrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.cpp deleted file mode 100644 index b6189977c006535d297f78ef1e8b72c4332a84ee..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetrenderspeedrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetrenderspeedRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *setRenSpeedManager = nullptr; - struct AudioAdapter *setRenSpeedAdapter = nullptr; - struct AudioRender *setRenSpeedRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(setRenSpeedManager, &setRenSpeedAdapter, &setRenSpeedRender); - if (ret < 0 || setRenSpeedAdapter == nullptr || setRenSpeedRender == nullptr || setRenSpeedManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - float speed = 100; - - struct AudioRender *renderFuzz = reinterpret_cast(const_cast(data)); - ret = setRenSpeedRender->SetRenderSpeed(renderFuzz, speed); - if (ret == HDF_ERR_NOT_SUPPORT) { - result = true; - } - setRenSpeedRender->control.Stop((AudioHandle)setRenSpeedRender); - setRenSpeedAdapter->DestroyRender(setRenSpeedAdapter, setRenSpeedRender); - setRenSpeedManager->UnloadAdapter(setRenSpeedManager, setRenSpeedAdapter); - setRenSpeedRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetrenderspeedRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.h deleted file mode 100644 index 4913f549869457ab84983dd9299822ecc079b07f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/audiosetrenderspeedrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETRENDERSPEED_RENDER_FUZZER_H -#define AUDIO_SETRENDERSPEED_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetrenderspeedrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/BUILD.gn deleted file mode 100644 index aecb81e45fd3a4184bc332d40f2e2752fc826f64..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetrenderspeedSpeedFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetrenderspeedspeed_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetrenderspeedspeed_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.cpp deleted file mode 100644 index 2d7182d009ad53eae696b7708383275115bf2b62..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetrenderspeedspeed_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetrenderspeedSpeedFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *setSpeedManager = nullptr; - struct AudioAdapter *setSpeedAdapter = nullptr; - struct AudioRender *setSpeedRender = nullptr; - int32_t ret = AudioGetManagerCreateStartRender(setSpeedManager, &setSpeedAdapter, &setSpeedRender); - if (ret < 0 || setSpeedAdapter == nullptr || setSpeedRender == nullptr || setSpeedManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateStartRender failed \n", __func__); - return false; - } - - float speedFuzz = *(reinterpret_cast(const_cast(data))); - ret = setSpeedRender->SetRenderSpeed(setSpeedRender, speedFuzz); - if (ret == HDF_ERR_NOT_SUPPORT) { - result = true; - } - setSpeedRender->control.Stop((AudioHandle)setSpeedRender); - setSpeedAdapter->DestroyRender(setSpeedAdapter, setSpeedRender); - setSpeedManager->UnloadAdapter(setSpeedManager, setSpeedAdapter); - setSpeedRender = nullptr; - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetrenderspeedSpeedFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.h deleted file mode 100644 index 2aa2fc4a73d21c928b031418e21de18781b65b3c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/audiosetrenderspeedspeed_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETRENDERSPEED_SPEED_FUZZER_H -#define AUDIO_SETRENDERSPEED_SPEED_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetrenderspeedspeed_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/render/audiosetrenderspeedspeed_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/BUILD.gn deleted file mode 100644 index e7ecc555ccc00e40ad7169742d7ebfde5366e3e0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/BUILD.gn +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import("//build/config/features.gni") -import("//build/test.gni") -import("./../../../../audio.gni") - -group("volume") { - testonly = true - deps = [] - - deps += [ - # deps file - "audiogetgaincapture_fuzzer:AudioGetgainCaptureFuzzTest", - "audiogetgainrender_fuzzer:AudioGetgainRenderFuzzTest", - "audiogetgainthresholdcapture_fuzzer:AudioGetgainthresholdCaptureFuzzTest", - "audiogetgainthresholdrender_fuzzer:AudioGetgainthresholdRenderFuzzTest", - "audiogetmutecapture_fuzzer:AudioGetmuteCaptureFuzzTest", - "audiogetmuterender_fuzzer:AudioGetmuteRenderFuzzTest", - "audiogetvolumecapture_fuzzer:AudioGetvolumeCaptureFuzzTest", - "audiogetvolumerender_fuzzer:AudioGetvolumeRenderFuzzTest", - "audiosetgaincapture_fuzzer:AudioSetgainCaptureFuzzTest", - "audiosetgaincapturegain_fuzzer:AudioSetgainCaptureGainFuzzTest", - "audiosetgainrender_fuzzer:AudioSetgainRenderFuzzTest", - "audiosetgainrendergain_fuzzer:AudioSetgainRenderGainFuzzTest", - "audiosetmutecapture_fuzzer:AudioSetmuteCaptureFuzzTest", - "audiosetmutecapturemute_fuzzer:AudioSetmuteCaptureMuteFuzzTest", - "audiosetmuterender_fuzzer:AudioSetmuteRenderFuzzTest", - "audiosetmuterendermute_fuzzer:AudioSetmuteRenderMuteFuzzTest", - "audiosetvolumecapture_fuzzer:AudioSetvolumeCaptureFuzzTest", - "audiosetvolumecapturevolume_fuzzer:AudioSetvolumeCaptureVolumeFuzzTest", - "audiosetvolumerender_fuzzer:AudioSetvolumeRenderFuzzTest", - "audiosetvolumerendervolume_fuzzer:AudioSetvolumeRenderVolumeFuzzTest", - ] -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/BUILD.gn deleted file mode 100644 index ce3ebb5910a83fe671e83ab9d066f15fc92c58ce..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetgainCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetgaincapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetgaincapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.cpp deleted file mode 100644 index 09b1b5b07775d319d5475e8ba4aec4b4506c1f4a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetgaincapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetgainCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float gain = 0; - TestAudioManager *getGainCapManager = nullptr; - struct AudioAdapter *getGainCapAdapter = nullptr; - struct AudioCapture *getGainCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(getGainCapManager, &getGainCapAdapter, &getGainCapCapture); - if (ret < 0 || getGainCapAdapter == nullptr || getGainCapCapture == nullptr || getGainCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = getGainCapCapture->volume.SetGain(handle, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - getGainCapAdapter->DestroyCapture(getGainCapAdapter, getGainCapCapture); - getGainCapManager->UnloadAdapter(getGainCapManager, getGainCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetgainCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.h deleted file mode 100644 index 986993343f19dd32dd10356fc71cd7ae869387cf..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/audiogetgaincapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETGAIN_CAPTURE_FUZZER_H -#define AUDIO_GETGAIN_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetgaincapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgaincapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/BUILD.gn deleted file mode 100644 index 2f2a446afc1136006a71590cb08612e28a1d7611..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetgainRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetgainrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetgainrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.cpp deleted file mode 100644 index 1357b24a62b0c47aacdf8c600fdc79ca09a55c1d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetgainrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetgainRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float gain = 0; - TestAudioManager *getGainRenManager = nullptr; - struct AudioAdapter *getGainRenAdapter = nullptr; - struct AudioRender *getGainRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(getGainRenManager, &getGainRenAdapter, &getGainRenRender); - if (ret < 0 || getGainRenAdapter == nullptr || getGainRenRender == nullptr || getGainRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = getGainRenRender->volume.SetGain(handle, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - getGainRenAdapter->DestroyRender(getGainRenAdapter, getGainRenRender); - getGainRenManager->UnloadAdapter(getGainRenManager, getGainRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetgainRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.h deleted file mode 100644 index e73d36162c1fcb9c9cf5fc36f376bd0445d50029..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/audiogetgainrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETGAIN_RENDER_FUZZER_H -#define AUDIO_GETGAIN_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetgainrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/BUILD.gn deleted file mode 100644 index 058736a46cf614acc4c9d91e7f15bd90a6c67495..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetgainthresholdCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetgainthresholdcapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetgainthresholdcapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.cpp deleted file mode 100644 index 19586b2333cfec9e362b247d0664e58e42a261ee..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetgainthresholdcapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetgainthresholdCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float min = 0; - float max = 0; - TestAudioManager *getGainThreManager = nullptr; - struct AudioAdapter *getGainThreAdapter = nullptr; - struct AudioCapture *getGainThreCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(getGainThreManager, &getGainThreAdapter, &getGainThreCapture); - if (ret < 0 || getGainThreAdapter == nullptr || getGainThreCapture == nullptr || getGainThreManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = getGainThreCapture->volume.GetGainThreshold(handle, &min, &max); - if (ret == HDF_SUCCESS) { - result = true; - } - getGainThreAdapter->DestroyCapture(getGainThreAdapter, getGainThreCapture); - getGainThreManager->UnloadAdapter(getGainThreManager, getGainThreAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetgainthresholdCaptureFuzzTest(data, size); - return 0; -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.h deleted file mode 100644 index 5da56f7d8018fe7bd2b7e721e088fcc81dba376a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/audiogetgainthresholdcapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETGAINTHRESHOLD_CAPTURE_FUZZER_H -#define AUDIO_GETGAINTHRESHOLD_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetgainthresholdcapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdcapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/BUILD.gn deleted file mode 100644 index e8506673f81793349fe4fa51716b45ccd0c6f2da..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetgainthresholdRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetgainthresholdrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetgainthresholdrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.cpp deleted file mode 100644 index 80220bf911043cf54989246231b6deb3bd04db88..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetgainthresholdrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetgainthresholdRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float min = 0; - float max = 0; - TestAudioManager *geGainRenManager = nullptr; - struct AudioAdapter *geGainRenAdapter = nullptr; - struct AudioRender *geGainRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(geGainRenManager, &geGainRenAdapter, &geGainRenRender); - if (ret < 0 || geGainRenAdapter == nullptr || geGainRenRender == nullptr || geGainRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = geGainRenRender->volume.GetGainThreshold(handle, &min, &max); - if (ret == HDF_SUCCESS) { - result = true; - } - geGainRenAdapter->DestroyRender(geGainRenAdapter, geGainRenRender); - geGainRenManager->UnloadAdapter(geGainRenManager, geGainRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetgainthresholdRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.h deleted file mode 100644 index a4c73a06457e032d685748c0fc8d9133a87a8df4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/audiogetgainthresholdrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETGAINTHRESHOLD_RENDER_FUZZER_H -#define AUDIO_GETGAINTHRESHOLD_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetgainthresholdrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetgainthresholdrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/BUILD.gn deleted file mode 100644 index d53401d2b03388eaac5f9cdd39c936f339abf85b..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetmuteCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetmutecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetmutecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.cpp deleted file mode 100644 index 8c54f67b37311c7c576336681f995779d87667f1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetmutecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetmuteCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - bool mute = false; - TestAudioManager *geMuteCapManager = nullptr; - struct AudioAdapter *geMuteCapAdapter = nullptr; - struct AudioCapture *geMuteCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(geMuteCapManager, &geMuteCapAdapter, &geMuteCapCapture); - if (ret < 0 || geMuteCapAdapter == nullptr || geMuteCapCapture == nullptr || geMuteCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = geMuteCapCapture->volume.GetMute(handle, &mute); - if (ret == HDF_SUCCESS) { - result = true; - } - geMuteCapAdapter->DestroyCapture(geMuteCapAdapter, geMuteCapCapture); - geMuteCapManager->UnloadAdapter(geMuteCapManager, geMuteCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetmuteCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.h deleted file mode 100644 index cd9ee18068777c8aadba6fa2decc621cdc1c94f9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/audiogetmutecapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETMUTE_CAPTURE_FUZZER_H -#define AUDIO_GETMUTE_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetmutecapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmutecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/BUILD.gn deleted file mode 100644 index ec60c3b9010b8fd06098d11f99c35e58772f2ec9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetmuteRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetmuterender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetmuterender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.cpp deleted file mode 100644 index c3b1e3eee1576c950471556f3959a611ab7c4b83..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetmuterender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetmuteRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - bool mute = false; - TestAudioManager *geMuteRenManager = nullptr; - struct AudioAdapter *geMuteCapAdapter = nullptr; - struct AudioRender *geMuteCapRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(geMuteRenManager, &geMuteCapAdapter, &geMuteCapRender); - if (ret < 0 || geMuteCapAdapter == nullptr || geMuteCapRender == nullptr || geMuteRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = geMuteCapRender->volume.GetMute(handle, &mute); - if (ret == HDF_SUCCESS) { - result = true; - } - geMuteCapAdapter->DestroyRender(geMuteCapAdapter, geMuteCapRender); - geMuteRenManager->UnloadAdapter(geMuteRenManager, geMuteCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetmuteRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.h deleted file mode 100644 index 61a3fdfd1d48ba780b7ddcc6f2d09cb9e5e940d2..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/audiogetmuterender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETMUTE_RENDER_FUZZER_H -#define AUDIO_GETMUTE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetmuterender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetmuterender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/BUILD.gn deleted file mode 100644 index 4d0ccc48632ecb01fbac25ee05b2a60f1c6a396a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetvolumeCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetvolumecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetvolumecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.cpp deleted file mode 100644 index 802c1ac609d7c52cfda2c617e2cdf4ac62d9e45a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetvolumecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetvolumeCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float volume = 0; - TestAudioManager *getValCapManager = nullptr; - struct AudioAdapter *getValCapAdapter = nullptr; - struct AudioCapture *getValCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(getValCapManager, &getValCapAdapter, &getValCapCapture); - if (ret < 0 || getValCapAdapter == nullptr || getValCapCapture == nullptr || getValCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = getValCapCapture->volume.GetVolume(handle, &volume); - if (ret == HDF_SUCCESS) { - result = true; - } - getValCapAdapter->DestroyCapture(getValCapAdapter, getValCapCapture); - getValCapManager->UnloadAdapter(getValCapManager, getValCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetvolumeCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.h deleted file mode 100644 index b110ca02b91b64383297f14bc537837d3d3c2d01..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/audiogetvolumecapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETVOLUME_CAPTURE_FUZZER_H -#define AUDIO_GETVOLUME_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetvolumecapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/BUILD.gn deleted file mode 100644 index b77b566d158288caac95acf0ad7480c5222aa92f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioGetvolumeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiogetvolumerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiogetvolumerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.cpp deleted file mode 100644 index 6785f90942681c8c3590305c03769b7b93365d75..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiogetvolumerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioGetvolumeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float volume = 0; - TestAudioManager *getVolRenManager = nullptr; - struct AudioAdapter *getVolRenAdapter = nullptr; - struct AudioRender *getVolRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(getVolRenManager, &getVolRenAdapter, &getVolRenRender); - if (ret < 0 || getVolRenAdapter == nullptr || getVolRenRender == nullptr || getVolRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = getVolRenRender->volume.GetVolume(handle, &volume); - if (ret == HDF_SUCCESS) { - result = true; - } - getVolRenAdapter->DestroyRender(getVolRenAdapter, getVolRenRender); - getVolRenManager->UnloadAdapter(getVolRenManager, getVolRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioGetvolumeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.h deleted file mode 100644 index 094f544e9bb54a72603f3d9fd721bbe71a783e38..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/audiogetvolumerender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_GETVOLUME_RENDER_FUZZER_H -#define AUDIO_GETVOLUME_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiogetvolumerender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiogetvolumerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/BUILD.gn deleted file mode 100644 index e7202d9ed1dca57dee8d926f23cc93fc491094fb..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetgainCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetgaincapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetgaincapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.cpp deleted file mode 100644 index b5f27357f1e4f289b9ff8857f8373b14e86bfdaf..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetgaincapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetgainCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float gain = 0; - TestAudioManager *setGainCapManager = nullptr; - struct AudioAdapter *setGainCapAdapter = nullptr; - struct AudioCapture *setGainCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(setGainCapManager, &setGainCapAdapter, &setGainCapCapture); - if (ret < 0 || setGainCapAdapter == nullptr || setGainCapCapture == nullptr || setGainCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = setGainCapCapture->volume.SetGain(handle, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - setGainCapAdapter->DestroyCapture(setGainCapAdapter, setGainCapCapture); - setGainCapManager->UnloadAdapter(setGainCapManager, setGainCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetgainCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.h deleted file mode 100644 index 323dc75a140a828c5b1fa019c1c6f8688632c9a7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/audiosetgaincapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETGAIN_CAPTURE_FUZZER_H -#define AUDIO_SETGAIN_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetgaincapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/BUILD.gn deleted file mode 100644 index 276c254be0b78a503fa224b8b40c3783408b238f..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetgainCaptureGainFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetgaincapturegain_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetgaincapturegain_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.cpp deleted file mode 100644 index c5df6b658df73ce9a64df39bada8b57ea8be49a7..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetgaincapturegain_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetgainCaptureGainFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *gainCapFuzzManager = nullptr; - struct AudioAdapter *gainCapFuzzAdapter = nullptr; - struct AudioCapture *gainCapFuzzCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(gainCapFuzzManager, &gainCapFuzzAdapter, &gainCapFuzzCapture); - if (ret < 0 || gainCapFuzzAdapter == nullptr || gainCapFuzzCapture == nullptr || gainCapFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - int32_t gain = *(reinterpret_cast(const_cast(data))); - ret = gainCapFuzzCapture->volume.SetGain(gainCapFuzzCapture, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - gainCapFuzzAdapter->DestroyCapture(gainCapFuzzAdapter, gainCapFuzzCapture); - gainCapFuzzManager->UnloadAdapter(gainCapFuzzManager, gainCapFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetgainCaptureGainFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.h deleted file mode 100644 index 8aae6526bcca6a909f1275401c0c86700b5922a1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/audiosetgaincapturegain_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETGAIN_CAPTURE_GAIN_FUZZER_H -#define AUDIO_SETGAIN_CAPTURE_GAIN_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetgaincapturegain_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgaincapturegain_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/BUILD.gn deleted file mode 100644 index 17dd2828c86674b13af1742ff37b72447aa1c2c8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetgainRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetgainrender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetgainrender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.cpp deleted file mode 100644 index e82abb6414105c97a55b2844a29a3d59243738fa..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetgainrender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetgainRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float gain = 0; - TestAudioManager *setGainRenManager = nullptr; - struct AudioAdapter *setGainRenAdapter = nullptr; - struct AudioRender *setGainRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(setGainRenManager, &setGainRenAdapter, &setGainRenRender); - if (ret < 0 || setGainRenAdapter == nullptr || setGainRenRender == nullptr || setGainRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = setGainRenRender->volume.SetGain(handle, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - setGainRenAdapter->DestroyRender(setGainRenAdapter, setGainRenRender); - setGainRenManager->UnloadAdapter(setGainRenManager, setGainRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetgainRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.h deleted file mode 100644 index 287dab3503edcd02ae4b3f691a5a5bbc07982384..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/audiosetgainrender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETGAIN_RENDER_FUZZER_H -#define AUDIO_SETGAIN_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetgainrender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/BUILD.gn deleted file mode 100644 index 35ecc305ef9605c09a70334a21aca975564c83c2..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetgainRenderGainFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetgainrendergain_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetgainrendergain_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.cpp deleted file mode 100644 index d5362d3072bf8f8a7f57f9ce80273858f0217467..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetgainrendergain_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetgainRenderGainFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *gainRenManager = nullptr; - struct AudioAdapter *gainRenAdapter = nullptr; - struct AudioRender *gainRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(gainRenManager, &gainRenAdapter, &gainRenRender); - if (ret < 0 || gainRenAdapter == nullptr || gainRenRender == nullptr || gainRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - int32_t gain = *(reinterpret_cast(const_cast(data))); - ret = gainRenRender->volume.SetGain(gainRenRender, gain); - if (ret == HDF_SUCCESS) { - result = true; - } - gainRenAdapter->DestroyRender(gainRenAdapter, gainRenRender); - gainRenManager->UnloadAdapter(gainRenManager, gainRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetgainRenderGainFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.h deleted file mode 100644 index 00a1b0b3f74b554d9229ddd01eb3006e05687ff1..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/audiosetgainrendergain_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETGAIN_RENDER_GAIN_FUZZER_H -#define AUDIO_SETGAIN_RENDER_GAIN_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetgainrendergain_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetgainrendergain_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/BUILD.gn deleted file mode 100644 index 571ca36f2674089eded0a61f50cab5b82177fdb4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetmuteCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetmutecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetmutecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.cpp deleted file mode 100644 index cb6a0cedac58c1ffddfc1bfa06690974567d502d..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetmutecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetmuteCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - bool mute = false; - TestAudioManager *setMuteCapManager = nullptr; - struct AudioAdapter *setMuteCapAdapter = nullptr; - struct AudioCapture *setMuteCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(setMuteCapManager, &setMuteCapAdapter, &setMuteCapCapture); - if (ret < 0 || setMuteCapAdapter == nullptr || setMuteCapCapture == nullptr || setMuteCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = setMuteCapCapture->volume.SetMute(handle, mute); - if (ret == HDF_SUCCESS) { - result = true; - } - setMuteCapAdapter->DestroyCapture(setMuteCapAdapter, setMuteCapCapture); - setMuteCapManager->UnloadAdapter(setMuteCapManager, setMuteCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetmuteCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.h deleted file mode 100644 index e4132b1031d5bd4e152734bd0ac70b5e1061f26a..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/audiosetmutecapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETMUTE_CAPTURE_FUZZER_H -#define AUDIO_SETMUTE_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetmutecapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/BUILD.gn deleted file mode 100644 index 1eadbd507a5b2d4eb00ef10e2b4674c89307c7c8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetmuteCaptureMuteFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetmutecapturemute_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetmutecapturemute_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.cpp deleted file mode 100644 index dd6f95836140e4ee58d1aedb80f9e82ab4e745cc..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetmutecapturemute_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetmuteCaptureMuteFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *muteCapManager = nullptr; - struct AudioAdapter *muteCapAdapter = nullptr; - struct AudioCapture *muteCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(muteCapManager, &muteCapAdapter, &muteCapCapture); - if (ret < 0 || muteCapAdapter == nullptr || muteCapCapture == nullptr || muteCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - bool mute = *(reinterpret_cast(const_cast(data))); - ret = muteCapCapture->volume.SetVolume(muteCapCapture, mute); - if (ret == HDF_SUCCESS) { - result = true; - } - muteCapAdapter->DestroyCapture(muteCapAdapter, muteCapCapture); - muteCapManager->UnloadAdapter(muteCapManager, muteCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetmuteCaptureMuteFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.h deleted file mode 100644 index 6dd63f1dc109527b8fc4d56bec5b3163df421202..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/audiosetmutecapturemute_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETMUTE_CAPTURE_MUTE_FUZZER_H -#define AUDIO_SETMUTE_CAPTURE_MUTE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetmutecapturemute_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmutecapturemute_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/BUILD.gn deleted file mode 100644 index 6f99e03b0e0852b83479e4d9ea9be4559c30b1c4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetmuteRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetmuterender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetmuterender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.cpp deleted file mode 100644 index 1c79373be9b9a5fb11cec334de08355bc64859d0..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetmuterender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetmuteRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - bool mute = false; - TestAudioManager *setMuteRenManager = nullptr; - struct AudioAdapter *setMuteRenAdapter = nullptr; - struct AudioRender *setMuteRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(setMuteRenManager, &setMuteRenAdapter, &setMuteRenRender); - if (ret < 0 || setMuteRenAdapter == nullptr || setMuteRenRender == nullptr || setMuteRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = setMuteRenRender->volume.SetMute(handle, mute); - if (ret == HDF_SUCCESS) { - result = true; - } - setMuteRenAdapter->DestroyRender(setMuteRenAdapter, setMuteRenRender); - setMuteRenManager->UnloadAdapter(setMuteRenManager, setMuteRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetmuteRenderFuzzTest(data, size); - return 0; -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.h deleted file mode 100644 index 1ead5613f499ec4125138fecb05dfcfc05ec23a8..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/audiosetmuterender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETMUTE_RENDER_FUZZER_H -#define AUDIO_SETMUTE_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetmuterender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/BUILD.gn deleted file mode 100644 index b09637edae8f1471ea360d3365292705e8c3c413..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetmuteRenderMuteFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetmuterendermute_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetmuterendermute_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.cpp deleted file mode 100644 index 009a8061ae79d26be84e47c053618b3c69f536e3..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetmuterendermute_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetmuteRenderMuteFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *muteRenManager = nullptr; - struct AudioAdapter *muteRenAdapter = nullptr; - struct AudioRender *muteRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(muteRenManager, &muteRenAdapter, &muteRenRender); - if (ret < 0 || muteRenAdapter == nullptr || muteRenRender == nullptr || muteRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - bool mute = *(reinterpret_cast(const_cast(data))); - ret = muteRenRender->volume.SetVolume(muteRenRender, mute); - if (ret == HDF_SUCCESS) { - result = true; - } - muteRenAdapter->DestroyRender(muteRenAdapter, muteRenRender); - muteRenManager->UnloadAdapter(muteRenManager, muteRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetmuteRenderMuteFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.h deleted file mode 100644 index 2d8582d71352bc67d6e7ed7bac2c1a6913934d36..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/audiosetmuterendermute_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETMUTE_RENDER_MUTE_FUZZER_H -#define AUDIO_SETMUTE_RENDER_MUTE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetmuterendermute_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetmuterendermute_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/BUILD.gn deleted file mode 100644 index 0f77b9f80a0bc9931372ec64e6a3c6173a59742c..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetvolumeCaptureFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetvolumecapture_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetvolumecapture_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.cpp deleted file mode 100644 index d2e373500f78facaeb6848eb21f9714d0553a5d9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetvolumecapture_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetvolumeCaptureFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float volume = 0; - TestAudioManager *setVolCapManager = nullptr; - struct AudioAdapter *setVolCapAdapter = nullptr; - struct AudioCapture *setVolCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(setVolCapManager, &setVolCapAdapter, &setVolCapCapture); - if (ret < 0 || setVolCapAdapter == nullptr || setVolCapCapture == nullptr || setVolCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - - struct AudioCapture *handle = reinterpret_cast(const_cast(data)); - ret = setVolCapCapture->volume.SetVolume(handle, volume); - if (ret == HDF_SUCCESS) { - result = true; - } - setVolCapAdapter->DestroyCapture(setVolCapAdapter, setVolCapCapture); - setVolCapManager->UnloadAdapter(setVolCapManager, setVolCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetvolumeCaptureFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.h deleted file mode 100644 index d2754f47bf116cd54808f108820f21f2c3d735d4..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/audiosetvolumecapture_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETVOLUME_CAPTURE_FUZZER_H -#define AUDIO_SETVOLUME_CAPTURE_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetvolumecapture_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapture_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/BUILD.gn deleted file mode 100644 index 5a42c317a735598616bd7a08aa32967b790a3a8e..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetvolumeCaptureVolumeFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetvolumecapturevolume_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetvolumecapturevolume_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.cpp deleted file mode 100644 index cd7dd067365ace1abb461f586502b3fbc4c82668..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetvolumecapturevolume_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetvolumeCaptureVolumeFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *volCapManager = nullptr; - struct AudioAdapter *volCapAdapter = nullptr; - struct AudioCapture *volCapCapture = nullptr; - int32_t ret = AudioGetManagerCreateCapture(volCapManager, &volCapAdapter, &volCapCapture); - if (ret < 0 || volCapAdapter == nullptr || volCapCapture == nullptr || volCapManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateCapture failed \n", __func__); - return false; - } - int32_t volume = *(reinterpret_cast(const_cast(data))); - ret = volCapCapture->volume.SetVolume(volCapCapture, volume); - if (ret == HDF_SUCCESS) { - result = true; - } - volCapAdapter->DestroyCapture(volCapAdapter, volCapCapture); - volCapManager->UnloadAdapter(volCapManager, volCapAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetvolumeCaptureVolumeFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.h deleted file mode 100644 index 3324afde49fff636a8e3d48755fd3f8a41dde885..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/audiosetvolumecapturevolume_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETVOLUME_CAPTURE_VOLUME_FUZZER_H -#define AUDIO_SETVOLUME_CAPTURE_VOLUME_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetvolumecapturevolume_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumecapturevolume_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/BUILD.gn deleted file mode 100644 index 1057c0e7bc9e14cf55da1abc7698dd38ab462731..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetvolumeRenderFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetvolumerender_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetvolumerender_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.cpp deleted file mode 100644 index b0db249b11b3927fe428e8d69918e87de6572582..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetvolumerender_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetvolumeRenderFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - float volume = 0; - TestAudioManager *volRenManager = nullptr; - struct AudioAdapter *volRenAdapter = nullptr; - struct AudioRender *volRenRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(volRenManager, &volRenAdapter, &volRenRender); - if (ret < 0 || volRenAdapter == nullptr || volRenRender == nullptr || volRenManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - struct AudioRender *handle = reinterpret_cast(const_cast(data)); - ret = volRenRender->volume.SetVolume(handle, volume); - if (ret == HDF_SUCCESS) { - result = true; - } - volRenAdapter->DestroyRender(volRenAdapter, volRenRender); - volRenManager->UnloadAdapter(volRenManager, volRenAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetvolumeRenderFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.h deleted file mode 100644 index 1d0bb692a93e4507c1052c532918ae4acd4b4c13..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/audiosetvolumerender_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETVOLUME_RENDER_FUZZER_H -#define AUDIO_SETVOLUME_RENDER_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetvolumerender_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerender_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/BUILD.gn b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/BUILD.gn deleted file mode 100644 index a2a5705572942b8d80a682f4bf50848ecda7e720..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_fuzztest_path = "./../../.." -hdf_audio_path = "./../../../../.." - -import("//build/config/features.gni") -import("//build/ohos.gni") -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -module_output_path = "hdf/audio" - -ohos_fuzztest("AudioSetvolumeRenderVolumeFuzzTest") { - module_out_path = module_output_path - fuzz_config_file = "../audiosetvolumerendervolume_fuzzer" - - include_dirs = [] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - - sources = [ - "../../../common/src/audio_hdi_fuzzer_common.cpp", - "audiosetvolumerendervolume_fuzzer.cpp", - ] - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "include", - "$hdf_fuzztest_path/common/include", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - defines += [ "AUDIO_ADM_SERVICE" ] - } -} diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.cpp b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.cpp deleted file mode 100644 index cb68e0546bf5d8edfb71a591b4d93d2b576d8430..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiosetvolumerendervolume_fuzzer.h" -#include "audio_hdi_fuzzer_common.h" - -using namespace OHOS::Audio; -namespace OHOS { -namespace Audio { -bool AudioSetvolumeRenderVolumeFuzzTest(const uint8_t *data, size_t size) -{ - bool result = false; - TestAudioManager *volumeFuzzManager = nullptr; - struct AudioAdapter *volumeFuzzAdapter = nullptr; - struct AudioRender *volumeFuzzRender = nullptr; - int32_t ret = AudioGetManagerCreateRender(volumeFuzzManager, &volumeFuzzAdapter, &volumeFuzzRender); - if (ret < 0 || volumeFuzzAdapter == nullptr || volumeFuzzRender == nullptr || volumeFuzzManager == nullptr) { - HDF_LOGE("%{public}s: AudioGetManagerCreateRender failed \n", __func__); - return false; - } - - int32_t volume = *(reinterpret_cast(const_cast(data))); - ret = volumeFuzzRender->volume.SetVolume(volumeFuzzRender, volume); - if (ret == HDF_SUCCESS) { - result = true; - } - volumeFuzzAdapter->DestroyRender(volumeFuzzAdapter, volumeFuzzRender); - volumeFuzzManager->UnloadAdapter(volumeFuzzManager, volumeFuzzAdapter); - return result; -} -} -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - OHOS::Audio::AudioSetvolumeRenderVolumeFuzzTest(data, size); - return 0; -} \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.h b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.h deleted file mode 100644 index 9ec8de88719d762070e17262c28d108c90e5e5a9..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/audiosetvolumerendervolume_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SETVOLUME_RENDER_VOLUME_FUZZER_H -#define AUDIO_SETVOLUME_RENDER_VOLUME_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiosetvolumerendervolume_fuzzer" - -#endif \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/corpus/init b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/corpus/init deleted file mode 100644 index 8eb5a7d6eb6b7d71f0c70c244e5768d62bee6ac5..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/project.xml b/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/project.xml deleted file mode 100644 index 20dc766db73742058c8300227a37ba63703fc683..0000000000000000000000000000000000000000 --- a/audio/test/fuzztest/hdi_fuzzer/volume/audiosetvolumerendervolume_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 120 - - 2048 - - diff --git a/audio/test/sample/BUILD.gn b/audio/test/sample/BUILD.gn index a1346c665eff58095e132635e483ebdda8afc889..cc8b28eb5ca81d0b655bf739c0ff30dc4c5b3f20 100644 --- a/audio/test/sample/BUILD.gn +++ b/audio/test/sample/BUILD.gn @@ -17,112 +17,7 @@ import("//build/ohos.gni") import("$hdf_audio_path/audio.gni") if (defined(ohos_lite)) { - ohos_executable("audio_sample_render") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "./", - "//third_party/bounds_checking_function/include", - ] - - sources = [ - "framework_common.c", - "framework_render.c", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - install_enable = true - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - - ohos_executable("audio_sample_capture") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "./", - "//third_party/bounds_checking_function/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - ] - - sources = [ - "framework_capture.c", - "framework_common.c", - ] - - deps = [ "//third_party/bounds_checking_function:libsec_shared" ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - install_enable = true - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } } else { - ohos_executable("audio_sample_render") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "./", - ] - - sources = [ - "framework_common.c", - "framework_render.c", - ] - - defines = [] - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - install_enable = true - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } - - ohos_executable("audio_sample_capture") { - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "./", - ] - - sources = [ - "$hdf_audio_path/hal/hdi_binder/server/src/hdf_audio_events.c", - "framework_capture.c", - "framework_common.c", - ] - - defines = [] - - if (drivers_peripheral_audio_feature_alsa_lib) { - defines += [ "ALSA_LIB_MODE" ] - } - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ "hilog:libhilog" ] - } - - install_enable = true - install_images = [ chipset_base_dir ] - subsystem_name = "hdf" - part_name = "drivers_peripheral_audio" - } ohos_executable("audio_sample_event") { include_dirs = [ "$hdf_audio_path/interfaces/include", @@ -218,15 +113,6 @@ if (defined(ohos_lite)) { } } -group("audio_sample") { - if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { - deps = [ - ":audio_sample_capture", - ":audio_sample_render", - ] - } -} - group("idl_audio_sample") { if (!defined(ohos_lite)) { if (drivers_peripheral_audio_feature_hdf_proxy_stub == true) { diff --git a/audio/test/sample/framework_capture.c b/audio/test/sample/framework_capture.c deleted file mode 100644 index 7f0d03433084555ab4d02c91fd3037e73d51189e..0000000000000000000000000000000000000000 --- a/audio/test/sample/framework_capture.c +++ /dev/null @@ -1,1268 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "inttypes.h" -#include "ioservstat_listener.h" -#include "hdf_base.h" -#include "hdf_io_service_if.h" -#ifndef __LITEOS__ -#include "hdf_remote_service.h" -#endif -#include "hdf_service_status.h" -#include "svcmgr_ioservice.h" -#include "audio_events.h" -#include "audio_manager.h" -#include "framework_common.h" -#include "hdf_audio_events.h" - -#define WAV_HEAD_OFFSET 44 -#define WAV_HEAD_RIFF_OFFSET 8 - -#define AUDIO_CHANNELCOUNT 2 -#define AUDIO_SAMPLE_RATE_48K 48000 -#define PATH_LEN 256 - -#define BUFFER_PERIOD_SIZE (4 * 1024) -#define DEEP_BUFFER_RENDER_PERIOD_SIZE 4096 -#define DEEP_BUFFER_RENDER_PERIOD_COUNT 8 -#define INT_32_MAX 0x7fffffff -#define BUFFER_SIZE_BASE 1024 -#define AUDIO_BUFF_SIZE (1024 * 16) -#define AUDIO_TOTALSIZE_15M (1024 * 15) -#define AUDIO_RECORD_INTERVAL_512KB 512 -#define FILE_CAPTURE_SIZE (1024 * 1024 * 3) // 3M -#define BUFFER_LEN 256 -#define EXT_PARAMS_MAXLEN 107 -#define ONE_MS 1000 -#define BITS_TO_FROMAT 3 - -struct AudioAdapter *g_adapter = NULL; -struct AudioDeviceDescriptor g_devDesc; -struct AudioSampleAttributes g_attrs; -struct AudioCapture *g_capture = NULL; -struct AudioManager *g_manager = NULL; -static struct StrParaCapture g_str; -void *g_captureHandle; - -pthread_t g_tids; -FILE *g_file; -char *g_frame; -void *g_handle; -char g_path[256] = {'\0'}; - -enum AudioCaptureMode { - CAPTURE_POLL = 1, - CAPTURE_INTERUPT, -}; - -int g_captureModeFlag = CAPTURE_POLL; - -#ifndef __LITEOS__ -int g_receiveFrameCount = 0; -uint64_t g_totalSize = 0; -struct ISvcMgrIoservice *g_servmgr = NULL; -struct ServiceStatusListener *g_listener = NULL; -#endif - -enum CaptureMenuId { - CAPTURE_START = 1, - CAPTURE_STOP, - CAPTURE_RESUME, - CAPTURE_PAUSE, - SET_CAPTURE_VOLUME, - SET_CAPTURE_GAIN, - SET_CAPTURE_MUTE, - SET_CAPTURE_ATTRIBUTES, - SET_CAPTURE_SLECET_SCENE, - GET_CAPTURE_EXT_PARAMS, - GET_CAPTURE_POSITION, -}; - -enum CaptureInputType { - INPUT_INT = 0, - INPUT_FLOAT, - INPUT_UINT32, -}; - -typedef int32_t (*AudioCaptureOperation)(struct AudioCapture **); - -struct ProcessCaptureMenuSwitchList { - enum CaptureMenuId cmd; - AudioCaptureOperation operation; -}; - -static int32_t g_closeEnd = 0; -static int32_t CheckInputName(int type, void *val) -{ - if (val == NULL) { - return HDF_FAILURE; - } - printf("\n"); - int ret; - int inputInt = 0; - float inputFloat = 0.0; - uint32_t inputUint = 0; - switch (type) { - case INPUT_INT: - ret = scanf_s("%d", &inputInt); - if (inputInt < 0 || inputInt > GET_CAPTURE_POSITION + 1) { - SystemInputFail(); - return HDF_FAILURE; - } - *(int *)val = inputInt; - break; - case INPUT_FLOAT: - ret = scanf_s("%f", &inputFloat); - *(float *)val = inputFloat; - break; - case INPUT_UINT32: - ret = scanf_s("%u", &inputUint); - if (inputUint > 0xFFFFFFFF) { - return HDF_FAILURE; - } - *(uint32_t *)val = inputUint; - break; - default: - ret = EOF; - break; - } - if (ret == 0) { - CleanStdin(); - } else if (ret == EOF) { - AUDIO_FUNC_LOGE("Input failure occurs!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t InitAttrsCapture(struct AudioSampleAttributes *captureAttrs) -{ - if (captureAttrs == NULL) { - return HDF_FAILURE; - } - /* Initialization of audio parameters for playback */ - captureAttrs->format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - captureAttrs->channelCount = AUDIO_CHANNELCOUNT; - captureAttrs->sampleRate = AUDIO_SAMPLE_RATE_48K; - captureAttrs->interleaved = 1; - captureAttrs->type = AUDIO_IN_MEDIA; - captureAttrs->period = BUFFER_PERIOD_SIZE; - captureAttrs->frameSize = PCM_16_BIT * captureAttrs->channelCount / PCM_8_BIT; - captureAttrs->isBigEndian = false; - captureAttrs->isSignedData = true; - captureAttrs->startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (captureAttrs->frameSize); - captureAttrs->stopThreshold = INT_32_MAX; - captureAttrs->silenceThreshold = AUDIO_BUFF_SIZE; - return 0; -} - -static int32_t InitDevDescCapture(struct AudioDeviceDescriptor *devDesc, uint32_t portId) -{ - if (devDesc == NULL) { - return HDF_FAILURE; - } - /* Initialization of audio parameters for playback */ - devDesc->portId = portId; - devDesc->pins = PIN_IN_MIC; - devDesc->desc = NULL; - return 0; -} - -void StreamClose(int32_t sig) -{ - /* allow the stream to be closed gracefully */ - (void)signal(sig, SIG_IGN); - g_closeEnd = 1; -} - -static uint32_t PcmFramesToBytes(const struct AudioSampleAttributes attrs) -{ - return DEEP_BUFFER_RENDER_PERIOD_SIZE * attrs.channelCount * (PcmFormatToBits(attrs.format) >> BITS_TO_FROMAT); -} - -#ifndef __LITEOS__ -static int AudioPnpSvcThresholdMsgCheck(struct ServiceStatus *svcStatus, struct AudioEvent *audioEvent) -{ - if (svcStatus == NULL || audioEvent == NULL) { - printf("AudioPnpSvcThresholdMsgCheck:input param is null!\n"); - return HDF_FAILURE; - } - if ((AudioPnpMsgReadValue(svcStatus->info, "EVENT_TYPE", &(audioEvent->eventType)) != HDF_SUCCESS) || - (AudioPnpMsgReadValue(svcStatus->info, "DEVICE_TYPE", &(audioEvent->deviceType)) != HDF_SUCCESS)) { - printf("DeSerialize fail!\n"); - return HDF_FAILURE; - } - if (audioEvent->eventType != HDF_AUDIO_CAPTURE_THRESHOLD || audioEvent->deviceType != HDF_AUDIO_PRIMARY_DEVICE) { - printf("AudioPnpSvcThresholdMsgCheck deviceType not fit.\n"); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static void AudioPnpSvcEvenReceived(struct ServiceStatusListener *listener, struct ServiceStatus *svcStatus) -{ - struct StrParaCapture *strParam = NULL; - struct AudioCapture *capture = NULL; - uint32_t bufferSize = AUDIO_BUFF_SIZE; // 16 * 1024 = 16KB, it needs to be calculated by audio parameters - uint64_t replyBytes = 0; - uint64_t requestBytes = AUDIO_BUFF_SIZE; // 16 * 1024 = 16KB - int32_t index = 0; - struct AudioEvent audioEvent = {0}; - char *frame = NULL; - - if ((svcStatus == NULL) || (listener == NULL)) { - printf("input param is null!\n"); - return; - } - if (AudioPnpSvcThresholdMsgCheck(svcStatus, &audioEvent) != HDF_SUCCESS) { - return; - } - strParam = (struct StrParaCapture *)listener->priv; - if (strParam == NULL) { - printf("strParam is null \n"); - return; - } - capture = strParam->capture; - if (capture == NULL || capture->CaptureFrame == NULL || strParam->file == NULL) { - printf("capture is null \n"); - return; - } - frame = (char *)calloc(1, bufferSize); - if (frame == NULL) { - printf("calloc frame failed!\n"); - return; - } - g_receiveFrameCount++; - for (index = g_receiveFrameCount; index > 0; index--) { - if (capture->CaptureFrame(capture, frame, requestBytes, &replyBytes) != HDF_SUCCESS) { - printf("\nCaptureFrame fail\n"); - } else { - fwrite(frame, (size_t)replyBytes, 1, strParam->file); - g_receiveFrameCount--; - g_totalSize += (replyBytes / BUFFER_SIZE_BASE); // 1024 = 1Kb - if (g_totalSize % AUDIO_RECORD_INTERVAL_512KB == 0) { // 512KB - printf("\nRecording,the audio file size is %" PRIu64 "Kb\n", g_totalSize); - } - } - } - free(frame); - return; -} - -static int RegisterListen(const struct StrParaCapture *capture) -{ - int status; - if (capture == NULL) { - return -1; - } - g_totalSize = 0; - g_receiveFrameCount = 0; - - g_servmgr = SvcMgrIoserviceGet(); - g_listener = IoServiceStatusListenerNewInstance(); - if (g_servmgr == NULL || g_listener == NULL) { - printf("g_servmgr status g_listener is null .\n"); - return -1; - } - - g_listener->callback = AudioPnpSvcEvenReceived; - g_listener->priv = (void *)capture; - - status = g_servmgr->RegisterServiceStatusListener(g_servmgr, g_listener, DEVICE_CLASS_AUDIO); - if (status != HDF_SUCCESS) { - printf("RegisterServiceStatusListener file ret = %d.\n", status); - return -1; - } - - printf("RegisterListen success \n"); - return 0; -} - -static int UnRegisterListen(void) -{ - if (g_servmgr == NULL || g_listener == NULL) { - printf("UnRegisterListen: input para is null!\n"); - return -1; - } - int32_t ret = g_servmgr->UnregisterServiceStatusListener(g_servmgr, g_listener); - if (ret != HDF_SUCCESS) { - printf("UnregisterServiceStatusListener file ret = %d.\n", ret); - return -1; - } - - printf("UnregisterServiceStatusListener success \n"); - return 0; -} -#endif - -static int32_t StopButtonCapture(struct AudioCapture **captureS) -{ - if (captureS == NULL) { - return HDF_FAILURE; - } - if (!g_closeEnd) { - g_closeEnd = true; - usleep(100000); // sleep 100000us - } - struct AudioCapture *capture = *captureS; - if (capture == NULL) { - return HDF_FAILURE; - } - int ret = capture->control.Stop((AudioHandle)capture); - if (ret < 0) { - AUDIO_FUNC_LOGE("Stop capture!"); - } - if (g_adapter == NULL || g_adapter->DestroyCapture == NULL) { - return HDF_FAILURE; - } - ret = g_adapter->DestroyCapture(g_adapter, capture); - if (ret < 0) { - AUDIO_FUNC_LOGE("Capture already destroy!"); - } - capture = NULL; - g_capture = NULL; - if (g_frame != NULL) { - free(g_frame); - g_frame = NULL; - } - - if (AddWavFileHeader(g_file, &g_str) < 0) { - AUDIO_FUNC_LOGE("AddWavFileHeader Fail"); - return HDF_FAILURE; - } - - FileClose(&g_file); - if (g_captureModeFlag == CAPTURE_INTERUPT) { -#ifndef __LITEOS__ - ret = UnRegisterListen(); - if (ret < 0) { - AUDIO_FUNC_LOGE("UnRegisterListen failed!"); - } -#endif - } - printf("Stop Successful\n"); - return HDF_SUCCESS; -} - -static int32_t FrameStartCaptureMmap(const AudioHandle param) -{ - if (param == NULL) { - return HDF_FAILURE; - } - struct StrParaCapture *strParam = (struct StrParaCapture *)param; - struct AudioCapture *capture = strParam->capture; - struct AudioMmapBufferDescriptor desc; - // Modify file size - - int fd = fileno(strParam->file); - if (fd == -1) { - printf("fileno failed, fd is %d\n", fd); - return HDF_FAILURE; - } - ftruncate(fd, FILE_CAPTURE_SIZE); - // Init param - desc.memoryFd = fd; - desc.isShareable = 1; // 1:Shareable ,0:Don't share - desc.transferFrameSize = DEEP_BUFFER_RENDER_PERIOD_SIZE / 4; // One frame size 4 bit - desc.offset = 0; // Recording must be 0 - // start - if (capture == NULL || capture->attr.ReqMmapBuffer == NULL) { - return HDF_FAILURE; - } - int32_t ret = capture->attr.ReqMmapBuffer(capture, FILE_CAPTURE_SIZE, &desc); - if (ret < 0) { - printf("Request map fail,please check.\n"); - return HDF_FAILURE; - } - ret = msync(desc.memoryAddress, FILE_CAPTURE_SIZE, MS_ASYNC); - if (ret < 0) { - printf("sync fail.\n"); - } - munmap(desc.memoryAddress, FILE_CAPTURE_SIZE); - return HDF_SUCCESS; -} - -static int32_t WriteDataToFile(FILE *file, char *buffer, uint64_t replyBytes, uint32_t *failCount, uint64_t *totalSize) -{ - if (file == NULL || buffer == NULL || failCount == NULL || totalSize == NULL) { - AUDIO_FUNC_LOGE("WriteDataToFile params is null!"); - return HDF_FAILURE; - } - *failCount = 0; - (void)fwrite(buffer, (size_t)replyBytes, 1, file); - *totalSize += (replyBytes / BUFFER_SIZE_BASE); // 1024 = 1Kb - if (*totalSize % AUDIO_RECORD_INTERVAL_512KB == 0) { // 512KB - printf("\nRecording,the audio file size is %" PRIu64 "Kb\n", *totalSize); - } - return HDF_SUCCESS; -} - -static int32_t FrameStartCapture(const AudioHandle param) -{ - if (param == NULL) { - return HDF_FAILURE; - } - uint32_t bufferSize = AUDIO_BUFF_SIZE; - uint64_t requestBytes = AUDIO_BUFF_SIZE; - struct StrParaCapture *strParam = (struct StrParaCapture *)param; - struct AudioCapture *capture = strParam->capture; - uint64_t replyBytes = 0; - uint64_t totalSize = 0; - uint32_t failCount = 0; - if (capture == NULL || capture->CaptureFrame == NULL) { - return HDF_FAILURE; - } - char *frame = (char *)calloc(1, bufferSize); - if (frame == NULL) { - return HDF_FAILURE; - } - do { - int32_t ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - if (ret < 0) { - if (ret == HDF_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("Record already stop!"); - break; - } - usleep(ONE_MS); - if (failCount++ >= 300000) { // Try 300000 times for CaptureFrame fail - free(frame); - return HDF_FAILURE; - } - continue; - } - if (WriteDataToFile(strParam->file, frame, replyBytes, &failCount, &totalSize) < 0) { - free(frame); - return HDF_FAILURE; - } - } while ((totalSize <= AUDIO_TOTALSIZE_15M) && (!g_closeEnd)); // 15 * 1024 = 15M - free(frame); - if (!g_closeEnd) { - if (StopButtonCapture(&g_capture) < 0) { - return HDF_FAILURE; - } - } - return HDF_SUCCESS; -} -static void PrintRecordMode(void) -{ - printf(" ============= Play Capture Mode ==========\n"); - printf("| 1. Capture non-mmap |\n"); - printf("| 2. Capture mmap |\n"); - printf(" ========================================= \n"); -} - -static int32_t SelectPlayMode(int32_t *recordModeFlag) -{ - if (recordModeFlag == NULL) { - AUDIO_FUNC_LOGE("recordModeFlag is null"); - return HDF_FAILURE; - } - system("clear"); - int choice = 0; - PrintRecordMode(); - printf("Please enter your choice:"); - int32_t ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("CheckInputName Fail"); - return HDF_FAILURE; - } else { - *recordModeFlag = choice; - } - return HDF_SUCCESS; -} - -static int32_t StartRecordThread(int32_t recordModeFlag) -{ - pthread_attr_t tidsAttr; - pthread_attr_init(&tidsAttr); - pthread_attr_setdetachstate(&tidsAttr, PTHREAD_CREATE_DETACHED); - switch (recordModeFlag) { - case 1: // 1. Stander Loading - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStartCapture), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - case 2: // 2. Low latency Loading - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStartCaptureMmap), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - default: - printf("Input error,Switched to non-mmap Mode for you,"); - SystemInputFail(); - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStartCapture), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - } - return HDF_SUCCESS; -} - -static int32_t CaptureChoiceModeAndRecording( - struct StrParaCapture *strParam, struct AudioCapture *capture, int32_t recordModeFlag) -{ - if (strParam == NULL || capture == NULL) { - AUDIO_FUNC_LOGE("InitCaptureStrParam is NULL"); - return HDF_FAILURE; - } - int32_t ret; - (void)memset_s(strParam, sizeof(struct StrParaCapture), 0, sizeof(struct StrParaCapture)); - strParam->capture = capture; - strParam->file = g_file; - strParam->attrs = g_attrs; - strParam->frame = g_frame; - if (g_captureModeFlag == CAPTURE_INTERUPT) { -#ifndef __LITEOS__ - ret = RegisterListen(&g_str); - if (ret != 0) { - printf("---RegisterListen faile--- \n"); - return HDF_FAILURE; - } -#else - printf("not support liteos!"); - return HDF_FAILURE; -#endif - } else { - ret = StartRecordThread(recordModeFlag); - if (ret < 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - } - return HDF_SUCCESS; -} - -static int32_t RecordingAudioInitFile(void) -{ - if (g_file != NULL) { - AUDIO_FUNC_LOGE("the capture is playing,please stop first"); - return HDF_FAILURE; - } - g_closeEnd = false; - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(g_path, pathBuf) == NULL) { - return HDF_FAILURE; - } - g_file = fopen(pathBuf, "wb+"); - if (g_file == NULL) { - printf("failed to open '%s'\n", g_path); - return HDF_FAILURE; - } - - int32_t ret = fseek(g_file, WAV_HEAD_OFFSET, SEEK_SET); - if (ret != 0) { - printf("write wav file head error"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t RecordingAudioInitCapture(struct AudioCapture **captureTemp) -{ - if (captureTemp == NULL || g_adapter == NULL || g_adapter->CreateCapture == NULL || - g_adapter->DestroyCapture == NULL) { - AUDIO_FUNC_LOGE("captureTemp is null"); - return HDF_FAILURE; - } - - struct AudioCapture *capture = NULL; - int32_t ret = g_adapter->CreateCapture(g_adapter, &g_devDesc, &g_attrs, &capture); - if (capture == NULL || ret < 0) { - return HDF_FAILURE; - } - ret = capture->control.Start((AudioHandle)capture); - if (ret < 0) { - g_adapter->DestroyCapture(g_adapter, capture); - return HDF_FAILURE; - } - uint32_t bufferSize = PcmFramesToBytes(g_attrs); - g_frame = (char *)calloc(1, bufferSize); - if (g_frame == NULL) { - g_adapter->DestroyCapture(g_adapter, capture); - return HDF_FAILURE; - } - - *captureTemp = capture; - return HDF_SUCCESS; -} - -static int32_t StartButtonCapture(struct AudioCapture **captureS) -{ - if (captureS == NULL || g_adapter == NULL || g_adapter->CreateCapture == NULL) { - return HDF_FAILURE; - } - if (RecordingAudioInitFile() < 0) { - AUDIO_FUNC_LOGE("Init file Failed."); - return HDF_FAILURE; - } - int32_t recordModeFlag = 0; - if (SelectPlayMode(&recordModeFlag) < 0) { - AUDIO_FUNC_LOGE("SelectPlayMode Fail"); - FileClose(&g_file); - return HDF_FAILURE; - } - struct AudioCapture *capture = NULL; - if (RecordingAudioInitCapture(&capture) < 0) { - AUDIO_FUNC_LOGE("RecordingAudioInitCapture Fail"); - FileClose(&g_file); - return HDF_FAILURE; - } - if (CaptureChoiceModeAndRecording(&g_str, capture, recordModeFlag) < 0) { - AUDIO_FUNC_LOGE("CaptureChoiceModeAndRecording failed"); - FileClose(&g_file); - if (g_adapter != NULL && g_adapter->DestroyCapture != NULL) { - g_adapter->DestroyCapture(g_adapter, capture); - } - return HDF_FAILURE; - } - *captureS = capture; - printf("Start Successful\n"); - return HDF_SUCCESS; -} - -static int32_t SelectLoadingMode(char *resolvedPath, int32_t pathLen) -{ - system("clear"); - int choice = 0; - int32_t ret; - PrintLoadModeMenu(); - printf("Please enter your choice:"); - ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("capture CheckInputName failed!"); - return HDF_FAILURE; - } - ret = FormatLoadLibPath(resolvedPath, pathLen, choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("capture FormatLoadLibPath failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static struct AudioManager *GetAudioManagerInsForCapture(const char *funcString) -{ - struct AudioManager *(*getAudioManager)(void) = NULL; - if (funcString == NULL) { - AUDIO_FUNC_LOGE("funcString is null!"); - return NULL; - } - if (g_captureHandle == NULL) { - AUDIO_FUNC_LOGE("g_captureHandle is null!"); - return NULL; - } - getAudioManager = (struct AudioManager *(*)())(dlsym(g_captureHandle, funcString)); - if (getAudioManager == NULL) { - AUDIO_FUNC_LOGE("Get Audio Manager Funcs Fail"); - return NULL; - } - return getAudioManager(); -} - -static int32_t GetCaptureManagerFunc(void) -{ - struct AudioAdapterDescriptor *descs = NULL; - struct AudioPort capturePort; - int32_t size = 0; - int32_t adapterIndex = 0; - -#ifndef __LITEOS__ - (void)HdfRemoteGetCallingPid(); -#endif - struct AudioManager *manager = GetAudioManagerInsForCapture("GetAudioManagerFuncs"); - if (manager == NULL) { - AUDIO_FUNC_LOGE("GetAudioManagerInsForCapture Fail"); - return HDF_FAILURE; - } - int32_t ret = manager->GetAllAdapters(manager, &descs, &size); - if ((size == 0) || (descs == NULL) || (ret < 0)) { - AUDIO_FUNC_LOGE("Get All Adapters Fail"); - return HDF_ERR_NOT_SUPPORT; - } - if (SelectAudioCard(descs, size, &adapterIndex) != HDF_SUCCESS) { - return HDF_ERR_NOT_SUPPORT; - } - if (SwitchAudioPort(&descs[adapterIndex - 1], PORT_IN, &capturePort) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("Not Switch Adapter Fail"); - return HDF_ERR_NOT_SUPPORT; - } - if (manager->LoadAdapter(manager, &descs[adapterIndex - 1], &g_adapter) != 0) { - AUDIO_FUNC_LOGE("Load Adapter Fail"); - return HDF_ERR_NOT_SUPPORT; - } - g_manager = manager; - if (g_adapter == NULL) { - AUDIO_FUNC_LOGE("load audio device failed"); - return HDF_FAILURE; - } - (void)g_adapter->InitAllPorts(g_adapter); - if (InitAttrsCapture(&g_attrs) < 0) { - g_manager->UnloadAdapter(g_manager, g_adapter); - return HDF_FAILURE; - } - // Specify a hardware device - if (InitDevDescCapture(&g_devDesc, capturePort.portId) < 0) { - g_manager->UnloadAdapter(g_manager, g_adapter); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t InitParam(void) -{ - char resolvedPath[PATH_LEN] = {0}; - if (SelectLoadingMode(resolvedPath, PATH_LEN) < 0) { - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(resolvedPath, pathBuf) == NULL) { - return HDF_FAILURE; - } - g_captureHandle = dlopen(pathBuf, RTLD_LAZY); - if (g_captureHandle == NULL) { - AUDIO_FUNC_LOGE("Open so Fail, reason:%s", dlerror()); - return HDF_FAILURE; - } - - if (GetCaptureManagerFunc() < 0) { - AUDIO_FUNC_LOGE("GetCaptureManagerFunc Failed."); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t SetCaptureMute(struct AudioCapture **capture) -{ - (void)capture; - int32_t val = 0; - bool isMute = false; - int32_t ret; - if (g_capture == NULL || g_capture->volume.GetMute == NULL) { - return HDF_FAILURE; - } - ret = g_capture->volume.GetMute((AudioHandle)g_capture, &isMute); - if (ret < 0) { - AUDIO_FUNC_LOGE("The current mute state was not obtained!"); - } - printf("Now %s ,Do you need to set mute status(1/0):\n", isMute ? "mute" : "not mute"); - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - return HDF_FAILURE; - } - if (isMute != 0 && isMute != 1) { - AUDIO_FUNC_LOGE("Invalid value,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_capture == NULL || g_capture->volume.SetMute == NULL) { - AUDIO_FUNC_LOGE("Record already complete,Please record againand,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (val == 1) { - ret = g_capture->volume.SetMute((AudioHandle)g_capture, !isMute); - } - return ret; -} - -static int32_t SetCaptureVolume(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - float val = 0.5; - if (g_capture == NULL || g_capture->volume.GetVolume == NULL) { - return HDF_FAILURE; - } - ret = g_capture->volume.GetVolume((AudioHandle)g_capture, &val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current volume failed,"); - SystemInputFail(); - return ret; - } - printf("Now the volume is %f ,Please enter the volume value you want to set (0.0-1.0):\n", val); - ret = CheckInputName(INPUT_FLOAT, (void *)&val); - if (ret < 0) { - return HDF_FAILURE; - } - if (val < 0.0 || val > 1.0) { - AUDIO_FUNC_LOGE("Invalid volume value,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_capture == NULL) { - AUDIO_FUNC_LOGE("Record already complete,Please record againand,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_capture->volume.SetVolume == NULL) { - return HDF_FAILURE; - } - ret = g_capture->volume.SetVolume((AudioHandle)g_capture, val); - if (ret < 0) { - AUDIO_FUNC_LOGE("set volume fail,"); - SystemInputFail(); - } - return ret; -} - -static int32_t SetCaptureGain(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - float val = 1.0; - if (g_capture == NULL || g_capture->volume.GetGain == NULL) { - return HDF_FAILURE; - } - ret = g_capture->volume.GetGain((AudioHandle)g_capture, &val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current gain failed,"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("Now the gain is %f, Please enter the gain value you want to set (0.0-15.0):\n", val); - ret = CheckInputName(INPUT_FLOAT, (void *)&val); - if (ret < 0) { - return HDF_FAILURE; - } - // gain is 0.0 ~ 15.0 - if (val < 0.0 || val > 15.0) { - AUDIO_FUNC_LOGE("Invalid gain value,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_capture == NULL) { - AUDIO_FUNC_LOGE("Record already complete,Please record againand,"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_capture->volume.SetGain == NULL) { - return HDF_FAILURE; - } - ret = g_capture->volume.SetGain((AudioHandle)g_capture, val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Set capture gain failed,"); - SystemInputFail(); - } - return ret; -} - -static int32_t SetCaptyrePause(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - if (g_capture == NULL || g_capture->control.Pause == NULL) { - return HDF_FAILURE; - } - ret = g_capture->control.Pause((AudioHandle)g_capture); - if (ret != 0) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t SetCaptureResume(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - if (g_capture == NULL || g_capture->control.Resume == NULL) { - return HDF_FAILURE; - } - ret = g_capture->control.Resume((AudioHandle)g_capture); - if (ret != 0) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static void PrintAttributesFromat(void) -{ - printf(" ============= Capture Sample Attributes Format =============== \n"); - printf("| 1. Capture AUDIO_FORMAT_TYPE_PCM_8_BIT |\n"); - printf("| 2. Capture AUDIO_FORMAT_TYPE_PCM_16_BIT |\n"); - printf("| 3. Capture AUDIO_FORMAT_TYPE_PCM_24_BIT |\n"); - printf("| 4. Capture AUDIO_FORMAT_TYPE_PCM_32_BIT |\n"); - printf(" ============================================================== \n"); -} - -static int32_t SelectAttributesFomat(uint32_t *pcmFomat) -{ - int32_t ret; - int val = 0; - if (pcmFomat == NULL) { - return HDF_FAILURE; - } - PrintAttributesFromat(); - printf("Please select audio format,If not selected, the default is 16bit:"); - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - return HDF_FAILURE; - } - ret = CheckPcmFormat(val, pcmFomat); - if (ret < 0) { - AUDIO_FUNC_LOGE("Capture CheckPcmFormat failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t SetCaptureAttributes(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - struct AudioSampleAttributes attrs; - if (g_capture == NULL || g_capture->attr.GetSampleAttributes == NULL) { - AUDIO_FUNC_LOGE("pointer is NULL"); - return HDF_FAILURE; - } - ret = g_capture->attr.GetSampleAttributes((AudioHandle)g_capture, &attrs); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetCaptureAttributes failed\n"); - } else { - printf("Current sample attributes:\n"); - printf("audioType is %u\nfomat is %u\nsampleRate is %u\nchannalCount is" - "%u\nperiod is %u\nframesize is %u\nbigEndian is %u\nSignedData is %u\n", - attrs.type, attrs.format, attrs.sampleRate, attrs.channelCount, attrs.period, attrs.frameSize, - attrs.isBigEndian, attrs.isSignedData); - } - printf("Set Sample Attributes,"); - SystemInputFail(); - system("clear"); - printf("The sample attributes you want to set,Step by step, please.\n"); - ret = SelectAttributesFomat((uint32_t *)(&attrs.format)); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetCaptureAttributes format failed"); - return HDF_FAILURE; - } - printf("\nPlease input sample rate(48000,44100,32000...):"); - if (CheckInputName(INPUT_UINT32, (void *)(&attrs.sampleRate)) < 0) { - return HDF_FAILURE; - } - printf("\nPlease input bigEndian(false=0/true=1):"); - ret = CheckInputName(INPUT_UINT32, (void *)(&attrs.isBigEndian)); - if (ret < 0) { - return HDF_FAILURE; - } - if (g_capture == NULL || g_capture->attr.SetSampleAttributes == NULL) { - AUDIO_FUNC_LOGE("Record already complete,Please record againand set the attrbutes,"); - SystemInputFail(); - return HDF_FAILURE; - } - ret = g_capture->attr.SetSampleAttributes((AudioHandle)g_capture, &attrs); - if (ret < 0) { - AUDIO_FUNC_LOGE("Set capture attributes failed,"); - SystemInputFail(); - } - return ret; -} - -static int32_t PrintCaptureSelectPin(struct AudioSceneDescriptor *scene) -{ - system("clear"); - printf(" ==================== Select Pin ===================== \n"); - printf("| 0. MIC |\n"); - printf("| 1. MIC HeadSet |\n"); - printf(" ===================================================== \n"); - - printf("Please input your choice:\n"); - int32_t val = 0; - int32_t ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - - if (val == 1) { - scene->desc.pins = PIN_IN_HS_MIC; - } else { - scene->desc.pins = PIN_IN_MIC; - } - - return HDF_SUCCESS; -} - -static void SelectSceneMenu(void) -{ - printf(" ==================== Select Scene ==================== \n"); - printf("0 is Midea. |\n"); - printf("1 is Communication. |\n"); - printf("2 is Voice-all. |\n"); - printf(" ======================================================= \n"); -} - -static int32_t SelectCaptureScene(struct AudioCapture **capture) -{ - (void)capture; - system("clear"); - int32_t ret; - int val = 0; - struct AudioSceneDescriptor scene; - SelectSceneMenu(); - printf("Please input your choice:\n"); - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value,"); - SystemInputFail(); - return HDF_FAILURE; - } - - switch (val) { - case AUDIO_IN_MEDIA: - scene.scene.id = AUDIO_IN_MEDIA; - break; - case AUDIO_IN_COMMUNICATION: - scene.scene.id = AUDIO_IN_COMMUNICATION; - break; - case AUDIO_IN_CALL - 1: - scene.scene.id = AUDIO_IN_CALL; - break; - default: - AUDIO_FUNC_LOGE("Select Scene invaild."); - return HDF_FAILURE; - } - ret = PrintCaptureSelectPin(&scene); - if (ret != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("Select pin failed"); - return HDF_FAILURE; - } - - if (g_capture == NULL) { - AUDIO_FUNC_LOGE("Record already stop,"); - SystemInputFail(); - return HDF_FAILURE; - } - - if (g_capture->scene.SelectScene == NULL) { - return HDF_FAILURE; - } - - ret = g_capture->scene.SelectScene((AudioHandle)g_capture, &scene); - if (ret < 0) { - AUDIO_FUNC_LOGE("Select scene fail"); - } - return ret; -} -static int32_t GetCaptureExtParams(struct AudioCapture **capture) -{ - (void)capture; - char keyValueList[BUFFER_LEN] = {0}; - int32_t ret; - if (g_capture == NULL || g_capture->attr.GetExtraParams == NULL) { - return HDF_FAILURE; - } - ret = g_capture->attr.GetExtraParams((AudioHandle)g_capture, keyValueList, EXT_PARAMS_MAXLEN); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get EXT params failed!"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("keyValueList = %s\n", keyValueList); - return HDF_SUCCESS; -} - -static int32_t GetCaptureMmapPosition(struct AudioCapture **capture) -{ - (void)capture; - int32_t ret; - if (g_capture == NULL || g_capture->attr.GetMmapPosition == NULL) { - return HDF_FAILURE; - } - uint64_t frames = 0; - struct AudioTimeStamp time; - time.tvNSec = 0; - time.tvSec = 0; - ret = g_capture->attr.GetMmapPosition((AudioHandle)g_capture, &frames, &time); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current Mmap frames Position failed!"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("Now the Position is %" PRIu64 "\n", frames); - SystemInputFail(); - return HDF_SUCCESS; -} - -static void PrintMenu2(void) -{ - printf(" ================== Play Capture Menu ================== \n"); - printf("| 1. Capture Start |\n"); - printf("| 2. Capture Stop |\n"); - printf("| 3. Capture Resume |\n"); - printf("| 4. Capture Pause |\n"); - printf("| 5. Capture SetVolume |\n"); - printf("| 6. Capture SetGain |\n"); - printf("| 7. Capture SetMute |\n"); - printf("| 8. Capture SetAttributes |\n"); - printf("| 9. Capture SelectScene |\n"); - printf("| 10. Capture GetExtParams |\n"); - printf("| 11. Capture getMmapPosition |\n"); - printf("| 12.Exit |\n"); - printf(" ======================================================= \n"); -} - -static struct ProcessCaptureMenuSwitchList g_processCaptureMenuSwitchList[] = { - {CAPTURE_START, StartButtonCapture }, - {CAPTURE_STOP, StopButtonCapture }, - {CAPTURE_RESUME, SetCaptureResume }, - {CAPTURE_PAUSE, SetCaptyrePause }, - {SET_CAPTURE_VOLUME, SetCaptureVolume }, - {SET_CAPTURE_GAIN, SetCaptureGain }, - {SET_CAPTURE_MUTE, SetCaptureMute }, - {SET_CAPTURE_ATTRIBUTES, SetCaptureAttributes }, - {SET_CAPTURE_SLECET_SCENE, SelectCaptureScene }, - {GET_CAPTURE_EXT_PARAMS, GetCaptureExtParams }, - {GET_CAPTURE_POSITION, GetCaptureMmapPosition}, -}; - -static void ProcessMenu(int32_t choice) -{ - int32_t i; - if (choice == GET_CAPTURE_POSITION + 1) { - return; - } - if (g_capture == NULL && choice != 1) { - AUDIO_FUNC_LOGE("this capture already release,"); - SystemInputFail(); - return; - } - for (i = CAPTURE_START; i <= GET_CAPTURE_POSITION; ++i) { - if ((choice == (int32_t)g_processCaptureMenuSwitchList[i - 1].cmd) && - (g_processCaptureMenuSwitchList[i - 1].operation != NULL)) { - g_processCaptureMenuSwitchList[i - 1].operation(&g_capture); - } - } -} - -static void PrintMenu0(void) -{ - printf(" ============== Play Capture select ===========\n"); - printf("| 1. Capture Poll |\n"); - printf("| 2. Capture Interrupt |\n"); - printf(" ==============================================\n"); -} - -static void Choice0(void) -{ - system("clear"); - int choice = 0; - PrintMenu0(); - printf("Please enter your choice:"); - int32_t ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - return; - } - switch (choice) { - case CAPTURE_POLL: - g_captureModeFlag = CAPTURE_POLL; - break; - case CAPTURE_INTERUPT: - g_captureModeFlag = CAPTURE_INTERUPT; - break; - default: - printf("Input error,Switched to Poll mode in for you,"); - SystemInputFail(); - break; - } - return; -} - -static void Choice(void) -{ - int32_t option = 0; - while (option < GET_CAPTURE_POSITION + 1 && option >= 0) { - system("clear"); - PrintMenu2(); - printf("your choice is:\n"); - int32_t ret = CheckInputName(INPUT_INT, (void *)&option); - if (ret < 0) { - continue; - } - if (option < CAPTURE_START || option > GET_CAPTURE_POSITION + 1) { - printf("You input is wrong,"); - option = 0; - SystemInputFail(); - continue; - } - ProcessMenu(option); - } -} - -static int32_t CheckAndOpenFile(int32_t argc, char const *argv[]) -{ - if (argc < 2 || argv == NULL || argv[0] == NULL) { // The parameter number is not greater than 2 - printf("usage:[1]sample [2]/data/test.wav\n"); - return HDF_FAILURE; - } - int32_t ret; - if (argv[1] == NULL || strlen(argv[1]) == 0) { - return HDF_FAILURE; - } - ret = strncpy_s(g_path, PATH_LEN, argv[1], strlen(argv[1]) + 1); - if (ret != 0) { - AUDIO_FUNC_LOGE("copy fail"); - return HDF_FAILURE; - } - char *path = g_path; - FILE *file = fopen(path, "wb+"); - if (file == NULL) { - printf("failed to open '%s',Please enter the correct file name \n", g_path); - return HDF_FAILURE; - } - (void)fclose(file); - return HDF_SUCCESS; -} - -int32_t main(int32_t argc, char const *argv[]) -{ - int32_t ret = CheckAndOpenFile(argc, argv); - if (ret != HDF_SUCCESS) { - return ret; - } - if (InitParam() < 0) { // init - AUDIO_FUNC_LOGE("InitParam Fail"); - return HDF_FAILURE; - } - Choice0(); - - Choice(); - if (g_capture != NULL && g_adapter != NULL) { - StopButtonCapture(&g_capture); - } - if (g_manager != NULL) { - if (g_manager->UnloadAdapter != NULL) { - g_manager->UnloadAdapter(g_manager, g_adapter); - } - - if (g_manager->ReleaseAudioManagerObject != NULL) { - g_manager->ReleaseAudioManagerObject(g_manager); - } - } - dlclose(g_handle); - printf("Record file path:%s\n", g_path); - return 0; -} diff --git a/audio/test/sample/framework_common.c b/audio/test/sample/framework_common.c index f1c5e7617b34c6422ec0b38793430440a0076fde..3b51cb52482881340e34195ca9553035dae157af 100644 --- a/audio/test/sample/framework_common.c +++ b/audio/test/sample/framework_common.c @@ -20,17 +20,6 @@ #define MOVE_LEFT_NUM 8 #define WAV_HEAD_RIFF_OFFSET 8 -#define UHDF_PASSTHROUGH_LIB "libhdi_audio" - -#ifdef __LITEOS__ -#define UHDF_IPC_LIB "/usr/lib/libhdi_audio_client.z.so" -#else -#ifdef __aarch64__ -#define UHDF_IPC_LIB "/system/lib64/libhdi_audio_client.z.so" -#else -#define UHDF_IPC_LIB "/system/lib/libhdi_audio_client.z.so" -#endif -#endif int32_t SwitchAudioPort( struct AudioAdapterDescriptor *descs, enum AudioPortDirection portFlag, struct AudioPort *renderPort) @@ -251,36 +240,3 @@ void FileClose(FILE **file) return; } -int32_t FormatLoadLibPath(char *resolvedPath, int32_t pathLen, int choice) -{ - if (resolvedPath == NULL) { - AUDIO_FUNC_LOGE("The Parameter is NULL."); - return HDF_FAILURE; - } - char *uhdfLibPath = NULL; - switch (choice) { - case 1: // 1 is Passthrough Loading - uhdfLibPath = HDF_LIBRARY_FULL_PATH(UHDF_PASSTHROUGH_LIB); - if (snprintf_s(resolvedPath, pathLen, pathLen - 1, "%s", uhdfLibPath) < 0) { - AUDIO_FUNC_LOGE("snprintf_s failed!"); - return HDF_FAILURE; - } - break; - case 2: // 2 is IPC Loading - uhdfLibPath = UHDF_IPC_LIB; - if (snprintf_s(resolvedPath, pathLen, pathLen - 1, "%s", uhdfLibPath) < 0) { - AUDIO_FUNC_LOGE("snprintf_s failed!"); - return HDF_FAILURE; - } - break; - default: - uhdfLibPath = HDF_LIBRARY_FULL_PATH(UHDF_PASSTHROUGH_LIB); - printf("Input error,Switched to direct loading in for you,"); - SystemInputFail(); - if (snprintf_s(resolvedPath, pathLen, pathLen - 1, "%s", uhdfLibPath) < 0) { - return HDF_FAILURE; - } - break; - } - return HDF_SUCCESS; -} diff --git a/audio/test/sample/framework_render.c b/audio/test/sample/framework_render.c deleted file mode 100644 index ea5736f483241b15c2e5d0f84f05313952f784f0..0000000000000000000000000000000000000000 --- a/audio/test/sample/framework_render.c +++ /dev/null @@ -1,1183 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "audio_manager.h" -#include "framework_common.h" -#include "hdf_base.h" -#include "inttypes.h" - -#define BUFFER_LEN 256 -#define AUDIO_CHANNELCOUNT 2 -#define AUDIO_SAMPLE_RATE_48K 48000 -#define PATH_LEN 256 -#define DEEP_BUFFER_RENDER_PERIOD_SIZE 1024 -#define INT_32_MAX 0x7fffffff -#define ATTR_PERIOD_MIN 2048 -#define EXT_PARAMS_MAXLEN 107 -#define BITS_TO_FROMAT 3 - -struct StrPara { - struct AudioRender *render; - FILE *file; - struct AudioSampleAttributes attrs; - uint64_t *replyBytes; - char *frame; - int32_t bufferSize; -}; - -struct AudioRender *g_render = NULL; -struct AudioAdapter *g_adapter = NULL; -struct AudioManager *g_manager = NULL; -struct AudioDeviceDescriptor g_devDesc; -struct AudioSampleAttributes g_attrs; -struct AudioPort g_audioPort; -struct AudioHeadInfo g_wavHeadInfo; -static struct StrPara g_str; -static int32_t g_audioRouteHandle; - -pthread_t g_tids; -char *g_frame = NULL; -void *g_handle; -FILE *g_file; - -char g_path[256]; -static int32_t g_closeEnd = 0; -pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER; -pthread_cond_t g_functionCond = PTHREAD_COND_INITIALIZER; -bool g_waitSleep = false; -enum RenderMenuId { - RENDER_START = 1, - RENDER_STOP, - RENDER_RESUME, - RENDER_PAUSE, - SET_RENDER_VOLUME, - SET_RENDER_GAIN, - SET_RENDER_MUTE, - SET_RENDER_ATTRIBUTES, - SET_RENDER_SLECET_SCENE, - GET_RENDER_EXT_PARAMS, - GET_RENDER_POSITION, -}; - -enum RenderInputType { - INPUT_INT = 0, - INPUT_FLOAT, - INPUT_UINT32, -}; - -typedef int32_t (*AudioRenderOperation)(struct AudioRender **); - -struct ProcessRenderMenuSwitchList { - enum RenderMenuId cmd; - AudioRenderOperation operation; -}; - -static int32_t CheckInputName(int type, void *val) -{ - int ret; - int renderInputInt = 0; - float renderInputFloat = 0.0; - uint32_t renderInputUint = 0; - if (val == NULL) { - return HDF_FAILURE; - } - printf("\n"); - switch (type) { - case INPUT_INT: - ret = scanf_s("%d", &renderInputInt); - if (renderInputInt < 0 || renderInputInt > GET_RENDER_POSITION + 1) { - AUDIO_FUNC_LOGE("Input failure"); - return HDF_FAILURE; - } - *(int *)val = renderInputInt; - break; - case INPUT_FLOAT: - ret = scanf_s("%f", &renderInputFloat); - *(float *)val = renderInputFloat; - break; - case INPUT_UINT32: - ret = scanf_s("%u", &renderInputUint); - if (renderInputUint > 0xFFFFFFFF) { - return HDF_FAILURE; - } - *(uint32_t *)val = renderInputUint; - break; - default: - ret = EOF; - break; - } - if (ret == 0) { - CleanStdin(); - } else if (ret == EOF) { - AUDIO_FUNC_LOGE("Input error occurs!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t InitAttrs(struct AudioSampleAttributes *renderAttrs) -{ - if (renderAttrs == NULL) { - return HDF_FAILURE; - } - /* Initialization of audio parameters for playback */ - renderAttrs->format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - renderAttrs->channelCount = AUDIO_CHANNELCOUNT; - renderAttrs->sampleRate = AUDIO_SAMPLE_RATE_48K; - renderAttrs->interleaved = 1; - renderAttrs->type = AUDIO_IN_MEDIA; - renderAttrs->period = ATTR_PERIOD_MIN; - renderAttrs->frameSize = PCM_16_BIT * renderAttrs->channelCount / PCM_8_BIT; - renderAttrs->isBigEndian = false; - renderAttrs->isSignedData = true; - renderAttrs->startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (renderAttrs->frameSize); - renderAttrs->stopThreshold = INT_32_MAX; - renderAttrs->silenceThreshold = 0; - renderAttrs->streamId = 0; - return HDF_SUCCESS; -} - -static int32_t InitDevDesc(struct AudioDeviceDescriptor *devDesc, uint32_t portId) -{ - if (devDesc == NULL) { - return HDF_FAILURE; - } - /* Initialization of audio parameters for playback */ - devDesc->portId = portId; - devDesc->pins = PIN_OUT_SPEAKER; - devDesc->desc = NULL; - return HDF_SUCCESS; -} - -static uint32_t PcmFramesToBytes(const struct AudioSampleAttributes attrs) -{ - return DEEP_BUFFER_RENDER_PERIOD_SIZE * attrs.channelCount * (PcmFormatToBits(attrs.format) >> BITS_TO_FROMAT); -} - -static int32_t StopAudioFiles(struct AudioRender **renderS) -{ - if (renderS == NULL) { - return HDF_FAILURE; - } - if (g_waitSleep) { - pthread_mutex_lock(&g_mutex); - g_waitSleep = false; - pthread_cond_signal(&g_functionCond); - pthread_mutex_unlock(&g_mutex); - } - if (!g_closeEnd) { - g_closeEnd = true; - usleep(100000); // sleep 100000us - } - struct AudioRender *render = *renderS; - if (render == NULL) { - AUDIO_FUNC_LOGE("render is null"); - return HDF_FAILURE; - } - int32_t ret = render->control.Stop((AudioHandle)render); - if (ret < 0) { - AUDIO_FUNC_LOGE("Stop Render!"); - } - - if (g_adapter == NULL || g_adapter->DestroyRender == NULL) { - return HDF_FAILURE; - } - ret = g_adapter->DestroyRender(g_adapter, render); - if (ret < 0) { - AUDIO_FUNC_LOGE("Destroy Render!"); - } - render = NULL; - g_render = NULL; - if (g_frame != NULL) { - free(g_frame); - g_frame = NULL; - } - FileClose(&g_file); - printf("Stop Successful\n"); - return ret; -} - -static bool PrepareStopAndUnloadAdapter(void) -{ - bool soMode = false; - - if (g_render != NULL && g_adapter != NULL) { - StopAudioFiles(&g_render); - } - - if (g_manager != NULL) { - soMode = true; - if (g_manager->UnloadAdapter != NULL) { - g_manager->UnloadAdapter(g_manager, g_adapter); - } - - if (g_manager->ReleaseAudioManagerObject != NULL) { - g_manager->ReleaseAudioManagerObject(g_manager); - } - } - return soMode; -} - -static void StopRenderBySig(int32_t sig) -{ - (void)PrepareStopAndUnloadAdapter(); - dlclose(g_handle); - g_closeEnd = 1; - - (void)signal(sig, SIG_DFL); - return; -} -static inline void ProcessCommonSig(void) -{ - (void)signal(SIGKILL, StopRenderBySig); - (void)signal(SIGINT, StopRenderBySig); - (void)signal(SIGTERM, StopRenderBySig); - return; -} - -static int32_t MmapInitFile(FILE **fp) -{ - if (fp == NULL) { - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(g_path, pathBuf) == NULL) { - return HDF_FAILURE; - } - *fp = fopen(pathBuf, "rb+"); - if (*fp == NULL) { - printf("Open file failed!\n"); - return HDF_FAILURE; - } - int32_t ret = fseek(*fp, 0, SEEK_END); - if (ret != 0) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t FrameStartMmap(const AudioHandle param) -{ - if (param == NULL) { - return HDF_FAILURE; - } - struct StrPara *strParam = (struct StrPara *)param; - struct AudioRender *render = strParam->render; - struct AudioMmapBufferDescriptor desc; - ProcessCommonSig(); - // get file length - FILE *fp = NULL; - if (MmapInitFile(&fp) < 0) { - if (fp != NULL) { - (void)fclose(fp); - return HDF_FAILURE; - } - } - int32_t reqSize = (int32_t)ftell(fp); - if (reqSize == -1) { - (void)fclose(fp); - return HDF_FAILURE; - } - // Converts a file pointer to a device descriptor - int fd = fileno(fp); - if (fd == -1) { - printf("fileno failed, fd is %d\n", fd); - (void)fclose(fp); - return HDF_FAILURE; - } - // Init param - desc.memoryFd = fd; - desc.isShareable = 1; // 1:Shareable ,0:Don't share - desc.transferFrameSize = DEEP_BUFFER_RENDER_PERIOD_SIZE / 4; // One frame size 4 bit - desc.offset = sizeof(g_wavHeadInfo); - // start - if (render == NULL || render->attr.ReqMmapBuffer == NULL) { - (void)fclose(fp); - return HDF_FAILURE; - } - int32_t ret = render->attr.ReqMmapBuffer(render, reqSize, &desc); - if (ret < 0 || reqSize <= 0) { - printf("Request map fail,please check.\n"); - (void)fclose(fp); - return HDF_FAILURE; - } - munmap(desc.memoryAddress, reqSize); - (void)fclose(fp); - if (g_render != NULL) { - ret = StopAudioFiles(&render); - if (ret < 0) { - AUDIO_FUNC_LOGE("StopAudioFiles File!"); - } - } - return HDF_SUCCESS; -} - -static int32_t FrameStart(const AudioHandle param) -{ - if (param == NULL) { - return HDF_FAILURE; - } - struct StrPara *strParam = (struct StrPara *)param; - struct AudioRender *render = strParam->render; - char *frame = strParam->frame; - int32_t bufferSize = strParam->bufferSize; - int32_t ret; - size_t readSize; - int32_t remainingDataSize = (int32_t)g_wavHeadInfo.riffSize; - size_t numRead; - ProcessCommonSig(); - uint64_t replyBytes; - if (g_file == NULL) { - return HDF_FAILURE; - } - if (render == NULL || render->RenderFrame == NULL || frame == NULL) { - return HDF_FAILURE; - } - do { - readSize = (size_t)((remainingDataSize > bufferSize) ? bufferSize : remainingDataSize); - numRead = fread(frame, 1, readSize, g_file); - if (numRead > 0) { - ret = render->RenderFrame(render, frame, numRead, &replyBytes); - if (ret == HDF_ERR_INVALID_OBJECT) { - AUDIO_FUNC_LOGE("Render already stop!"); - break; - } - remainingDataSize -= (int32_t)numRead; - } - while (g_waitSleep) { - printf("music pause now.\n"); - pthread_cond_wait(&g_functionCond, &g_mutex); - printf("music resume now.\n"); - } - } while (!g_closeEnd && numRead > 0 && remainingDataSize > 0); - if (!g_closeEnd) { - printf("\nPlay complete, please select input again\n"); - (void)StopAudioFiles(&render); - } - return HDF_SUCCESS; -} - -static int32_t InitPlayingAudioParam(struct AudioRender *render) -{ - if (render == NULL) { - return HDF_FAILURE; - } - uint64_t frameSize = 0; - uint64_t frameCount = 0; - uint64_t bufferSize = 0; - if (render->attr.GetFrameSize(render, &frameSize) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("get frame size failed"); - } - if (render->attr.GetFrameCount(render, &frameCount) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("get frame count failed"); - } - - bufferSize = frameCount * frameSize; - if (bufferSize == 0) { - bufferSize = PcmFramesToBytes(g_attrs); - AUDIO_FUNC_LOGE("buffer size by calc is %" PRIu64 "", bufferSize); - } - - g_frame = (char *)calloc(1, bufferSize); - if (g_frame == NULL) { - return HDF_FAILURE; - } - (void)memset_s(&g_str, sizeof(struct StrPara), 0, sizeof(struct StrPara)); - g_str.render = render; - g_str.bufferSize = (int32_t)bufferSize; - g_str.frame = g_frame; - return HDF_SUCCESS; -} - -static void PrintPlayMode(void) -{ - printf(" ============= Play Render Mode ==========\n"); - printf("| 1. Render non-mmap |\n"); - printf("| 2. Render mmap |\n"); - printf(" ======================================== \n"); -} - -static int32_t SelectPlayMode(int32_t *palyModeFlag) -{ - if (palyModeFlag == NULL) { - AUDIO_FUNC_LOGE("palyModeFlag is null"); - return HDF_FAILURE; - } - system("clear"); - int choice = 0; - PrintPlayMode(); - printf("Please enter your choice:"); - int32_t ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("CheckInputName Fail"); - return HDF_FAILURE; - } else { - *palyModeFlag = choice; - } - return HDF_SUCCESS; -} - -static int32_t StartPlayThread(int32_t palyModeFlag) -{ - pthread_attr_t tidsAttr; - pthread_attr_init(&tidsAttr); - pthread_attr_setdetachstate(&tidsAttr, PTHREAD_CREATE_DETACHED); - switch (palyModeFlag) { - case 1: // 1. Stander Loading - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStart), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - case 2: // 2. Low latency Loading - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStartMmap), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - default: - printf("Input error,Switched to non-mmap Mode for you,"); - SystemInputFail(); - if (pthread_create(&g_tids, &tidsAttr, (void *)(&FrameStart), &g_str) != 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - return HDF_FAILURE; - } - break; - } - return HDF_SUCCESS; -} - -static int32_t PlayingAudioInitFile(void) -{ - if (g_file != NULL) { - AUDIO_FUNC_LOGE("the music is playing,please stop first"); - return HDF_FAILURE; - } - g_closeEnd = false; - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(g_path, pathBuf) == NULL) { - return HDF_FAILURE; - } - g_file = fopen(pathBuf, "rb"); - if (g_file == NULL) { - printf("failed to open '%s'\n", g_path); - return HDF_FAILURE; - } - if (CheckWavFileHeader(g_file, &g_wavHeadInfo, &g_attrs) < 0) { - FileClose(&g_file); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t BindRouteToRender(int32_t streamid, enum AudioPortPin outputDevice) -{ - struct AudioRouteNode source = { - .portId = 0, - .role = AUDIO_PORT_SOURCE_ROLE, - .type = AUDIO_PORT_MIX_TYPE, - .ext.mix.moduleId = 0, - .ext.mix.streamId = streamid, - }; - - struct AudioRouteNode sink = { - .portId = 0, - .role = AUDIO_PORT_SINK_ROLE, - .type = AUDIO_PORT_DEVICE_TYPE, - .ext.device.moduleId = 0, - .ext.device.type = outputDevice, - .ext.device.desc = "pin_out_speaker", - }; - - struct AudioRoute route = { - .sourcesNum = 1, - .sources = &source, - .sinksNum = 1, - .sinks = &sink, - }; - - return g_adapter->UpdateAudioRoute(g_adapter, &route, &g_audioRouteHandle); -} - -static int32_t PlayingAudioFiles(struct AudioRender **renderS) -{ - if (renderS == NULL || g_adapter == NULL || g_adapter->CreateRender == NULL) { - return HDF_FAILURE; - } - if (PlayingAudioInitFile() < 0) { - AUDIO_FUNC_LOGE("PlayingAudioInitFile Fail"); - return HDF_FAILURE; - } - int32_t palyModeFlag = 0; - if (SelectPlayMode(&palyModeFlag) < 0) { - AUDIO_FUNC_LOGE("SelectPlayMode Fail"); - FileClose(&g_file); - return HDF_FAILURE; - } - struct AudioRender *render = NULL; - int32_t ret = g_adapter->CreateRender(g_adapter, &g_devDesc, &g_attrs, &render); - if (render == NULL || ret < 0 || render->RenderFrame == NULL) { - AUDIO_FUNC_LOGE("AudioDeviceCreateRender failed or RenderFrame is null"); - FileClose(&g_file); - return HDF_FAILURE; - } - - (void)BindRouteToRender(g_attrs.streamId, g_devDesc.pins); - // Playing audio files - if (render->control.Start((AudioHandle)render)) { - AUDIO_FUNC_LOGE("Start Bind Fail!"); - FileClose(&g_file); - return HDF_FAILURE; - } - if (InitPlayingAudioParam(render) < 0) { - AUDIO_FUNC_LOGE("InitPlayingAudioParam Fail"); - FileClose(&g_file); - return HDF_FAILURE; - } - if (StartPlayThread(palyModeFlag) < 0) { - AUDIO_FUNC_LOGE("Create Thread Fail"); - FileClose(&g_file); - return HDF_FAILURE; - } - *renderS = render; - printf("Start Successful,Music is playing\n"); - return HDF_SUCCESS; -} - -static int32_t SelectLoadingMode(char *renderResolvedPath, int32_t pathLen) -{ - system("clear"); - int choice = 0; - int32_t ret; - PrintLoadModeMenu(); - printf("Please enter your choice:"); - ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("render CheckInputName failed!"); - return HDF_FAILURE; - } - ret = FormatLoadLibPath(renderResolvedPath, pathLen, choice); - if (ret < 0) { - AUDIO_FUNC_LOGE("render FormatLoadLibPath failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static struct AudioManager *GetAudioManagerInsForRender(const char *funcString) -{ - struct AudioManager *(*getAudioManager)(void) = NULL; - if (funcString == NULL) { - AUDIO_FUNC_LOGE("funcString is null!"); - return NULL; - } - if (g_handle == NULL) { - AUDIO_FUNC_LOGE("g_captureHandle is null!"); - return NULL; - } - getAudioManager = (struct AudioManager *(*)())(dlsym(g_handle, funcString)); - if (getAudioManager == NULL) { - AUDIO_FUNC_LOGE("Get Audio Manager Funcs Fail"); - return NULL; - } - return getAudioManager(); -} - -static int32_t GetRenderManagerFunc(void) -{ - struct AudioAdapterDescriptor *descs = NULL; - struct AudioPort renderPort; - int32_t size = 0; - int32_t adapterIndex = 0; - - struct AudioManager *manager = GetAudioManagerInsForRender("GetAudioManagerFuncs"); - if (manager == NULL) { - AUDIO_FUNC_LOGE("GetAudioManagerInsForRender Fail"); - return HDF_FAILURE; - } - int32_t ret = manager->GetAllAdapters(manager, &descs, &size); - if ((size == 0) || (descs == NULL) || (ret < 0)) { - AUDIO_FUNC_LOGE("Get All Adapters Fail"); - return HDF_ERR_NOT_SUPPORT; - } - if (SelectAudioCard(descs, size, &adapterIndex) != HDF_SUCCESS) { - return HDF_ERR_NOT_SUPPORT; - } - if (SwitchAudioPort(&descs[adapterIndex - 1], PORT_OUT, &renderPort) != HDF_SUCCESS) { - AUDIO_FUNC_LOGE("Not Switch Adapter Invalid"); - return HDF_ERR_NOT_SUPPORT; - } - if (manager->LoadAdapter(manager, &descs[adapterIndex - 1], &g_adapter) != 0) { - AUDIO_FUNC_LOGE("Load Adapter Fail"); - return HDF_ERR_NOT_SUPPORT; - } - g_manager = manager; - if (g_adapter == NULL) { - AUDIO_FUNC_LOGE("load audio device Invalid"); - return HDF_FAILURE; - } - (void)g_adapter->InitAllPorts(g_adapter); - if (InitAttrs(&g_attrs) < 0) { - g_manager->UnloadAdapter(g_manager, g_adapter); - return HDF_FAILURE; - } - // Specify a hardware device - if (InitDevDesc(&g_devDesc, renderPort.portId) < 0) { - g_manager->UnloadAdapter(g_manager, g_adapter); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t InitParam(void) -{ - g_audioPort.dir = PORT_OUT; - g_audioPort.portId = 0; - g_audioPort.portName = "AOP"; - char resolvedPath[PATH_LEN] = {0}; // Select loading mode,begin - if (SelectLoadingMode(resolvedPath, PATH_LEN) < 0) { - return HDF_FAILURE; - } - g_handle = dlopen(resolvedPath, RTLD_LAZY); - if (g_handle == NULL) { - AUDIO_FUNC_LOGE("Open so Fail, reason:%s", dlerror()); - return HDF_FAILURE; - } - - if (GetRenderManagerFunc() < 0) { - AUDIO_FUNC_LOGE("GetManagerFunc Failed."); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t SetRenderMute(struct AudioRender **render) -{ - (void)render; - int32_t val; - bool isMute = false; - int32_t ret; - if (g_render == NULL || g_render->volume.GetMute == NULL) { - return HDF_FAILURE; - } - ret = g_render->volume.GetMute((AudioHandle)g_render, &isMute); - if (ret < 0) { - AUDIO_FUNC_LOGE("The current mute state was not obtained!"); - } - printf("Now %s ,Do you need to set mute status(1/0):", isMute ? "mute" : "not mute"); - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - return HDF_FAILURE; - } - if (isMute != 0 && isMute != 1) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_render == NULL || g_render->volume.SetMute == NULL) { - AUDIO_FUNC_LOGE("Music already stop!"); - SystemInputFail(); - return HDF_FAILURE; - } - if (val == 1) { - ret = g_render->volume.SetMute((AudioHandle)g_render, !isMute); - } - return ret; -} - -static int32_t SetRenderVolume(struct AudioRender **render) -{ - (void)render; - int32_t ret; - float val = 0.0; - if (g_render == NULL || g_render->volume.GetVolume == NULL) { - return HDF_FAILURE; - } - ret = g_render->volume.GetVolume((AudioHandle)g_render, &val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current volume failed!"); - SystemInputFail(); - return ret; - } - printf("Now the volume is %f ,Please enter the volume value you want to set (0.0-1.0):", val); - if (CheckInputName(INPUT_FLOAT, (void *)&val) < 0) { - return HDF_FAILURE; - } - if (val < 0.0 || val > 1.0) { - AUDIO_FUNC_LOGE("Invalid volume value!"); - SystemInputFail(); - return HDF_FAILURE; - } - if (g_render == NULL || g_render->volume.SetVolume == NULL) { - AUDIO_FUNC_LOGE("Music already stop!"); - SystemInputFail(); - return HDF_FAILURE; - } - ret = g_render->volume.SetVolume((AudioHandle)g_render, val); - if (ret < 0) { - AUDIO_FUNC_LOGE("set volume fail!"); - SystemInputFail(); - } - return ret; -} - -static int32_t GetRenderGain(struct AudioRender **render) -{ - (void)render; - int32_t ret; - float val = 1.0; - if (g_render == NULL || g_render->volume.GetGain == NULL) { - return HDF_FAILURE; - } - ret = g_render->volume.GetGain((AudioHandle)g_render, &val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current gain failed!"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("Now the gain is %f,", val); - SystemInputFail(); - return HDF_SUCCESS; -} - -static int32_t SetRenderPause(struct AudioRender **render) -{ - (void)render; - if (g_waitSleep) { - AUDIO_FUNC_LOGE("Already pause,not need pause again!"); - SystemInputFail(); - return HDF_FAILURE; - } - int32_t ret; - if (g_render == NULL || g_render->control.Pause == NULL) { - return HDF_FAILURE; - } - ret = g_render->control.Pause((AudioHandle)g_render); - if (ret != 0) { - return HDF_FAILURE; - } - printf("Pause success!\n"); - g_waitSleep = true; - return HDF_SUCCESS; -} - -static int32_t SetRenderResume(struct AudioRender **render) -{ - (void)render; - if (!g_waitSleep) { - AUDIO_FUNC_LOGE("Now is Playing,not need resume!"); - SystemInputFail(); - return HDF_FAILURE; - } - int32_t ret; - if (g_render == NULL || g_render->control.Resume == NULL) { - return HDF_FAILURE; - } - ret = g_render->control.Resume((AudioHandle)g_render); - if (ret != 0) { - return HDF_FAILURE; - } - printf("resume success!\n"); - pthread_mutex_lock(&g_mutex); - g_waitSleep = false; - pthread_cond_signal(&g_functionCond); - pthread_mutex_unlock(&g_mutex); - return HDF_SUCCESS; -} - -static void PrintRenderAttributesFromat(void) -{ - printf(" ============= Render Sample Attributes Format =============== \n"); - printf("| 1. Render AUDIO_FORMAT_TYPE_PCM_8_BIT |\n"); - printf("| 2. Render AUDIO_FORMAT_TYPE_PCM_16_BIT |\n"); - printf("| 3. Render AUDIO_FORMAT_TYPE_PCM_24_BIT |\n"); - printf("| 4. Render AUDIO_FORMAT_TYPE_PCM_32_BIT |\n"); - printf(" ============================================================= \n"); -} - -static int32_t SelectAttributesFomat(uint32_t *renderPcmFomat) -{ - if (renderPcmFomat == NULL) { - AUDIO_FUNC_LOGE("fomat is null!"); - return HDF_FAILURE; - } - PrintRenderAttributesFromat(); - printf("Please select audio format,If not selected, the default is 16bit:"); - int32_t ret; - int val = 0; - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("CheckInputName failed!"); - return HDF_FAILURE; - } - ret = CheckPcmFormat(val, renderPcmFomat); - if (ret < 0) { - AUDIO_FUNC_LOGE("Render CheckPcmFormat failed!"); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static int32_t SetRenderAttributes(struct AudioRender **render) -{ - (void)render; - int32_t ret; - struct AudioSampleAttributes renderAttrs; - if (g_render == NULL || g_render->attr.GetSampleAttributes == NULL) { - AUDIO_FUNC_LOGE("The pointer is null!"); - return HDF_FAILURE; - } - ret = g_render->attr.GetSampleAttributes((AudioHandle)g_render, &renderAttrs); - if (ret < 0) { - AUDIO_FUNC_LOGE("GetRenderAttributes failed!"); - } else { - printf("Current sample attributes:\n"); - printf("audioType is %u\nfomat is %u\nsampleRate is %u\nchannalCount is" - "%u\nperiod is %u\nframesize is %u\nbigEndian is %u\nSignedData is %u\n", - renderAttrs.type, renderAttrs.format, renderAttrs.sampleRate, renderAttrs.channelCount, renderAttrs.period, - renderAttrs.frameSize, renderAttrs.isBigEndian, renderAttrs.isSignedData); - } - printf("Set Sample Attributes,"); - SystemInputFail(); - system("clear"); - printf("The sample attributes you want to set,Step by step, please.\n"); - ret = SelectAttributesFomat((uint32_t *)(&renderAttrs.format)); - if (ret < 0) { - AUDIO_FUNC_LOGE("SetRenderAttributes format failed!"); - return HDF_FAILURE; - } - printf("\nPlease input sample rate(48000,44100,32000...):"); - ret = CheckInputName(INPUT_UINT32, (void *)(&renderAttrs.sampleRate)); - if (ret < 0) { - return HDF_FAILURE; - } - printf("\nPlease input bigEndian(false=0/true=1):"); - ret = CheckInputName(INPUT_UINT32, (void *)(&renderAttrs.isBigEndian)); - if (ret < 0) { - return HDF_FAILURE; - } - if (g_render == NULL || g_render->attr.SetSampleAttributes == NULL) { - AUDIO_FUNC_LOGE("Music already complete,Please replay and set the attrbutes!"); - SystemInputFail(); - return HDF_FAILURE; - } - ret = g_render->attr.SetSampleAttributes((AudioHandle)g_render, &renderAttrs); - if (ret < 0) { - AUDIO_FUNC_LOGE("Set render attributes failed!"); - SystemInputFail(); - } - return ret; -} - -static int32_t PrintRenderSelectPinFirst(struct AudioSceneDescriptor *scene) -{ - system("clear"); - printf(" ==================== Select Pin ===================== \n"); - printf("| 0. Speaker |\n"); - printf("| 1. HeadPhones |\n"); - printf(" ===================================================== \n"); - - printf("Please input your choice:\n"); - int32_t val = 0; - int32_t ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - - if (val == 1) { - scene->desc.pins = PIN_OUT_HEADSET; - } else { - scene->desc.pins = PIN_OUT_SPEAKER; - } - - return HDF_SUCCESS; -} - -static int32_t PrintRenderSelectPinSecond(struct AudioSceneDescriptor *scene) -{ - system("clear"); - printf(" ==================== Select Pin ===================== \n"); - printf("| 0. Speaker |\n"); - printf("| 1. HeadPhones |\n"); - printf("| 2. Speaker and HeadPhones |\n"); - printf(" ===================================================== \n"); - - printf("Please input your choice:\n"); - int32_t val = 0; - int32_t ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - - if (val == 1) { - scene->desc.pins = PIN_OUT_HEADSET; - } else if (val == 0) { - scene->desc.pins = PIN_OUT_SPEAKER; - } else { - scene->desc.pins = PIN_OUT_SPEAKER | PIN_OUT_HEADSET; - } - - return HDF_SUCCESS; -} - -static int32_t PrintRenderSelectPinThird(struct AudioSceneDescriptor *scene) -{ - system("clear"); - printf(" ==================== Select Pin ===================== \n"); - printf("| 0. Speaker |\n"); - printf("| 1. HeadPhones |\n"); - printf(" ===================================================== \n"); - - printf("Please input your choice:\n"); - int32_t val = 0; - int32_t ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - - if (val == 1) { - scene->desc.pins = PIN_OUT_HEADSET; - } else { - scene->desc.pins = PIN_OUT_SPEAKER; - } - - return HDF_SUCCESS; -} - -static void SelectSceneMenu(void) -{ - printf(" =================== Select Scene ======================== \n"); - printf("0 is Midea. |\n"); - printf("1 is Communication. |\n"); - printf("2 is Ring-Tone. |\n"); - printf("3 is Voice-Call. |\n"); - printf("4 is Mmap. |\n"); - printf(" ========================================================= \n"); -} - -static int32_t SelectRenderScene(struct AudioRender **render) -{ - (void)render; - system("clear"); - int32_t ret; - int val = 0; - struct AudioSceneDescriptor scene; - SelectSceneMenu(); - printf("Please input your choice:\n"); - ret = CheckInputName(INPUT_INT, (void *)&val); - if (ret < 0) { - AUDIO_FUNC_LOGE("Invalid value!"); - SystemInputFail(); - return HDF_FAILURE; - } - - switch (val) { - case AUDIO_IN_MEDIA: - scene.scene.id = AUDIO_IN_MEDIA; - PrintRenderSelectPinFirst(&scene); - break; - case AUDIO_IN_COMMUNICATION: - scene.scene.id = AUDIO_IN_COMMUNICATION; - PrintRenderSelectPinSecond(&scene); - break; - case AUDIO_IN_RINGTONE: - scene.scene.id = AUDIO_IN_RINGTONE; - scene.desc.pins = PIN_OUT_SPEAKER | PIN_OUT_HEADSET; - break; - case AUDIO_IN_CALL: - scene.scene.id = AUDIO_IN_CALL; - PrintRenderSelectPinThird(&scene); - break; - case AUDIO_MMAP_NOIRQ: - scene.scene.id = AUDIO_MMAP_NOIRQ; - PrintRenderSelectPinFirst(&scene); - break; - default: - break; - } - if (g_render == NULL || g_render->scene.SelectScene == NULL) { - AUDIO_FUNC_LOGE("Music already stop,"); - SystemInputFail(); - return HDF_FAILURE; - } - - ret = g_render->scene.SelectScene((AudioHandle)g_render, &scene); - if (ret < 0) { - AUDIO_FUNC_LOGE("Select scene fail\n"); - } - return ret; -} - -static int32_t GetExtParams(struct AudioRender **render) -{ - (void)render; - char keyValueList[BUFFER_LEN] = {0}; - int32_t ret; - if (g_render == NULL || g_render->attr.GetExtraParams == NULL) { - return HDF_FAILURE; - } - ret = g_render->attr.GetExtraParams((AudioHandle)g_render, keyValueList, EXT_PARAMS_MAXLEN); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get EXT params failed!"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("keyValueList = %s\n", keyValueList); - return HDF_SUCCESS; -} - -static int32_t GetRenderMmapPosition(struct AudioRender **render) -{ - (void)render; - int32_t ret; - if (g_render == NULL || g_render->attr.GetMmapPosition == NULL) { - return HDF_FAILURE; - } - uint64_t frames = 0; - struct AudioTimeStamp time; - time.tvNSec = 0; - time.tvSec = 0; - ret = g_render->attr.GetMmapPosition((AudioHandle)g_render, &frames, &time); - if (ret < 0) { - AUDIO_FUNC_LOGE("Get current Mmap frames Position failed!"); - SystemInputFail(); - return HDF_FAILURE; - } - printf("Now the Position is %" PRIu64 "\n", frames); - return HDF_SUCCESS; -} - -static void PrintMenu2(void) -{ - printf(" ================== Play Render Menu ================== \n"); - printf("| 1. Render Start |\n"); - printf("| 2. Render Stop |\n"); - printf("| 3. Render Resume |\n"); - printf("| 4. Render Pause |\n"); - printf("| 5. Render SetVolume |\n"); - printf("| 6. Render GetGain |\n"); - printf("| 7. Render SetMute |\n"); - printf("| 8. Render SetAttributes |\n"); - printf("| 9. Render SelectScene |\n"); - printf("| 10. Render getEXtParams |\n"); - printf("| 11. Render getMmapPosition |\n"); - printf("| 12.Exit |\n"); - printf(" ====================================================== \n"); -} - -static struct ProcessRenderMenuSwitchList g_processRenderMenuSwitchList[] = { - {RENDER_START, PlayingAudioFiles }, - {RENDER_STOP, StopAudioFiles }, - {RENDER_RESUME, SetRenderResume }, - {RENDER_PAUSE, SetRenderPause }, - {SET_RENDER_VOLUME, SetRenderVolume }, - {SET_RENDER_GAIN, GetRenderGain }, - {SET_RENDER_MUTE, SetRenderMute }, - {SET_RENDER_ATTRIBUTES, SetRenderAttributes }, - {SET_RENDER_SLECET_SCENE, SelectRenderScene }, - {GET_RENDER_EXT_PARAMS, GetExtParams }, - {GET_RENDER_POSITION, GetRenderMmapPosition}, -}; - -static void ProcessMenu(int32_t choice) -{ - int32_t i; - if (choice == GET_RENDER_POSITION + 1) { - return; - } - if (g_render == NULL && choice != 1) { - AUDIO_FUNC_LOGE("This render already release!"); - SystemInputFail(); - return; - } - for (i = RENDER_START; i <= GET_RENDER_POSITION; ++i) { - if ((choice == (int32_t)g_processRenderMenuSwitchList[i - 1].cmd) && - (g_processRenderMenuSwitchList[i - 1].operation != NULL)) { - g_processRenderMenuSwitchList[i - 1].operation(&g_render); - } - } -} - -static void Choice(void) -{ - int32_t choice = 0; - int ret; - while (choice < GET_RENDER_POSITION + 1 && choice >= 0) { - system("clear"); - PrintMenu2(); - printf("your choice is:\n"); - ret = CheckInputName(INPUT_INT, (void *)&choice); - if (ret < 0) { - continue; - } - if (choice < RENDER_START || choice > GET_RENDER_POSITION + 1) { - AUDIO_FUNC_LOGE("You input is wrong!"); - choice = 0; - SystemInputFail(); - continue; - } - ProcessMenu(choice); - } -} - -int32_t main(int32_t argc, char const *argv[]) -{ - int32_t ret = 0; - if (argc < 2 || argv == NULL || argv[0] == NULL) { // The parameter number is not greater than 2 - printf("usage:[1]sample [2]/data/test.wav\n"); - return 0; - } - if (argv[1] == NULL || strlen(argv[1]) == 0) { - return HDF_FAILURE; - } - ret = strncpy_s(g_path, PATH_LEN, argv[1], strlen(argv[1]) + 1); - if (ret != 0) { - AUDIO_FUNC_LOGE("strncpy_s failed!"); - return HDF_FAILURE; - } - char pathBuf[PATH_MAX] = {'\0'}; - if (realpath(g_path, pathBuf) == NULL) { - return HDF_FAILURE; - } - FILE *file = fopen(pathBuf, "rb"); - if (file == NULL) { - printf("Failed to open '%s',Please enter the correct file name \n", g_path); - return HDF_FAILURE; - } - (void)fclose(file); - if (InitParam() != HDF_SUCCESS) { // init - AUDIO_FUNC_LOGE("InitParam Fail!"); - return HDF_FAILURE; - } - - Choice(); - (void)PrepareStopAndUnloadAdapter(); - dlclose(g_handle); - return 0; -} diff --git a/audio/test/systemtest/BUILD.gn b/audio/test/systemtest/BUILD.gn index 9ca3e1076984834e23644f2823fc113ed81f4836..1ec33ef2314f6b5b4949a63ab61ca58103ba6048 100644 --- a/audio/test/systemtest/BUILD.gn +++ b/audio/test/systemtest/BUILD.gn @@ -19,9 +19,6 @@ if (defined(ohos_lite)) { if (ohos_build_type == "debug") { deps = [ "adm:adm", - "audio_function:function", - - # "hdi:hdi", "supportlibs:supportlibs", ] } @@ -32,24 +29,17 @@ if (defined(ohos_lite)) { testonly = true deps = [] if (drivers_peripheral_audio_feature_rich_device) { - deps += [ - # "hdi_advance:hdi_advance", - "hdi_service:hdi_service_st", - ] + deps += [ "hdi_service:hdi_service_st" ] } if (drivers_peripheral_audio_feature_full_test_suite) { deps += [ - # "hdi:hdi", "hdi_service:hdi_service_st", "supportlibs:supportlibs", - - #"audio_adapter:audio_adapter", ] if (!defined(drivers_peripheral_audio_feature_alsa_lib) || drivers_peripheral_audio_feature_alsa_lib == false) { deps += [ #"adm:adm", - # "audio_function:function", ] } } diff --git a/audio/test/systemtest/audio_adapter/BUILD.gn b/audio/test/systemtest/audio_adapter/BUILD.gn deleted file mode 100644 index 9d42a35173e59fd8482cd5bb338907dba4501581..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/BUILD.gn +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/test.gni") -import("./../../../audio.gni") - -###########################end########################### -group("audio_adapter") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [] - - if (enable_audio_adm_service) { - deps += [ "audio_usb:hdf_audio_usb_adapter_test" ] - } -} diff --git a/audio/test/systemtest/audio_adapter/audio_usb/BUILD.gn b/audio/test/systemtest/audio_adapter/audio_usb/BUILD.gn deleted file mode 100644 index 78f16cf421c5eddd922b2bb4741066c3e32483d4..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/BUILD.gn +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -import("//build/test.gni") - -import("$hdf_audio_path/audio.gni") - -module_output_path = "drivers_peripheral_audio/audio" -ohos_systemtest("hdf_audio_usb_adapter_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_usb_adapter_test.cpp", - "src/audio_usb_caputer_test.cpp", - "src/audio_usb_manager_test.cpp", - "src/audio_usb_render_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/audio_adapter/audio_usb/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } -} diff --git a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_adapter_test.h b/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_adapter_test.h deleted file mode 100644 index 867ef6120ee6c2df48d11acbaa83f1067eafb34e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_adapter_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_USB_ADAPTER_TEST_H -#define AUDIO_USB_ADAPTER_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_caputer_test.h b/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_caputer_test.h deleted file mode 100644 index 1b86faa4be8809b5c526a5db3717454169ec48d8..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_caputer_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_USB_CAPUTER_TEST_H -#define AUDIO_USB_CAPUTER_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_manager_test.h b/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_manager_test.h deleted file mode 100644 index ce44a4f1e4250d54300e49518999f098a07bcc70..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_manager_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_USB_MANAGER_TEST_H -#define AUDIO_USB_MANAGER_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_render_test.h b/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_render_test.h deleted file mode 100644 index b244f2ac539a1bc648045d84e2219594b30fc801..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/include/audio_usb_render_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_USB_RENDER_TEST_H -#define AUDIO_USB_RENDER_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_adapter_test.cpp b/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_adapter_test.cpp deleted file mode 100644 index 046868455e33b47690486fddbd1a8b596cc58f63..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_adapter_test.cpp +++ /dev/null @@ -1,357 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_usb_adapter_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string ADAPTER_NAME_USB = "usb"; - -class AudioUsbAdapterTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioUsbAdapterTest::manager = nullptr; - -void AudioUsbAdapterTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioUsbAdapterTest::TearDownTestCase(void) {} - -void AudioUsbAdapterTest::SetUp(void) {} - -void AudioUsbAdapterTest::TearDown(void) {} - -/** -* @tc.name AudioAdapterInitAllPorts_001 -* @tc.desc Test AudioAdapterInitAllPorts interface, return 0 if the ports is initialize successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterInitAllPorts_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* renderPort = nullptr; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME_USB, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioAdapterGetPortCapability_001 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_OUT. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterGetPortCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - ASSERT_NE(nullptr, manager); - struct AudioPortCapability capability = {}; - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - - if (ret < 0 || capability.formats == nullptr || capability.subPorts == nullptr) { - manager->UnloadAdapter(manager, adapter); - ASSERT_NE(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, capability.formats); - ASSERT_NE(nullptr, capability.subPorts); - } - - if (capability.subPorts->desc == nullptr) { - manager->UnloadAdapter(manager, adapter); - ASSERT_NE(nullptr, capability.subPorts->desc); - } - - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioAdapterGetPortCapability_002 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterGetPortCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - ASSERT_NE(nullptr, manager); - struct AudioPortCapability capability = {}; - - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioAdapterGetPortCapability_003 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_OUT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterGetPortCapability_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - ASSERT_NE(nullptr, manager); - struct AudioPortCapability capability = {}; - - ret = GetLoadAdapter(manager, PORT_OUT_IN, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_001 -* @tc.desc test AdapterSetPassthroughMode interface, return 0 if PortType is PORT_OUT. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterSetPassthroughMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - AudioPortPassthroughMode modeLpcm = PORT_PASSTHROUGH_AUTO; - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPort, &modeLpcm); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, modeLpcm); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_002 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterSetPassthroughMode_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* audioPort = nullptr; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_001 -* @tc.desc test AdapterGetPassthroughMode interface, return 0 if is get successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioAdapterGetPassthroughMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_AUTO; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->GetPassthroughMode(adapter, audioPort, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, mode); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCreateCapture_001 -* @tc.desc Test AudioCreateCapture interface,Returns 0 if the AudioCapture object is created successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioCreateCapture_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_002 -* @tc.desc test AudioCreateCapture interface: - (1)service mode:Returns 0,if the AudioCapture object can be created successfully which was created - (2)passthrough mode: Returns -1,if the AudioCapture object can't be created which was created -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioCreateCapture_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *firstCapture = nullptr; - struct AudioCapture *secondCapture = nullptr; - struct AudioPort* audioPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor DevDesc = {}; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT_IN, ADAPTER_NAME_USB, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - InitDevDesc(DevDesc, audioPort->portId, PIN_IN_MIC); - ret = adapter->CreateCapture(adapter, &DevDesc, &attrs, &firstCapture); - if (ret < 0) { - manager->UnloadAdapter(manager, adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = adapter->CreateCapture(adapter, &DevDesc, &attrs, &secondCapture); -#if defined (AUDIO_ADM_SERVICE) - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, secondCapture); -#endif -#if defined (AUDIO_ADM_SO) || defined (__LITEOS__) - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyCapture(adapter, firstCapture); -#endif - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioDestroyCapture_001 -* @tc.desc Test AudioDestroyCapture interface,Returns 0 if the AudioCapture object is destroyed -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioDestroyCapture_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->DestroyCapture(adapter, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCreateRender_001 - * @tc.desc test AudioCreateRender interface,return 0 if render is created successful. - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioCreateRender_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioDestroyRender_001 - * @tc.desc Test AudioDestroyRender interface, return 0 if render is destroyed successful. - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbAdapterTest, AudioDestroyRender_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->DestroyRender(adapter, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_caputer_test.cpp b/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_caputer_test.cpp deleted file mode 100644 index 6552d676a5ba3c75f7a1760a2f7eae1ac4461749..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_caputer_test.cpp +++ /dev/null @@ -1,1442 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_usb_caputer_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string ADAPTER_NAME_USB = "usb"; -const int BUFFER_SIZE = 16384; -const uint64_t FILESIZE = 1024; - -class AudioUsbCaputerTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioUsbCaputerTest::manager = nullptr; - -void AudioUsbCaputerTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioUsbCaputerTest::TearDownTestCase(void) {} - -void AudioUsbCaputerTest::SetUp(void) {} - -void AudioUsbCaputerTest::TearDown(void) {} - -/** -* @tc.name AudioStartCapture_001 -* @tc.desc Test AudioCaptureStart interface,return 0 if the audiocapture object is started successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStart_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureStart_003 -* @tc.desc Test AudioCaptureStart interface,return 0 if the Audiocapturestart was successfully called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStart_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_001 - * @tc.desc Test AudioCaptureStop interface,return 0 if the audiocapture object is stopped successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStop_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_002 - * @tc.desc Test AudioCaptureStop interface,return -4 if Audiocapturestop was successfully called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStop_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_003 - * @tc.desc Test AudioCaptureStop interface,return 0 if stop and start an audio capture successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStop_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_004 - * @tc.desc Test AudioCaptureStop interface,return -4 if the capture does not start and stop only - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureStop_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_001 - * @tc.desc test HDI CapturePause interface,return 0 if the capture is paused after start - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCapturePause_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_002 - * @tc.desc Test CapturePause interface, return -1 the second time if CapturePause is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCapturePause_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_004 - * @tc.desc Test AudioRenderPause interface,return -1 if the capture is not Started and paused only. - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCapturePause_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_005 - * @tc.desc Test CapturePause interface, return -1 the capture is paused after stopped. - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCapturePause_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_001 - * @tc.desc Test CaptureResume interface,return 0 if the capture is resumed after paused - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureResume_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_002 - * @tc.desc Test CaptureResume interface,return -1 the second time if the CaptureResume is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureResume_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_003 - * @tc.desc test HDI CaptureResume interface,return -1 if the capture is resumed after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureResume_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureResume_005 -* @tc.desc test HDI CaptureResume interface,return -1 if the capture is resumed after stopped -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureResume_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureResume_006 -* @tc.desc test HDI CaptureResume interface,return -1 if the capture Continue to start after resume -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureResume_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureFlush_001 - * @tc.desc Test CaptureFlush interface,return -2 if the data in the buffer is flushed successfully after stop - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureFlush_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Flush((AudioHandle)capture); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_001 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t ret1 = 1; - uint32_t ret2 = 8000; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, 8000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(ret2, attrsValue.sampleRate); - EXPECT_EQ(ret1, attrsValue.channelCount); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetSampleAttributes_001 -* @tc.desc Test AudioCaptureGetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t ret1 = 32000; - uint32_t ret2 = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, 32000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(ret1, attrsValue.sampleRate); - EXPECT_EQ(ret2, attrsValue.channelCount); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameSize_001 -* @tc.desc test AudioCaptureGetFrameSize interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_001 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the FrameCount is called after creating the object. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_002 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the GetFrameCount is called after started. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetFrameCount_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test GetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdValue, channelId); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCurrentChannelId_002 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - uint32_t channelCountExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, 48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCurrentChannelId_003 - * @tc.desc Test GetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_001 - * @tc.desc Test CaptureSetExtraParams interface,return 0 if the ExtraParams is set during playback - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-sampling-rate=48000"; - size_t index = 1; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - uint64_t FILESIZE = 1024; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.SetExtraParams((AudioHandle)audiopara.capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->attr.GetExtraParams((AudioHandle)audiopara.capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - string strGetValue = keyValueListValue; - size_t indexAttr = strGetValue.find("attr-frame-count"); - size_t indexFlag = strGetValue.rfind(";"); - if (indexAttr != string::npos && indexFlag != string::npos) { - strGetValue.replace(indexAttr, indexFlag - indexAttr + index, ""); - } - EXPECT_STREQ(keyValueListExp, strGetValue.c_str()); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureSetExtraParams_002 - * @tc.desc Test CaptureSetExtraParams interface,return 0 if some parameters is set after playing - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueListOne[] = "attr-frame-count=4096;"; - char keyValueListOneExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListTwo[] = "attr-route=1;attr-frame-count=1024;"; - char keyValueListTwoExp[] = "attr-route=1;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListThr[] = "attr-route=0;attr-channels=1;attr-frame-count=4096;"; - char keyValueListThrExp[] = "attr-route=0;attr-format=16;attr-channels=1;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - char keyValueListFourExp[] = "attr-route=0;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValueOne[256] = {}; - char keyValueListValueTwo[256] = {}; - char keyValueListValueThr[256] = {}; - char keyValueListValueFour[256] = {}; - int32_t listLenth = 256; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueOne, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListOneExp, keyValueListValueOne); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListTwo); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueTwo, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListTwoExp, keyValueListValueTwo); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListThr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueThr, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListThrExp, keyValueListValueThr); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListFour); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueFour, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListFourExp, keyValueListValueFour); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetExtraParams_001 - * @tc.desc Test CaptureGetExtraParams interface,return 0 if the RenderGetExtraParams was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioSampleAttributes attrsValue = {}; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - int32_t formatExp = 3; - uint32_t sampleRateExp = 48000; - uint32_t channelCountExp = 2; - uint32_t frameCountExp = 4096; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(formatExp, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, frameCountExp); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_001 -* @tc.desc Test AudioCaptureCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_002 -* @tc.desc Test AudioCreateCapture interface,return -1 if the scene is not configured in the json. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 5; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureSelectScene_001 -* @tc.desc Test AudioCaptureSelectScene interface,return 0 if select capture's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSelectScene_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_002 -* @tc.desc Test AudioCaptureSelectScene, return 0 if select capture's scene successful after capture start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSelectScene_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_005 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the scene is not configured in the json. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSelectScene_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_HDMI; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureFrame_001 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns 0 if the input data is read successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureFrame_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureFrame_005 -* @tc.desc Test AudioCaptureFrame interface,Returns -1 if without calling interface capturestart -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureFrame_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - uint64_t replyBytes = 0; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureGetCapturePosition_001 -* @tc.desc Test AudioCaptureGetCapturePosition interface,Returns 0 if get CapturePosition during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetCapturePosition_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->GetCapturePosition(audiopara.capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_001 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureReqMmapBuffer_001, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureGetMmapPosition_001 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetMmapPosition_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - uint64_t framesCapturing = 0; - uint64_t framesExpCapture = 0; - int64_t timeExp = 0; - int64_t timeExpCaptureing = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordMapAudio, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &framesCapturing, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(framesCapturing, INITIAL_VALUE); - timeExpCaptureing = (audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec); - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &framesExpCapture, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExpCaptureing); - EXPECT_GT(framesExpCapture, framesCapturing); - - audiopara.capture->control.Stop((AudioHandle)audiopara.capture); - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioCaptureGetMmapPosition_002 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetMmapPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - InitAttrs(audiopara.attrs); - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - audiopara.attrs.channelCount = 1; - ret = audiopara.capture->attr.SetSampleAttributes(audiopara.capture, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordMapAudio, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - audiopara.capture->control.Stop((AudioHandle)audiopara.capture); - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioCaptureGetMute_001 -* @tc.desc Test AudioCaptureGetMute interface , return 0 if the audiocapture gets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - bool defaultmute = false; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(muteFalse, defaultmute); - - ret = capture->volume.SetMute(capture, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(muteTrue); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureSetMute_001 -* @tc.desc Test AudioCaptureSetMute interface , return 0 if the audiocapture object sets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetMute(capture, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(muteTrue); - - ret = capture->volume.SetMute(capture, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteFalse); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetVolume_001 -* @tc.desc Test AudioCaptureSetVolume interface , return 0 if the audiocapture sets volume successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeInit = 0.30; - float volumeInitExpc = 0.30; - float volumeLow = 0.10; - float volumeLowExpc = 0.10; - float volumeMid = 0.40; - float volumeMidExpc = 0.40; - float volumeHigh = 0.70; - float volumeHighExpc = 0.70; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.SetVolume(capture, volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeInitExpc, volumeInit); - ret = capture->volume.SetVolume(capture, volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeLowExpc, volumeLow); - ret = capture->volume.SetVolume(capture, volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMidExpc, volumeMid); - ret = capture->volume.SetVolume(capture, volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, volumeHigh); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetVolume_001 -* @tc.desc Test AudioCaptureGetVolume interface , return 0 if the audiocapture is get successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.60; - float defaultVolume = 0.60; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetVolume(capture, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(defaultVolume, volume); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGainThreshold_001 -* @tc.desc test AudioCaptureGetGainThreshold interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetGainThreshold_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(min, GAIN_MIN); - EXPECT_EQ(max, GAIN_MAX); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetGain_001 -* @tc.desc test AudioCaptureSetGain interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureSetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - float gain = max - 1; - float gainMax = max; - float gainMin = min; - float gainExpc = max - 1; - float gainMaxExpc = max; - float gainMinExpc = min; - ret = capture->volume.SetGain((AudioHandle)capture, gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMaxExpc, gainMax); - - ret = capture->volume.SetGain((AudioHandle)capture, gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMinExpc, gainMin); - - ret = capture->volume.SetGain((AudioHandle)capture, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainExpc, gain); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGain_001 -* @tc.desc test AudioCaptureGetGain interface, return 0 if CaptureGetGain is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureGetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME_USB, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gain = min + 1; - float gainValue = min + 1; - ret = capture->volume.SetGain((AudioHandle)capture, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainValue, gain); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureTurnStandbyMode_001 -* @tc.desc Test AudioCaptureTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureTurnStandbyMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->control.TurnStandbyMode((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - sleep(3); - - ret = capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureAudioDevDump_001 -* @tc.desc Test AudioCaptureAudioDevDump interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbCaputerTest, AudioCaptureAudioDevDump_001, TestSize.Level1) -{ - int32_t ret = -1; - char pathBuf[] = "./DevDump.log"; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(pathBuf, "wb+"); - ASSERT_NE(nullptr, fp); - int fd = fileno(fp); - if (fd == -1) { - fclose(fp); - ASSERT_NE(fd, -1); - } - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_IN, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - if (ret < 0) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.capture->control.Pause((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.capture->control.Resume((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.AudioDevDump((AudioHandle)audiopara.capture, RANGE, fd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -} diff --git a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_manager_test.cpp b/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_manager_test.cpp deleted file mode 100644 index cba5c0d0c6d43b14f402a76b59ebeb6e57961c6e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_manager_test.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_usb_manager_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string ADAPTER_NAME_USB = "usb"; - -class AudioUsbManagerTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioUsbManagerTest::manager = nullptr; - -void AudioUsbManagerTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioUsbManagerTest::TearDownTestCase(void) {} - -void AudioUsbManagerTest::SetUp(void) {} - -void AudioUsbManagerTest::TearDown(void) {} - -/** -* @tc.name AudioGetAllAdapters_001 -* @tc.desc test GetAllAdapters interface,Returns 0 if the list is obtained successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbManagerTest, AudioGetAllAdapters_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->GetAllAdapters(manager, &descs, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_ADAPTER_MAX_NUM, size); -} -/** -* @tc.name AudioLoadAdapter_001 -* @tc.desc test LoadAdapter interface,Returns 0 if the driver is loaded successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbManagerTest, AudioLoadAdapter_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = &descs[0]; - ASSERT_TRUE(desc != nullptr); - struct AudioAdapter *adapter = nullptr; - ret = manager->LoadAdapter(manager, desc, &adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = -1; - if (adapter != nullptr) { - if (adapter->InitAllPorts != nullptr && adapter->CreateRender != nullptr && - adapter->DestroyRender != nullptr && adapter->CreateCapture != nullptr && - adapter->DestroyCapture != nullptr && adapter->GetPortCapability != nullptr && - adapter->SetPassthroughMode != nullptr && adapter->GetPassthroughMode != nullptr) { - ret = 0; - } - } - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_render_test.cpp b/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_render_test.cpp deleted file mode 100644 index c6db3cd14e2313b2fab362b2f500bc7852f41624..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_adapter/audio_usb/src/audio_usb_render_test.cpp +++ /dev/null @@ -1,1866 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_usb_render_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string ADAPTER_NAME_USB = "usb"; - -class AudioUsbRenderTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioUsbRenderTest::manager = nullptr; - -void AudioUsbRenderTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioUsbRenderTest::TearDownTestCase(void) {} - -void AudioUsbRenderTest::SetUp(void) {} - -void AudioUsbRenderTest::TearDown(void) {} - -/** -* @tc.name AudioRenderGetMute_001 -* @tc.desc Test AudioRenderGetMute interface , return 0 if the audiocapture gets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - bool defaultmute = false; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetMute(render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(muteFalse, defaultmute); - - ret = render->volume.SetMute(render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetMute(render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(muteTrue); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderSetMute_001 -* @tc.desc Test AudioRenderSetMute interface , return 0 if the audiorender object sets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteFalse = false; - bool muteTrue = true; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetMute(render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - - ret = render->volume.SetMute(render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - - muteTrue = false; - ret = render->volume.SetMute(render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteTrue); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetVolume_001 -* @tc.desc Test AudioRenderSetVolume interface , return 0 if the audiocapture sets volume successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeInit = 0.20; - float volumeInitExpc = 0.20; - float volumeLow = 0.10; - float volumeLowExpc = 0.10; - float volumeMid = 0.50; - float volumeMidExpc = 0.50; - float volumeHigh = 0.80; - float volumeHighExpc = 0.80; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetVolume(render, volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeInitExpc, volumeInit); - ret = render->volume.SetVolume(render, volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeLowExpc, volumeLow); - ret = render->volume.SetVolume(render, volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMidExpc, volumeMid); - ret = render->volume.SetVolume(render, volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, volumeHigh); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetVolume_001 -* @tc.desc Test AudioRenderGetVolume interface , return 0 if the audiocapture is get successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.30; - float volumeDefault = 0.30; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetVolume(render, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeDefault, volume); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderSetSampleAttributes_001 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = AUDIO_SAMPLE_RATE_MASK_8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t ret1 = 1; - uint32_t ret2 = 8000; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, 8000); - - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(ret2, attrsValue.sampleRate); - EXPECT_EQ(ret1, attrsValue.channelCount); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetSampleAttributes_001 -* @tc.desc Test AudioRenderGetSampleAttributes ,the setting parameters are as follows. -* @tc.type: FUNC -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 8000; -* attrs.channelCount = 1; -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t ret1 = 8000; - uint32_t ret2 = 1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, 1, 8000); - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(ret1, attrsValue.sampleRate); - EXPECT_EQ(ret2, attrsValue.channelCount); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderStart_001 - * @tc.desc Test AudioRenderStart interface,return 0 if the audiorender object is created successfully. - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderStart_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStart_003 -* @tc.desc Test AudioRenderStart interface,return -1 the second time if the RenderStart is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderStart_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_001 -* @tc.desc test AudioRenderStop interface. return 0 if the rendering is successfully stopped. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderStop_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_002 -* @tc.desc test AudioRenderStop interface. return -4 if the render does not start and stop only -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderStop_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_003 -* @tc.desc Test RenderStop interface,return -4 the second time if the RenderStop is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderStop_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderPause_01 - * @tc.desc test HDI RenderPause interface,return 0 if the render is paused after start - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderPause_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_002 -* @tc.desc Test AudioRenderPause interface, return -1 the second time if RenderPause is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderPause_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_003 -* @tc.desc Test AudioRenderPause interface,return -1 if the render is paused after created. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderPause_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_005 -* @tc.desc Test AudioRenderPause interface, return -1 the render is paused after stopped. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderPause_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_001 - * @tc.desc test HDI RenderResume interface,return -1 if the render is resumed after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderResume_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_002 - * @tc.desc test HDI RenderResume interface,return -1 if the render is resumed after stopped - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderResume_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_003 - * @tc.desc Test AudioRenderResume interface,return 0 if the render is resumed after paused - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderResume_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_004 - * @tc.desc Test RenderResume interface,return -1 the second time if the RenderResume is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderResume_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_005 - * @tc.desc test HDI RenderResume interface,return -1 if the render Continue to start after resume - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderResume_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderFrame_001 -* @tc.desc test AudioRenderFrame interface,Returns 0 if the data is written successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderFrame_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioRenderFrame_005 -* @tc.desc Test AudioRenderFrame interface,Returns -1 if without calling interface renderstart -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderFrame_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t replyBytes = 0; - uint64_t requestBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** - * @tc.name AudioRenderSetChannelMode_001 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode to different enumeration values - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetChannelMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - AudioChannelMode modeOne = AUDIO_CHANNEL_BOTH_LEFT; - AudioChannelMode modeSec = AUDIO_CHANNEL_BOTH_RIGHT; - AudioChannelMode modeTrd = AUDIO_CHANNEL_EXCHANGE; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - ret = render->SetChannelMode(render, modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_LEFT, modeOne); - ret = render->SetChannelMode(render, modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_RIGHT, modeSec); - ret = render->SetChannelMode(render, modeTrd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeTrd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_EXCHANGE, modeTrd); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetChannelMode_002 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode to different values - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetChannelMode_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_MIX; - AudioChannelMode modeOne = AUDIO_CHANNEL_LEFT_MUTE; - AudioChannelMode modeSec = AUDIO_CHANNEL_RIGHT_MUTE; - AudioChannelMode modeTrd = AUDIO_CHANNEL_BOTH_MUTE; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_MIX, mode); - ret = render->SetChannelMode(render, modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_LEFT_MUTE, modeOne); - ret = render->SetChannelMode(render, modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_RIGHT_MUTE, modeSec); - ret = render->SetChannelMode(render, modeTrd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeTrd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_MUTE, modeTrd); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetChannelMode_003 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode after render object is created - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetChannelMode_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetChannelMode_001 - * @tc.desc Test GetChannelMode interface,return 0 if getting the channel mode after setting - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetChannelMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetChannelMode_003 - * @tc.desc Test GetChannelMode interface,return 0 if getting the channel mode after the object is created - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetChannelMode_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetRenderSpeed_001 - * @tc.desc Test SetRenderSpeed interface,return -2 if setting RenderSpeed - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetRenderSpeed_001, TestSize.Level1) -{ - int32_t ret = -1; - float speed = 100; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->SetRenderSpeed(render, speed); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderSpeed_001 - * @tc.desc Test GetRenderSpeed interface,return -2 if getting RenderSpeed - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetRenderSpeed_001, TestSize.Level1) -{ - int32_t ret = -1; - float speed = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderSpeed(render, &speed); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetLatency_001 -* @tc.desc test RenderGetLatency interface, return 0 if GetLatency successful -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetLatency_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t latencyTime = 0; - uint32_t expectLatency = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetLatency(render, &latencyTime); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_LT(expectLatency, latencyTime); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderFlush_001 - * @tc.desc Test RenderFlush interface,return -2 if the data in the buffer is flushed successfully after stop - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderFlush_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Flush((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_001 - * @tc.desc Test RenderGetFrameSize interface,return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, zero); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_004 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define format as different values - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetFrameSize_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - uint64_t channelCountExp = 2; - uint32_t sampleRateExp = 48000; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, 2, 48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_001 - * @tc.desc Test RenderGetFrameCount interface, return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, zero); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_004 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define channelCount as different values - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetFrameCount_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - uint64_t channelCountExp = 2; - uint32_t sampleRateExp = 8000; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, 2, 8000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test RenderGetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdValue, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_003 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - uint32_t channelCountExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, 1, 32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelCountExp, attrs.channelCount); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_003 - * @tc.desc Test RenderGetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after created - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_001 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_002 -* @tc.desc Test RenderCheckSceneCapability interface,return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_001 -* @tc.desc Test AudioRenderSelectScene interface,return 0 if select Render's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSelectScene_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_002 -* @tc.desc Test AudioRenderSelectScene, return 0 if select Render's scene successful after Render start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSelectScene_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_003 -* @tc.desc Test AudioRenderSelectScene, return -1 if the parameter handle is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSelectScene_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = render->scene.SelectScene(renderNull, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_005 -* @tc.desc Test AudioRenderSelectScene, return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSelectScene_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_HDMI; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGainThreshold_001 - * @tc.desc Test RenderGetGainThreshold interface,return 0 if the GetGainThreshold is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetGainThreshold_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(min, GAIN_MIN); - EXPECT_EQ(max, GAIN_MAX); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetGain_001 - * @tc.desc Test RenderSetGain interface,return 0 if Set gain to normal value, maximum or minimum and get success - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - float gain = 10.8; - float gainMax = max; - float gainMin = min; - float gainExpc = 10; - float gainMaxExpc = max; - float gainMinExpc = min; - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainExpc, gain); - - ret = render->volume.SetGain(render, gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMaxExpc, gainMax); - - ret = render->volume.SetGain(render, gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMinExpc, gainMin); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGain_001 - * @tc.desc Test RenderGetGain interface,return 0 if the RenderGetGain was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gain = min + 1; - float gainValue = min + 1; - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainValue, gain); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetRenderPosition_001 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetRenderPosition_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_002 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after Pause and resume during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetRenderPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - usleep(1000); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_003 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after stop -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetRenderPosition_003, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_001 - * @tc.desc Test RenderSetExtraParams interface,return 0 if the ExtraParams is set during playback - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-sampling-rate=48000"; - size_t index = 1; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.SetExtraParams((AudioHandle)audiopara.render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.GetExtraParams((AudioHandle)audiopara.render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - string strGetValue = keyValueListValue; - size_t indexAttr = strGetValue.find("attr-frame-count"); - size_t indexFlag = strGetValue.rfind(";"); - if (indexAttr != string::npos && indexFlag != string::npos) { - strGetValue.replace(indexAttr, indexFlag - indexAttr + index, ""); - } - EXPECT_STREQ(keyValueListExp, strGetValue.c_str()); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioRenderSetExtraParams_002 - * @tc.desc Test RenderSetExtraParams interface,return 0 if some parameters is set after playing - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderSetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueListOne[] = "attr-frame-count=1024;"; - char keyValueListOneExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListTwo[] = "attr-format=16;attr-frame-count=1024;"; - char keyValueListTwoExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListThr[] = "attr-route=1;attr-channels=1;attr-frame-count=1024;"; - char keyValueListThrExp[] = "attr-route=1;attr-format=16;attr-channels=1;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - char keyValueListFourExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValueOne[256] = {}; - char keyValueListValueTwo[256] = {}; - char keyValueListValueThr[256] = {}; - char keyValueListValueFour[256] = {}; - int32_t listLenth = 256; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueOne, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListOneExp, keyValueListValueOne); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListTwo); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueTwo, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListTwoExp, keyValueListValueTwo); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListThr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueThr, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListThrExp, keyValueListValueThr); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListFour); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueFour, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListFourExp, keyValueListValueFour); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetExtraParams_001 - * @tc.desc Test RenderGetExtraParams interface,return 0 if the RenderGetExtraParams was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrsValue = {}; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - int32_t formatExp = 3; - uint32_t sampleRateExp = 48000; - uint32_t channelCountExp = 2; - uint32_t frameCountExp = 4096; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(formatExp, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, frameCountExp); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderTurnStandbyMode_001 -* @tc.desc Test AudioRenderTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderTurnStandbyMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME_USB); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.TurnStandbyMode((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - sleep(3); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderAudioDevDump_001 -* @tc.desc Test AudioRenderAudioDevDump interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderAudioDevDump_001, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - char pathBuf[] = "./DevDump.log"; - FILE *fp = fopen(pathBuf, "wb+"); - ASSERT_NE(nullptr, fp); - int fd = fileno(fp); - if (fd == -1) { - fclose(fp); - ASSERT_NE(fd, -1); - } - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - if (ret < 0) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.render->control.Pause((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.render->control.Resume((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.AudioDevDump((AudioHandle)audiopara.render, RANGE, fd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderReqMmapBuffer_001 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderReqMmapBuffer_001, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - InitAttrs(attrs); - attrs.startThreshold = 0; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_001 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetMmapPosition_001, TestSize.Level1) -{ - uint64_t frames = 0; - uint64_t framesRendering = 0; - uint64_t framesexpRender = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - int32_t ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - InitAttrs(audiopara.attrs); - audiopara.attrs.startThreshold = 0; - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayMapAudioFile, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &framesRendering, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(framesRendering, INITIAL_VALUE); - int64_t timeExprendering = (audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec); - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &framesexpRender, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GE((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExprendering); - EXPECT_GE(framesexpRender, framesRendering); - audiopara.render->control.Stop((AudioHandle)audiopara.render); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_002 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderGetMmapPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME_USB.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - InitAttrs(audiopara.attrs); - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - audiopara.attrs.channelCount = 1; - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayMapAudioFile, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - audiopara.render->control.Stop((AudioHandle)audiopara.render); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} - -#ifdef AUDIO_ADM_SO -/** -* @tc.name AudioRenderRegCallback_001 -* @tc.desc Test AudioRenderTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderRegCallback_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->RegCallback(render, AudioRenderCallback, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Flush((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = CheckFlushValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderRegCallback_002 -* @tc.desc Test AudioRenderRegCallback interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioUsbRenderTest, AudioRenderRegCallback_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs; - struct AudioHeadInfo headInfo; - ASSERT_NE(nullptr, manager); - char absPath[PATH_MAX] = {0}; - realpath(AUDIO_FILE.c_str(), absPath); - ASSERT_NE(realpath(AUDIO_FILE.c_str(), absPath), nullptr); - - FILE *file = fopen(absPath, "rb"); - ASSERT_NE(file, nullptr); - ret = WavHeadAnalysis(headInfo, file, attrs); - if (ret < 0) { - fclose(file); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME_USB, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->RegCallback(render, AudioRenderCallback, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = FrameStart(headInfo, render, file, attrs); - if (ret < 0) { - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - fclose(file); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - ret = CheckWriteCompleteValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = CheckRenderFullValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - fclose(file); -} -#endif -} diff --git a/audio/test/systemtest/audio_function/BUILD.gn b/audio/test/systemtest/audio_function/BUILD.gn deleted file mode 100644 index ae8d57857b016e815eb61dc7cff251a1a0e673af..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/BUILD.gn +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - import("./../../../audio.gni") -} - -group("function") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ "audio_server:hdf_audio_hdi_server_function_test" ] - if (defined(ohos_lite)) { - deps += [ - "audio_pathroute:hdf_audio_hdi_path_route_test", - "audio_smartpa:hdf_audio_smartpa_test", - ] - } -} diff --git a/audio/test/systemtest/audio_function/audio_pathroute/BUILD.gn b/audio/test/systemtest/audio_function/audio_pathroute/BUILD.gn deleted file mode 100644 index 32f24c23e4a89c9c230676a3d6f4bd3cc34601d5..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_pathroute/BUILD.gn +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_path_route_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_pathroute_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_pathroute/include", - "//third_party/googletest/googletest/include/gtest", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_path_route_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_pathroute_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_pathroute/include", - "//third_party/googletest/googletest/include/gtest", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/audio_function/audio_pathroute/include/audio_pathroute_test.h b/audio/test/systemtest/audio_function/audio_pathroute/include/audio_pathroute_test.h deleted file mode 100644 index b682839ecfb2627d06dbfe4676e030d87d153ced..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_pathroute/include/audio_pathroute_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PATHROUTE_TEST_H -#define AUDIO_PATHROUTE_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_function/audio_pathroute/src/audio_pathroute_test.cpp b/audio/test/systemtest/audio_function/audio_pathroute/src/audio_pathroute_test.cpp deleted file mode 100644 index 4c971aa7d763cd64fa907d5cb630d2facbad7229..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_pathroute/src/audio_pathroute_test.cpp +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio route path function - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_pathroute_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int REGISTER_STATUS_ON = 1; -const int REGISTER_STATUS_OFF = 0; -static struct AudioCtlElemValue g_elemValues[4] = { - { - .id.cardServiceName = "hdf_audio_codec_primary_dev0", - .id.iface = AUDIODRV_CTL_ELEM_IFACE_MIXER, - .id.itemName = "Dacl enable", - .value[0] = 0, - }, { - .id.cardServiceName = "hdf_audio_codec_primary_dev0", - .id.iface = AUDIODRV_CTL_ELEM_IFACE_MIXER, - .id.itemName = "Dacr enable", - .value[0] = 0, - }, { - .id.cardServiceName = "hdf_audio_codec_primary_dev0", - .id.iface = AUDIODRV_CTL_ELEM_IFACE_MIXER, - .id.itemName = "LPGA MIC Switch", - .value[0] = 0, - }, { - .id.cardServiceName = "hdf_audio_codec_primary_dev0", - .id.iface = AUDIODRV_CTL_ELEM_IFACE_MIXER, - .id.itemName = "RPGA MIC Switch", - .value[0] = 0, - } -}; -class AudioPathRouteTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioPathRouteTest::manager = nullptr; - -void AudioPathRouteTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioPathRouteTest::TearDownTestCase(void) {} - -void AudioPathRouteTest::SetUp(void) {} - -void AudioPathRouteTest::TearDown(void) {} - -/** -* @tc.name AudioPathRoute_001 -* @tc.desc The audio path route can be opened successfully,When it is set to - palyback scene(attrs.type = AUDIO_IN_MEDIA,pins = PIN_OUT_SPEAKER) -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ret = PowerOff(g_elemValues[0], g_elemValues[1]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[0].id, g_elemValues[1].id, REGISTER_STATUS_ON, REGISTER_STATUS_ON); - EXPECT_EQ(HDF_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_002 -* @tc.desc The audio path route can be opened successfully,When switching - device(attrs.type = AUDIO_IN_MEDIA,pins = PIN_OUT_HEADSET) -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - g_elemValues[0].value[0] = 1; - g_elemValues[1].value[0] = 1; - ret = PowerOff(g_elemValues[0], g_elemValues[1]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - struct AudioSceneDescriptor scene = { - .scene.id = 0, - .desc.pins = PIN_OUT_HEADSET, - }; - ret = render->scene.SelectScene(AudioHandle(render), &scene); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[0].id, g_elemValues[1].id, REGISTER_STATUS_OFF, REGISTER_STATUS_OFF); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_003 -* @tc.desc The audio path route of playback scene can be opened successfully,When The current - audio path route has been opened -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ret = PowerOff(g_elemValues[0], g_elemValues[1]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - struct AudioSceneDescriptor scene = { - .scene.id = 0, - .desc.pins = PIN_OUT_SPEAKER, - }; - ret = render->scene.SelectScene(AudioHandle(render), &scene); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[0].id, g_elemValues[1].id, REGISTER_STATUS_ON, REGISTER_STATUS_ON); - EXPECT_EQ(HDF_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_004 -* @tc.desc The audio path route can be opened successfully,When it is set to - recording scene(attrs.type = AUDIO_IN_MEDIA,pins = PIN_IN_MIC) -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - g_elemValues[3].value[0] = 1; - ret = PowerOff(g_elemValues[2], g_elemValues[3]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[2].id, g_elemValues[3].id, REGISTER_STATUS_ON, REGISTER_STATUS_OFF); - EXPECT_EQ(HDF_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_005 -* @tc.desc The audio path route can be opened successfully,When it is set to - recording scene(attrs.type = AUDIO_IN_MEDIA,pins = PIN_IN_HS_MIC) -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - g_elemValues[2].value[0] = 1; - g_elemValues[3].value[0] = 1; - ret = PowerOff(g_elemValues[2], g_elemValues[3]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - struct AudioSceneDescriptor scene = { - .scene.id = 0, - .desc.pins = PIN_IN_HS_MIC, - }; - ret = capture->scene.SelectScene(AudioHandle(capture), &scene); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[2].id, g_elemValues[3].id, REGISTER_STATUS_OFF, REGISTER_STATUS_OFF); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_006 -* @tc.desc The audio path route of recording scene can be opened successfully,When The current - audio path route has been opened -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - g_elemValues[3].value[0] = 1; - ret = PowerOff(g_elemValues[2], g_elemValues[3]); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - struct AudioSceneDescriptor scene = { - .scene.id = 0, - .desc.pins = PIN_IN_MIC, - }; - ret = capture->scene.SelectScene(AudioHandle(capture), &scene); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[2].id, g_elemValues[3].id, REGISTER_STATUS_ON, REGISTER_STATUS_OFF); - EXPECT_EQ(HDF_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioPathRoute_007 -* @tc.desc The audio path route can be opened successfully,When running multi service scenarios -* @tc.type: FUNC -*/ -HWTEST_F(AudioPathRouteTest, AudioPathRoute_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioRender *render = nullptr; - struct AudioPort* audioPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor renderDevDesc = {}; - struct AudioDeviceDescriptor captureDevDesc = {}; - ret = PowerOff(g_elemValues[0], g_elemValues[1]); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = PowerOff(g_elemValues[2], g_elemValues[3]); - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - InitDevDesc(renderDevDesc, audioPort->portId, PIN_OUT_SPEAKER); - InitDevDesc(captureDevDesc, audioPort->portId, PIN_IN_MIC); - ret = adapter->CreateRender(adapter, &renderDevDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[0].id, g_elemValues[1].id, REGISTER_STATUS_ON, REGISTER_STATUS_ON); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->CreateCapture(adapter, &captureDevDesc, &attrs, &capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = CheckRegisterStatus(g_elemValues[2].id, g_elemValues[3].id, REGISTER_STATUS_ON, REGISTER_STATUS_OFF); - EXPECT_EQ(HDF_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/audio_function/audio_server/BUILD.gn b/audio/test/systemtest/audio_function/audio_server/BUILD.gn deleted file mode 100644 index 98841cbdca9fac374a162aef5edc22480721748e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_server/BUILD.gn +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_server_function_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_server_function_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_server/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_server_function_test") { - module_out_path = module_output_path - resource_config_file = "$hdf_audio_path/test/resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_server_function_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/audio_function/audio_server/include/audio_server_function_test.h b/audio/test/systemtest/audio_function/audio_server/include/audio_server_function_test.h deleted file mode 100644 index 71afac6ebbc2663bc556594599667a29b5788c3c..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_server/include/audio_server_function_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SERVER_FUNCTION_TEST_H -#define AUDIO_SERVER_FUNCTION_TEST_H - -#endif diff --git a/audio/test/systemtest/audio_function/audio_server/src/audio_server_function_test.cpp b/audio/test/systemtest/audio_function/audio_server/src/audio_server_function_test.cpp deleted file mode 100644 index e38450ea4ec6b8148ba05134fd7593770f92d229..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_server/src/audio_server_function_test.cpp +++ /dev/null @@ -1,811 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" -#include "audio_server_function_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const uint64_t FILESIZE = 1024; -const uint32_t CHANNELCOUNTEXOECT = 2; -const uint32_t SAMPLERATEEXOECT = 48000; - -class AudioServerFunctionTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioServerFunctionTest::manager = nullptr; -using THREAD_FUNC = void *(*)(void *); - -void AudioServerFunctionTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioServerFunctionTest::TearDownTestCase(void) {} - -void AudioServerFunctionTest::SetUp(void) {} - -void AudioServerFunctionTest::TearDown(void) {} - -/** -* @tc.name AudioFunctionRenderTest_001 -* @tc.desc test StartRender interface,The audio file is played successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_001, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_002 -* @tc.desc test Render function,set volume when the audio file is playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_002, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float volumeMax = 1.0; - bool muteFalse = false; - float volumeValue[10] = {0}; - float volume[10] = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->volume.SetMute(audiopara.render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.SetVolume(audiopara.render, volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < 10; i++) { - ret = audiopara.render->volume.SetVolume(audiopara.render, volume[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetVolume(audiopara.render, &volumeValue[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volume[i], volumeValue[i]); - usleep(30000); - } - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_003 -* @tc.desc test Render function,set mute when the audio file is playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_003, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - bool muteTrue = true; - bool muteFalse = false; - float volume = 0.8; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->volume.SetVolume(audiopara.render, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.render->volume.SetMute(audiopara.render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - sleep(1); - ret = audiopara.render->volume.SetMute(audiopara.render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_004 -* @tc.desc test Render function,call pause,resume and stop interface when the audio file is playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_004, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_005 -* @tc.desc test Render function,Call interface GetGainThreshold,SetGain and GetGain when playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_005, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float gain = 0; - float gainMax = 0; - float gainMin = 0; - float gainMinValue = 1; - float gainMaxValue = 14; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->volume.GetGainThreshold(audiopara.render, &gainMin, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = audiopara.render->volume.SetGain(audiopara.render, gainMax - 1); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetGain(audiopara.render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMaxValue, gain); - - ret = audiopara.render->volume.SetGain(audiopara.render, gainMin + 1); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetGain(audiopara.render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMinValue, gain); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_006 -* @tc.desc test Render function,set volume after pause and set mute after resume during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_006, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float volumeValue = 1.0; - float volume = 1.0; - bool muteTrue = true; - bool muteFalse = false; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.render->volume.SetVolume(audiopara.render, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetVolume(audiopara.render, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeValue, volume); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - ret = audiopara.render->volume.SetMute(audiopara.render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - ret = audiopara.render->volume.SetMute(audiopara.render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_007 -* @tc.desc test Render function,set mute after pause and set volume after resume during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_007, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float volumeMax = 1.0; - bool muteTrue = true; - bool muteFalse = false; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.render->volume.SetMute(audiopara.render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - ret = audiopara.render->volume.SetMute(audiopara.render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - sleep(1); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - sleep(1); - ret = audiopara.render->volume.SetVolume(audiopara.render, volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_008 -* @tc.desc test StartRender interface,The audio file is played out normally and Get Current ChannelId as expected. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_008, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float speed = 3; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->SetRenderSpeed(audiopara.render, speed); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - ret = audiopara.render->GetRenderSpeed(audiopara.render, &speed); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - ret = audiopara.render->attr.GetCurrentChannelId(audiopara.render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelId, channelIdValue); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_009 -* @tc.desc test StartRender interface,The audio file is played out normally and Get Frame Sizeas expected. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_009, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint64_t size = 0; - uint64_t sizeExpect = 0; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.GetFrameSize(audiopara.render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sizeExpect = PcmFramesToBytes(audiopara.attrs); - EXPECT_EQ(size, sizeExpect); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_010 -* @tc.desc test StartRender interface,The audio file is played out normally and Get Frame Count as expected. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_010, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint64_t count = 0; - uint64_t zero = 0; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.GetFrameCount(audiopara.render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, zero); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_011 -* @tc.desc test render functio by Get render position when playing audio file. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_011, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0}; - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(2); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(time.tvSec, timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_012 -* @tc.desc test StartRender interface,The audio file is played out normally and Check Scene Capability as expected. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_012, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->scene.CheckSceneCapability(audiopara.render, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionRenderTest_013 -* @tc.desc test StartRender interface,After setting SetSampleAttributes, -* the playback will reset SetSampleAttributes. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionRenderTest_013, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint32_t samplerateValue = 48000; - uint32_t channelcountValue = 2; - struct AudioSampleAttributes attrsValue = {}; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - audiopara.attrs.type = AUDIO_IN_MEDIA; - audiopara.attrs.interleaved = false; - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - audiopara.attrs.sampleRate = 48000; - audiopara.attrs.channelCount = 2; - audiopara.attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; - - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.GetSampleAttributes(audiopara.render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_FALSE(attrsValue.interleaved); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(samplerateValue, attrsValue.sampleRate); - EXPECT_EQ(channelcountValue, attrsValue.channelCount); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_001 -* @tc.desc test capture function, The audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_001, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_002 -* @tc.desc test capture function,Pause,resume and stop when recording. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_002, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - - FrameStatus(1); - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - FrameStatus(0); - ret = audiopara.capture->control.Pause((AudioHandle)(audiopara.capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.capture->control.Resume((AudioHandle)(audiopara.capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_003 -* @tc.desc Test capture function,set volume when recording audio file. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_003, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - float val = 0.9; - float getVal = 0; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->volume.SetVolume((AudioHandle)(audiopara.capture), val); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.GetVolume((AudioHandle)(audiopara.capture), &getVal); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FLOAT_EQ(val, getVal); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_004 -* @tc.desc Test capture function, Set mute when recording audio file. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_004, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - bool isMute = false; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - bool mute = true; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->volume.SetMute((AudioHandle)(audiopara.capture), mute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.GetMute((AudioHandle)(audiopara.capture), &isMute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(isMute); - isMute = false; - sleep(1); - ret = audiopara.capture->volume.SetMute((AudioHandle)(audiopara.capture), isMute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.GetMute((AudioHandle)(audiopara.capture), &isMute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(isMute); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_005 -* @tc.desc Test capture function, Set gain when recording audio file. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_005, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - float gainMin = 0; - float gainMax = 0; - struct PrepareAudioPara para = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - float gainValue = 0; - float gain = 0; - - int32_t ret = pthread_create(¶.tids, NULL, (THREAD_FUNC)RecordAudio, ¶); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (para.capture != nullptr) { - ret = para.capture->volume.GetGainThreshold(para.capture, &gainMin, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = para.capture->volume.SetGain((AudioHandle)(para.capture), gainMax - 1); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gainValue = gainMax - 1; - ret = para.capture->volume.GetGain((AudioHandle)(para.capture), &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FLOAT_EQ(gainValue, gain); - sleep(1); - ret = para.capture->volume.SetGain((AudioHandle)(para.capture), gainMin + 1); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gainValue = gainMin + 1; - ret = para.capture->volume.GetGain((AudioHandle)(para.capture), &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FLOAT_EQ(gainValue, gain); - } - ret = ThreadRelease(para); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_006 -* @tc.desc test capture function,the sampleattributes were set success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_006, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct AudioSampleAttributes attrsValue = {}; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - struct AudioSampleAttributes attrs = {}; - InitAttrs(attrs); - attrs.sampleRate = SAMPLERATEEXOECT; - - FrameStatus(1); - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.SetSampleAttributes(audiopara.capture, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - ret = audiopara.capture->attr.GetSampleAttributes(audiopara.capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_FALSE(attrsValue.interleaved); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLERATEEXOECT, attrsValue.sampleRate); - EXPECT_EQ(CHANNELCOUNTEXOECT, attrsValue.channelCount); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_007 -* @tc.desc test capture function,the CurrentChannel Id were get success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_007, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - uint32_t channelId = 0; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - uint32_t channelIdValue = CHANNELCOUNT; - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.GetCurrentChannelId(audiopara.capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelId, channelIdValue); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_008 -* @tc.desc test capture function, the Frame Size were get success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_008, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - uint64_t size = 0; - uint64_t sizeExpect = 0; - InitAttrs(audiopara.attrs); - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.GetFrameSize(audiopara.capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sizeExpect = PcmFramesToBytes(audiopara.attrs); - EXPECT_EQ(size, sizeExpect); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_009 -* @tc.desc test capture function, the Frame Count were get success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_009, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - uint64_t count = 0; - uint64_t zero = 0; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.GetFrameCount(audiopara.capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, zero); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_010 -* @tc.desc test capture function, the Gain were get success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_010, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - float min = 0; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - float max = 0; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->volume.GetGainThreshold((AudioHandle)(audiopara.capture), &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(min, GAIN_MIN); - EXPECT_EQ(max, GAIN_MAX); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionCaptureTest_011 -* @tc.desc test capture function, the Check Scene Capability success,and the audio file is recorded successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioServerFunctionTest, AudioFunctionCaptureTest_011, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - bool supported = false; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - struct AudioSceneDescriptor scenes = {}; - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->scene.CheckSceneCapability(audiopara.capture, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -} diff --git a/audio/test/systemtest/audio_function/audio_smartpa/BUILD.gn b/audio/test/systemtest/audio_function/audio_smartpa/BUILD.gn deleted file mode 100644 index c61d4a794c0b65eac74fffad43656e4af96e81cb..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_smartpa/BUILD.gn +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_smartpa_test") { - sources = [ - "$hdf_audio_test_path/common/adm_common/src/audio_adm_common.cpp", - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "$hdf_audio_test_path/common/lib_common/src/audio_lib_common.cpp", - "src/audio_smartpa_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/supportlibs/adm_adapter/include", - "$hdf_audio_path/supportlibs/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_smartpa/include", - "$hdf_audio_test_path/common/lib_common/include", - "$hdf_audio_test_path/common/adm_common/include", - "$hdf_audio_test_path/adm_interface_lib/render/include", - "$hdf_audio_test_path/adm/audio_adm_interface/include", - "//third_party/googletest/googletest/include/gtest", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_smartpa_test") { - module_out_path = module_output_path - resource_config_file = "$hdf_audio_path/test/resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/adm_common/src/audio_adm_common.cpp", - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "$hdf_audio_test_path/common/lib_common/src/audio_lib_common.cpp", - "src/audio_smartpa_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/supportlibs/adm_adapter/include", - "$hdf_audio_path/supportlibs/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "$hdf_audio_test_path/audio_function/audio_smartpa/include", - "$hdf_audio_test_path/common/lib_common/include", - "$hdf_audio_test_path/common/adm_common/include", - "$hdf_audio_test_path/adm_interface_lib/render/include", - "$hdf_audio_test_path/adm/audio_adm_interface/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/audio_function/audio_smartpa/include/audio_smartpa_test.h b/audio/test/systemtest/audio_function/audio_smartpa/include/audio_smartpa_test.h deleted file mode 100644 index 6f2a905348e68d0727d2c7f4c593c7116608b143..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_smartpa/include/audio_smartpa_test.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_SMARTPA_TEST_H -#define AUDIO_SMARTPA_TEST_H - -#include "audio_interface_lib_render.h" -#include "audio_adm_interface_test.h" - -#endif diff --git a/audio/test/systemtest/audio_function/audio_smartpa/src/audio_smartpa_test.cpp b/audio/test/systemtest/audio_function/audio_smartpa/src/audio_smartpa_test.cpp deleted file mode 100644 index 997c07aab85540199cde67c9e99154b094728ab9..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_smartpa/src/audio_smartpa_test.cpp +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_lib_common.h" -#include "audio_smartpa_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string BIND_CONTROL = "control"; -const string BIND_RENDER = "render"; -const string BIND_NAME_ERROR = "rendeo"; - -class AudioSmartPaTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static struct DevHandle *(*BindServiceRender)(const char *); - static int32_t (*InterfaceLibOutputRender)(struct DevHandle *, int32_t, struct AudioHwRenderParam *); - static int32_t (*InterfaceLibCtlRender)(struct DevHandle *, int32_t, struct AudioHwRenderParam *); - static void (*CloseServiceRender)(struct DevHandle *); - static void *ptrHandle; - static TestAudioManager *manager; - int32_t BindServiceAndHwRender(struct AudioHwRender *&hwRender, const std::string BindName, - const std::string adapterNameCase, struct DevHandle *&handle) const; -}; - -TestAudioManager *AudioSmartPaTest::manager = nullptr; -struct DevHandle *(*AudioSmartPaTest::BindServiceRender)(const char *) = nullptr; -int32_t (*AudioSmartPaTest::InterfaceLibOutputRender)(struct DevHandle *, int, struct AudioHwRenderParam *) = nullptr; -int32_t (*AudioSmartPaTest::InterfaceLibCtlRender)(struct DevHandle *, int, struct AudioHwRenderParam *) = nullptr; -void (*AudioSmartPaTest::CloseServiceRender)(struct DevHandle *) = nullptr; -void *AudioSmartPaTest::ptrHandle = nullptr; -using THREAD_FUNC = void *(*)(void *); - -void AudioSmartPaTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); - string resolvedPathOne = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); - ptrHandle = dlopen(resolvedPathOne.c_str(), RTLD_LAZY); - ASSERT_NE(nullptr, ptrHandle); - BindServiceRender = (struct DevHandle* (*)(const char *))dlsym(ptrHandle, "AudioBindServiceRender"); - InterfaceLibOutputRender = (int32_t (*)(struct DevHandle *, int, - struct AudioHwRenderParam *))dlsym(ptrHandle, "AudioInterfaceLibOutputRender"); - InterfaceLibCtlRender = (int32_t (*)(struct DevHandle *, int, - struct AudioHwRenderParam *))dlsym(ptrHandle, "AudioInterfaceLibCtlRender"); - CloseServiceRender = reinterpret_cast(dlsym(ptrHandle, "AudioCloseServiceRender")); - if (BindServiceRender == nullptr || CloseServiceRender == nullptr || - InterfaceLibCtlRender == nullptr || InterfaceLibOutputRender == nullptr) { - return; - } -} - -void AudioSmartPaTest::TearDownTestCase(void) -{ - if (ptrHandle != nullptr) { - (void)dlclose(ptrHandle); - } - if (BindServiceRender != nullptr) { - BindServiceRender = nullptr; - } - if (CloseServiceRender != nullptr) { - CloseServiceRender = nullptr; - } - if (InterfaceLibOutputRender != nullptr) { - InterfaceLibOutputRender = nullptr; - } - if (InterfaceLibCtlRender != nullptr) { - InterfaceLibCtlRender = nullptr; - } -} - -void AudioSmartPaTest::SetUp(void) {} - -void AudioSmartPaTest::TearDown(void) {} - -int32_t AudioSmartPaTest::BindServiceAndHwRender(struct AudioHwRender *&hwRender, - const std::string BindName, const std::string adapterNameCase, struct DevHandle *&handle) const -{ - handle = BindServiceRender(BindName.c_str()); - if (handle == nullptr) { - return HDF_FAILURE; - } - hwRender = static_cast(calloc(1, sizeof(*hwRender))); - if (hwRender == nullptr) { - CloseServiceRender(handle); - return HDF_FAILURE; - } - if (InitHwRender(hwRender, adapterNameCase)) { - CloseServiceRender(handle); - free(hwRender); - hwRender = nullptr; - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -/** -* @tc.name AudioFunctionSmartpaTest_001 -* @tc.desc test Render interface by playing an audio file based smartPA successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_001, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint32_t latencyTime = 0; - uint32_t expectedValue = 0; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetLatency(audiopara.render, &latencyTime); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_LT(expectedValue, latencyTime); - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->control.Flush((AudioHandle)audiopara.render); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - sleep(1); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(HDF_SUCCESS, ret); - FrameStatus(1); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionSmartpaTest_002 -* @tc.desc test Render function,set volume when playing audio file based smartPA. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_002, TestSize.Level1) -{ - int32_t ret = -1; - float volumeMax = 1.0; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - float volumeValue[10] = {0}; - float volumeArr[10] = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->volume.SetVolume(audiopara.render, volumeMax); - for (int i = 0; i < 10; i++) { - ret = audiopara.render->volume.SetVolume(audiopara.render, volumeArr[i]); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->volume.GetVolume(audiopara.render, &volumeValue[i]); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(volumeArr[i], volumeValue[i]); - usleep(30000); - } - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionSmartpaTest_003 -* @tc.desc test render function by SetMute and GetMute when playing audio file based smartPA. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_003, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - bool muteTrue = true; - bool muteFalse = false; - if (audiopara.render != nullptr) { - ret = audiopara.render->volume.SetMute(audiopara.render, muteTrue); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteTrue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - sleep(1); - ret = audiopara.render->volume.SetMute(audiopara.render, muteFalse); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->volume.GetMute(audiopara.render, &muteFalse); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionSmartpaTest_004 -* @tc.desc test render function by Get render position when playing audio file based smartPA. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_004, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0}; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(2); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(time.tvSec, timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionSmartpaTest_005 -* @tc.desc test render function by Get frame count and size when playing audio file based smartPA. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_005, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - uint64_t size = 0; - uint64_t count = 0; - uint64_t zero = 0; - uint64_t sizeExpect = 0; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.GetFrameSize(audiopara.render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - sizeExpect = PcmFramesToBytes(audiopara.attrs); - EXPECT_EQ(size, sizeExpect); - - ret = audiopara.render->attr.GetFrameCount(audiopara.render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, zero); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioFunctionSmartpaTest_006 -* @tc.desc test render function by SetSampleAttributes when playing audio file based smartPA. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_006, TestSize.Level1) -{ - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - int32_t ret = -1; - uint32_t samplerateValue = 48000; - uint32_t channelcountValue = 1; - struct AudioSampleAttributes attrsValue = {}; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - - sleep(1); - if (audiopara.render != nullptr) { - audiopara.attrs.type = AUDIO_IN_MEDIA; - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - audiopara.attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; - audiopara.attrs.sampleRate = 48000; - audiopara.attrs.channelCount = 1; - audiopara.attrs.stopThreshold = INT_32_MAX; - - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->attr.GetSampleAttributes(audiopara.render, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(samplerateValue, attrsValue.sampleRate); - EXPECT_EQ(channelcountValue, attrsValue.channelCount); - EXPECT_EQ(INT_32_MAX, attrsValue.stopThreshold); - } - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* this value. -* @tc.name AudioFunctionSmartpaTest_009 -* @tc.desc test InterfaceLibCtlRender ,cmdId is AUDIODRV_CTL_IOCTL_ELEM_WRITE and AUDIODRV_CTL_IOCTL_ELEM_READ. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_009, TestSize.Level1) -{ - int32_t ret = -1; - float volumevalue = 0; - float thresholdValueMaxOut = 0; - float thresholdValueMinOut = 0; - float volumeBoundaryValueOut = 127.9; - struct DevHandle *handle = nullptr; - struct AudioHwRender *hwRender = nullptr; - ret = BindServiceAndHwRender(hwRender, BIND_CONTROL.c_str(), ADAPTER_NAME_OUT, handle); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_VOL_THRESHOLD_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - thresholdValueMaxOut = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax; - thresholdValueMinOut = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin; - - hwRender->renderParam.renderMode.ctlParam.volume = thresholdValueMinOut + 1; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumevalue = hwRender->renderParam.renderMode.ctlParam.volume; - EXPECT_EQ(41, volumevalue); - - hwRender->renderParam.renderMode.ctlParam.volume = thresholdValueMaxOut - 1; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumevalue = hwRender->renderParam.renderMode.ctlParam.volume; - EXPECT_EQ(126, volumevalue); - - hwRender->renderParam.renderMode.ctlParam.volume = volumeBoundaryValueOut; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumevalue = hwRender->renderParam.renderMode.ctlParam.volume; - EXPECT_EQ(127, volumevalue); - - CloseServiceRender(handle); - free(hwRender); -} -/** -* this value. -* @tc.name AudioFunctionSmartpaTest_010 -* @tc.desc test InterfaceLibCtlRender ,cmdId is AUDIODRV_CTL_IOCTL_ELEM_WRITE and AUDIODRV_CTL_IOCTL_ELEM_READ. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_010, TestSize.Level1) -{ - int32_t ret = -1; - float thresholdValueMin = 0; - float thresholdValueMax = 0; - float volumevalue = 0; - struct DevHandle *handle = nullptr; - struct AudioHwRender *hwRender = nullptr; - ret = BindServiceAndHwRender(hwRender, BIND_CONTROL.c_str(), ADAPTER_NAME_OUT, handle); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_VOL_THRESHOLD_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - thresholdValueMax = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax; - thresholdValueMin = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin; - hwRender->renderParam.renderMode.ctlParam.volume = thresholdValueMin; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumevalue = hwRender->renderParam.renderMode.ctlParam.volume; - EXPECT_EQ(40, volumevalue); - - hwRender->renderParam.renderMode.ctlParam.volume = thresholdValueMax; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumevalue = hwRender->renderParam.renderMode.ctlParam.volume; - EXPECT_EQ(127, volumevalue); - - CloseServiceRender(handle); - free(hwRender); -} -/** -* @tc.name AudioFunctionSmartpaTest_011 -* @tc.desc test InterfaceLibCtlRender ,cmdId is AUDIODRV_CTL_IOCTL_ELEM_WRITE and AUDIODRV_CTL_IOCTL_ELEM_READ. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_011, TestSize.Level1) -{ - int32_t ret = -1; - float volumeThresholdValueMax = 0; - float volumeThresholdValueMin = 0; - struct DevHandle *handle = nullptr; - struct AudioHwRender *hwRender = nullptr; - ret = BindServiceAndHwRender(hwRender, BIND_CONTROL.c_str(), ADAPTER_NAME_OUT, handle); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_VOL_THRESHOLD_READ, &hwRender->renderParam); - EXPECT_EQ(HDF_SUCCESS, ret); - volumeThresholdValueMax = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax; - volumeThresholdValueMin = hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin; - - hwRender->renderParam.renderMode.ctlParam.volume = volumeThresholdValueMax + 1; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_FAILURE, ret); - - hwRender->renderParam.renderMode.ctlParam.volume = volumeThresholdValueMin - 1; - ret = InterfaceLibCtlRender(handle, AUDIODRV_CTL_IOCTL_ELEM_WRITE, &hwRender->renderParam); - EXPECT_EQ(HDF_FAILURE, ret); - - CloseServiceRender(handle); - free(hwRender); -} -/** -* @tc.name AudioFunctionSmartpaTest_012 -* @tc.desc Test AudioAdapterInitAllPorts interface, return 0 if the ports are initialized successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioSmartPaTest, AudioFunctionSmartpaTest_012, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME_OUT.c_str() - }; - ret = OHOS::Audio::GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = audiopara.adapter->InitAllPorts(audiopara.adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -} diff --git a/audio/test/systemtest/audio_function/audio_threshold_report/BUILD.gn b/audio/test/systemtest/audio_function/audio_threshold_report/BUILD.gn deleted file mode 100644 index 42578b23542a0b2dd24d45e5a7395674ee1d1346..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_threshold_report/BUILD.gn +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (!defined(ohos_lite)) { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") -if (!defined(ohos_lite)) { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_threshold_report_test") { - module_out_path = module_output_path - resource_config_file = "$hdf_audio_path/test/resource/ohos_test.xml" - sources = [ - "$hdf_audio_path/hal/hdi_binder/server/src/hdf_audio_events.c", - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_threshold_report_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - "hilog:libhilog", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/audio_function/audio_threshold_report/src/audio_threshold_report_test.cpp b/audio/test/systemtest/audio_function/audio_threshold_report/src/audio_threshold_report_test.cpp deleted file mode 100644 index 7bc6a431d4b3d914bc7dbaef6bc24edbbd0bc90e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/audio_function/audio_threshold_report/src/audio_threshold_report_test.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "hdf_audio_events.h" -#include "hdf_io_service_if.h" -#include "hdf_service_status.h" -#include "ioservstat_listener.h" -#include "servstat_listener_hdi.h" -#include "svcmgr_ioservice.h" -#include "audio_events.h" -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string CODEC_SERVICE_NAME = "hdf_audio_codec_primary_dev0"; -constexpr int BUFFER_SIZE_BIT = 16 * 1024; -constexpr uint64_t FILE_SIZE_BYTE = 64; -constexpr uint64_t FILE_SIZE_BIT = FILE_SIZE_BYTE * 1024; -uint32_t g_reportCount = 0; -static void AudioThresholdReportReceived(struct ServiceStatusListener *listener, struct ServiceStatus *svcStatus); -class AudioThresholdReportTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static struct ISvcMgrIoservice *servmgr; - static struct ServiceStatusListener *listener; - static TestAudioManager *manager; -}; - -TestAudioManager *AudioThresholdReportTest::manager = nullptr; -struct ISvcMgrIoservice *AudioThresholdReportTest::servmgr = nullptr; -struct ServiceStatusListener *AudioThresholdReportTest::listener = nullptr; -using THREAD_FUNC = void *(*)(void *); -void AudioThresholdReportTest::SetUpTestCase(void) -{ - (void)HdfRemoteGetCallingPid(); - ASSERT_NE(nullptr, GetAudioManagerFuncs()); - manager = getAudioManager(); - ASSERT_NE(nullptr, manager); - servmgr = SvcMgrIoserviceGet(); - ASSERT_NE(nullptr, servmgr); - listener = IoServiceStatusListenerNewInstance(); - ASSERT_NE(nullptr, listener); - - listener->callback = AudioThresholdReportReceived; - int status = servmgr->RegisterServiceStatusListener(servmgr, listener, DEVICE_CLASS_AUDIO); - ASSERT_EQ(HDF_SUCCESS, status); -} - -void AudioThresholdReportTest::TearDownTestCase(void) -{ - if (manager != nullptr) { - (void)manager->ReleaseAudioManagerObject(manager); - manager = nullptr; - } - (void)servmgr->UnregisterServiceStatusListener(servmgr, listener); - (void)HdiServiceStatusListenerFree(listener); - listener = nullptr; - (void)SvcMgrIoserviceRelease(servmgr); - servmgr = nullptr; -} - -void AudioThresholdReportTest::SetUp(void) {} - -void AudioThresholdReportTest::TearDown(void) {} - -void AudioThresholdReportReceived(struct ServiceStatusListener *listener, struct ServiceStatus *svcStatus) -{ - if (listener == nullptr || svcStatus == nullptr) { - return; - } - struct AudioEvent thresholdReportEvent = {}; - if (!strcmp(svcStatus->serviceName, CODEC_SERVICE_NAME.c_str())) { - AudioPnpMsgReadValue(svcStatus->info, "EVENT_TYPE", &(thresholdReportEvent.eventType)); - AudioPnpMsgReadValue(svcStatus->info, "DEVICE_TYPE", &(thresholdReportEvent.deviceType)); - } - if (thresholdReportEvent.eventType == HDF_AUDIO_CAPTURE_THRESHOLD && - thresholdReportEvent.deviceType == HDF_AUDIO_PRIMARY_DEVICE) { - g_reportCount++; - } -} - -/** -* @tc.name AudioThresholdCaptureReport_001 -* @tc.desc test Threshold Reporting function ,Start recording can be reported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioThresholdReportTest, AudioThresholdCaptureReport_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_SIZE_BIT; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - g_reportCount = 0; - uint32_t expectReportCount = 1; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = (char *)calloc(1, BUFFER_SIZE_BIT); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(expectReportCount, g_reportCount); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioThresholdCaptureReport_002 -* @tc.desc test Threshold Reporting function is normal,when Recording. -* @tc.type: FUNC -*/ -HWTEST_F(AudioThresholdReportTest, AudioThresholdCaptureReport_002, TestSize.Level1) -{ - int32_t ret = -1; - g_reportCount =0; - ASSERT_NE(nullptr, manager); - uint32_t expectReportCount = FILE_SIZE_BIT / BUFFER_SIZE_BIT + 1; - struct PrepareAudioPara audiopara = { - .manager = manager, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILE_SIZE_BYTE - }; - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(expectReportCount, g_reportCount); -} -/** -* @tc.name AudioThresholdCaptureReport_003 -* @tc.desc test Threshold Reporting function,No threshold reporting when no recording. -* @tc.type: FUNC -*/ -HWTEST_F(AudioThresholdReportTest, AudioThresholdCaptureReport_003, TestSize.Level1) -{ - g_reportCount = 0; - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - uint32_t expectReportCount = 0; - AudioPortPin pins = PIN_OUT_SPEAKER; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, pins, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - render->control.Stop((AudioHandle)render); - EXPECT_EQ(expectReportCount, g_reportCount); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -} diff --git a/audio/test/systemtest/hdi/BUILD.gn b/audio/test/systemtest/hdi/BUILD.gn deleted file mode 100644 index 42e42811d3a25e98870199718fa43342963f6390..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/BUILD.gn +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - import("./../../../audio.gni") -} - -group("hdi") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "common:hdi_common", - #"hardwaredependence:hdi_hardwaredependence", - ] - if (!defined(drivers_peripheral_audio_feature_alsa_lib) || - drivers_peripheral_audio_feature_alsa_lib == false) { - deps += [ "hdiperformace:hdi_performace" ] - if (!defined(ohos_lite)) { - if (enable_audio_adm_service) { - deps += [ "hdireliability:hdi_reliability" ] - } - } - } -} diff --git a/audio/test/systemtest/hdi/common/BUILD.gn b/audio/test/systemtest/hdi/common/BUILD.gn deleted file mode 100644 index 0774e1862e1a4f7346e0c0a45b680c57d6495ef7..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/BUILD.gn +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - import("./../../../../audio.gni") -} - -group("hdi_common") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "adapter:hdf_audio_hdi_adapter_test", - "capture:hdf_audio_hdi_capture_attr_test", - "capture:hdf_audio_hdi_capture_control_test", - "capture:hdf_audio_hdi_capture_scene_test", - "capture:hdf_audio_hdi_capture_test", - "capture:hdf_audio_hdi_capture_volume_test", - "manager:hdf_audio_hdi_manager_test", - "render:hdf_audio_hdi_render_attr_test", - "render:hdf_audio_hdi_render_control_test", - "render:hdf_audio_hdi_render_scene_test", - "render:hdf_audio_hdi_render_test", - "render:hdf_audio_hdi_render_volume_test", - ] -} diff --git a/audio/test/systemtest/hdi/common/adapter/BUILD.gn b/audio/test/systemtest/hdi/common/adapter/BUILD.gn deleted file mode 100644 index bcdc2bf3f648ac8c491ce2f516506957e367e4b5..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/adapter/BUILD.gn +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_adapter_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdiadapter_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/adapter/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_adapter_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdiadapter_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/adapter/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/common/adapter/include/audio_hdiadapter_test.h b/audio/test/systemtest/hdi/common/adapter/include/audio_hdiadapter_test.h deleted file mode 100644 index a43a4cff1e2e79c1beead725f3116963dedacf13..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/adapter/include/audio_hdiadapter_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIADAPTER_TEST_H -#define AUDIO_HDIADAPTER_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/adapter/src/audio_hdiadapter_test.cpp b/audio/test/systemtest/hdi/common/adapter/src/audio_hdiadapter_test.cpp deleted file mode 100644 index 908bd373a14bcb6bf86d9b49ab2fdcfccdc713ff..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/adapter/src/audio_hdiadapter_test.cpp +++ /dev/null @@ -1,712 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdiadapter_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiAdapterTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; -TestAudioManager *AudioHdiAdapterTest::manager = nullptr; - -void AudioHdiAdapterTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiAdapterTest::TearDownTestCase(void) {} - -void AudioHdiAdapterTest::SetUp(void) {} - -void AudioHdiAdapterTest::TearDown(void) {} - -/** -* @tc.name AudioGetAllAdapters_001 -* @tc.desc test GetAllAdapters interface,Returns 0 if the list is obtained successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioGetAllAdapters_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->GetAllAdapters(manager, &descs, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_LT(0, size); -} - -/** -* @tc.name AudioGetAllAdapters_002 -* @tc.desc test GetAllAdapters interface,Returns -1 if the incoming parameter manager is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioGetAllAdapters_002, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - TestAudioManager *manager1 = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->GetAllAdapters(manager1, &descs, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -/** -* @tc.name AudioGetAllAdapters_003 -* @tc.desc test GetAllAdapters interface,Returns -1 if the incoming parameter descs is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioGetAllAdapters_003, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor **descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->GetAllAdapters(manager, descs, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -/** -* @tc.name AudioGetAllAdapters_004 -* @tc.desc test GetAllAdapters interface,Returns -1 if the incoming parameter size is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioGetAllAdapters_004, TestSize.Level1) -{ - int32_t ret = -1; - int *size = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->GetAllAdapters(manager, &descs, size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** -* @tc.name AudioGetAllAdapters_005 -* @tc.desc test GetAllAdapters interface,Returns -3 if the incoming parameter manager is illagal -* @tc.type: FUNC -*/ -#ifdef AUDIO_ADM_SERVICE -HWTEST_F(AudioHdiAdapterTest, AudioGetAllAdapters_005, TestSize.Level1) -{ - int32_t ret = -1; - int *size = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - TestAudioManager errorManager; - ret = manager->GetAllAdapters(&errorManager, &descs, size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -#endif -/** -* @tc.name AudioLoadAdapter_001 -* @tc.desc test LoadAdapter interface,Returns 0 if the driver is loaded successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = &descs[0]; - ASSERT_TRUE(desc != nullptr); - struct AudioAdapter *adapter = nullptr; - ret = manager->LoadAdapter(manager, desc, &adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = -1; - if (adapter != nullptr) { - if (adapter->InitAllPorts != nullptr && adapter->CreateRender != nullptr && - adapter->DestroyRender != nullptr && adapter->CreateCapture != nullptr && - adapter->DestroyCapture != nullptr && adapter->GetPortCapability != nullptr && - adapter->SetPassthroughMode != nullptr && adapter->GetPassthroughMode != nullptr) { - ret = 0; - } - } - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioLoadAdapter_002 -* @tc.desc test LoadAdapter interface,Returns -1 if the adapterName of incoming parameter desc is not support -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_002, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = &descs[0]; - desc->adapterName = "illegal"; - ASSERT_TRUE(desc != nullptr); - struct AudioAdapter *adapter = nullptr; - - ret = manager->LoadAdapter(manager, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); -} - -/** -* @tc.name AudioLoadAdapter_003 -* @tc.desc test LoadAdapter interface,Returns -1 if the adapterName of incoming parameter desc is illegal -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapterDescriptor desc = { - .adapterName = "primary", - .portNum = 2, - .ports = nullptr, - }; - - ASSERT_NE(nullptr, manager); - ret = manager->LoadAdapter(manager, &desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioLoadAdapter_004 -* @tc.desc test LoadAdapter interface,Returns -1 if the incoming parameter manager is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_004, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - TestAudioManager *managerNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = &descs[0]; - ASSERT_TRUE(desc != nullptr); - struct AudioAdapter *adapter = nullptr; - - ret = manager->LoadAdapter(managerNull, desc, &adapter); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioLoadAdapter_005 -* @tc.desc test LoadAdapter interface,Returns -1 if the incoming parameter desc is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = manager->LoadAdapter(manager, desc, &adapter); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioLoadAdapter_006 -* @tc.desc test LoadAdapter interface,Returns -1 if the incoming parameter adapter is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_006, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapter **adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = &descs[0]; - ASSERT_TRUE(desc != nullptr); - - ret = manager->LoadAdapter(manager, desc, adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** -* @tc.name AudioLoadAdapter_007 -* @tc.desc test LoadAdapter interface,Returns -3 if setting the adapterName of incoming parameter manager is illagal -*/ -#ifdef AUDIO_ADM_SERVICE -HWTEST_F(AudioHdiAdapterTest, AudioLoadAdapter_007, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *descs = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetAdapters(manager, &descs, size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - struct AudioAdapterDescriptor *desc = &descs[0]; - ASSERT_TRUE(desc != nullptr); - struct AudioAdapter *adapter = nullptr; - TestAudioManager errorManager; - ret = manager->LoadAdapter(&errorManager, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} -#endif -/** -* @tc.name AudioAdapterInitAllPorts_001 -* @tc.desc Test AudioAdapterInitAllPorts interface, return 0 if the ports is initialize successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterInitAllPorts_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* renderPort = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterInitAllPorts_003 -* @tc.desc Test AudioAdapterInitAllPorts API, return -1 if the parameter adapter is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterInitAllPorts_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapterNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_001 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_OUT. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - struct AudioPortCapability capability = {}; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - if (ret < 0 || capability.formats == nullptr || capability.subPorts == nullptr) { - manager->UnloadAdapter(manager, adapter); - ASSERT_NE(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, capability.formats); - ASSERT_NE(nullptr, capability.subPorts); - } - if (capability.subPorts->desc == nullptr) { - manager->UnloadAdapter(manager, adapter); - ASSERT_NE(nullptr, capability.subPorts->desc); - } - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_002 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - struct AudioPortCapability capability = {}; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioAdapterGetPortCapability_004 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if the parameter adapter is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - struct AudioPortCapability capability = {}; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - ret = adapter->GetPortCapability(adapterNull, audioPort, &capability); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_005 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort *audioPortNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioPortCapability capability = {}; - - ASSERT_NE(nullptr, manager); - struct AudioPort* audioPort = nullptr; - struct AudioPort audioPortError = { .dir = PORT_OUT, .portId = 9, .portName = "AIP" }; - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPortNull, &capability); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = adapter->GetPortCapability(adapter, &audioPortError, &capability); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_006 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if capability is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioPortCapability *capabilityNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, capabilityNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_001 -* @tc.desc test AdapterSetPassthroughMode interface, return 0 if PortType is PORT_OUT. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - AudioPortPassthroughMode modeLpcm = PORT_PASSTHROUGH_AUTO; - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPort, &modeLpcm); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, modeLpcm); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_002 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* audioPort = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_003 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 the parameter adapter is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->SetPassthroughMode(adapterNull, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_004 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioPort *audioPortNull = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - struct AudioPort audioPortError = { .dir = PORT_OUT, .portId = 8, .portName = "AIP1" }; - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPortNull, mode); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = adapter->SetPassthroughMode(adapter, &audioPortError, mode); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_005 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if the not supported mode. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_RAW); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_001 -* @tc.desc test AdapterGetPassthroughMode interface, return 0 if is get successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_AUTO; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->GetPassthroughMode(adapter, audioPort, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, mode); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_002 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the parameter adapter is empty.. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapterNull, audioPort, &mode); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_003 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - struct AudioPort *audioPortNull = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - struct AudioPort audioPortError = { .dir = PORT_OUT, .portId = 8, .portName = "AIP" }; - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPortNull, &mode); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = adapter->GetPassthroughMode(adapter, &audioPortError, &mode); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_004 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the parameter mode is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode *modeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPort, modeNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/capture/BUILD.gn b/audio/test/systemtest/hdi/common/capture/BUILD.gn deleted file mode 100644 index a3b82304358c45fc5a1ca6559fb36bbd29b5c459..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/BUILD.gn +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_capture_attr_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_capture_control_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_control_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_capture_volume_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_volume_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_capture_scene_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_capture_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_capture_attr_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_control_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_control_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_volume_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_volume_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_scene_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_attr_test.h b/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_attr_test.h deleted file mode 100644 index e08c8b5289ac8ce0705d5717bf6f8978965e9555..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_attr_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_ATTR_TEST_H -#define AUDIO_HDICAPTURE_ATTR_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_control_test.h b/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_control_test.h deleted file mode 100644 index a2de06e2e2fd93a8ea47bd3c194a2282bcefbd64..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_control_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_CONTROL_TEST_H -#define AUDIO_HDICAPTURE_CONTROL_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_scene_test.h b/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_scene_test.h deleted file mode 100644 index e80537f6edfebcc36bdf94c67e0f10e6f4d33b18..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_scene_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_SCENE_TEST_H -#define AUDIO_HDICAPTURE_SCENE_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_test.h b/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_test.h deleted file mode 100644 index b2a3dc872054065c88052430be0f0ed725f6f010..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_TEST_H -#define AUDIO_HDICAPTURE_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_volume_test.h b/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_volume_test.h deleted file mode 100644 index f51f3953cef2206a614e98bf3b6ce944ba9f5712..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/include/audio_hdicapture_volume_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_VOLUME_TEST_H -#define AUDIO_HDICAPTURE_VOLUME_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_attr_test.cpp b/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_attr_test.cpp deleted file mode 100644 index 0fb46d0bff66635e1a10c0290002008d4fe8e7df..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_attr_test.cpp +++ /dev/null @@ -1,782 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_attr_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureAttrTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureAttrTest::manager = nullptr; - -void AudioHdiCaptureAttrTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureAttrTest::TearDownTestCase(void) {} - -void AudioHdiCaptureAttrTest::SetUp(void) {} -void AudioHdiCaptureAttrTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureGetFrameSize_001 -* @tc.desc test AudioCaptureGetFrameSize interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameSize_002 -* @tc.desc test AudioCaptureGetFrameSize interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(captureNull, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameSize_003 -* @tc.desc test AudioCaptureGetFrameSize interface, return -1 if the parameter size is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *sizeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, sizeNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_001 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the FrameCount is called after creating the object. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_001 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the GetFrameCount is called after started. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_003 -* @tc.desc test AudioCaptureGetFrameCount interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(captureNull, &count); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureGetFrameCount_004 -* @tc.desc test AudioCaptureGetFrameCount interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *countNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, countNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test GetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdValue, channelId); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCurrentChannelId_003 - * @tc.desc Test GetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_004 - * @tc.desc Test GetCurrentChannelId interface,return -1 if set the parameter capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_004, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(captureNull, &channelId); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_005 - * @tc.desc Test CaptureGetCurrentChannelId interface, return -1 if setting the parameter channelId is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_005, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t *channelIdNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, channelIdNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_001 - * @tc.desc Test CaptureSetExtraParams interface,return 0 if the ExtraParams is set during playback - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-sampling-rate=48000"; - size_t index = 1; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - uint64_t FILESIZE = 1024; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->attr.SetExtraParams((AudioHandle)audiopara.capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->attr.GetExtraParams((AudioHandle)audiopara.capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - string strGetValue = keyValueListValue; - size_t indexAttr = strGetValue.find("attr-frame-count"); - size_t indexFlag = strGetValue.rfind(";"); - if (indexAttr != string::npos && indexFlag != string::npos) { - strGetValue.replace(indexAttr, indexFlag - indexAttr + index, ""); - } - EXPECT_STREQ(keyValueListExp, strGetValue.c_str()); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureSetExtraParams_002 - * @tc.desc Test CaptureSetExtraParams interface,return 0 if some parameters is set after playing - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueListOne[] = "attr-frame-count=4096;"; - char keyValueListOneExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListTwo[] = "attr-route=1;attr-frame-count=1024;"; - char keyValueListTwoExp[] = "attr-route=1;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListThr[] = "attr-route=0;attr-channels=1;attr-frame-count=4096;"; - char keyValueListThrExp[] = "attr-route=0;attr-format=16;attr-channels=1;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - char keyValueListFourExp[] = "attr-route=0;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValueOne[256] = {}; - char keyValueListValueTwo[256] = {}; - char keyValueListValueThr[256] = {}; - char keyValueListValueFour[256] = {}; - int32_t listLenth = 256; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueOne, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListOneExp, keyValueListValueOne); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListTwo); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueTwo, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListTwoExp, keyValueListValueTwo); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListThr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueThr, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListThrExp, keyValueListValueThr); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListFour); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValueFour, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListFourExp, keyValueListValueFour); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_003 - * @tc.desc Test CaptureSetExtraParams interface,return -1 if the Keyvaluelist is a value out of range - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueList[] = "attr-para=abc;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_004 - * @tc.desc Test CaptureSetExtraParams interface,return -1 if adding parameters to keyvaluelist - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;\ -attr-frame-count=82;attr-sampling-rate=48000;attr-para=abc"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_005 - * @tc.desc Test CaptureSetExtraParams interface,return 0 if set ExtraParams When the key is the same and the value - is different - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_006 - * @tc.desc Test CaptureSetExtraParams interface,return -1 if set the parameter in keyvaluelist as an abnormal value - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char attrSamplingRateError[] = "attr-sampling-rate=1234567;"; - char attrChannelsError[] = "attr-channels=3;"; - char attrFrameCountError[] = "attr-frame-count=111111111111111111111;"; - char attrRouteError[] = "attr-route=5;"; - char attrFormateError[] = "attr-formate=12;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, attrSamplingRateError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, attrChannelsError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, attrFrameCountError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, attrRouteError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, attrFormateError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_007 - * @tc.desc Test CaptureSetExtraParams interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - char keyValueList[] = "attr-format=2;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)captureNull, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureSetExtraParams_008 - * @tc.desc Test CaptureSetExtraParams interface,return -1 if set the format of ExtraParams is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureSetExtraParams_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueListNull[] = "attr-format=;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueListNull); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetExtraParams_001 - * @tc.desc Test CaptureGetExtraParams interface,return 0 if the RenderGetExtraParams was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioSampleAttributes attrsValue = {}; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - int32_t formatExp = 3; - uint32_t sampleRateExp = 48000; - uint32_t channelCountExp = 2; - uint32_t frameCountExp = 4096; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(formatExp, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, frameCountExp); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetExtraParams_002 - * @tc.desc Test CaptureGetExtraParams interface,return 0 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - char keyValueList[] = "attr-format=32;"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)captureNull, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetExtraParams_003 - * @tc.desc Test CaptureGetExtraParams interface,return 0 if set listlength to be less than the actual length - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetExtraParams_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;\ -attr-frame-count=82;attr-sampling-rate=48000;"; - char keyValueListValue[256] = {}; - int32_t listLenth = 8; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetExtraParams_004 - * @tc.desc Test CaptureGetExtraParams interface,return 0 if set listlenth equal to the actual length - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetExtraParams_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=11111111111111111111;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 107; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.SetExtraParams((AudioHandle)capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetExtraParams((AudioHandle)capture, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueList, keyValueListValue); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureAddAudioEffect_001 - * @tc.desc Test CaptureAddAudioEffect interface,return 0 if set the legal parameter - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureAddAudioEffect_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.AddAudioEffect((AudioHandle)capture, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureAddAudioEffect_001 - * @tc.desc Test CaptureAddAudioEffect interface,return -3 if set the parameter Capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureAddAudioEffect_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.AddAudioEffect((AudioHandle)captureNull, effectid); -#ifdef AUDIO_ADM_SERVICE - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#endif - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureRemoveAudioEffect_001 - * @tc.desc Test CaptureAddAudioEffect interface,return 0 if set the legal parameter - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureRemoveAudioEffect_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.AddAudioEffect((AudioHandle)capture, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.RemoveAudioEffect((AudioHandle)capture, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureAddAudioEffect_002 - * @tc.desc Test CaptureAddAudioEffect interface,return -3 if setting the parameter Capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureRemoveAudioEffect_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.RemoveAudioEffect((AudioHandle)captureNull, effectid); -#ifdef AUDIO_ADM_SERVICE - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#endif - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_control_test.cpp b/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_control_test.cpp deleted file mode 100644 index a571cb0d16843caf1dbb155949432ef79603125f..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_control_test.cpp +++ /dev/null @@ -1,876 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_control_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const string ADAPTER_NAME_USB = "USB"; - -class AudioHdiCaptureControlTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiCaptureControlTest::manager = nullptr; - -void AudioHdiCaptureControlTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureControlTest::TearDownTestCase(void) {} - -void AudioHdiCaptureControlTest::SetUp(void) {} - -void AudioHdiCaptureControlTest::TearDown(void) {} - -/** -* @tc.name AudioCreateCapture_001 -* @tc.desc Test AudioCreateCapture interface,Returns 0 if the AudioCapture object is created successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_002 -* @tc.desc test AudioCreateCapture interface: - (1)service mode:Returns 0,if the AudioCapture object can be created successfully which was created - (2)passthrough mode: Returns -1,if the AudioCapture object can't be created which was created -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *firstCapture = nullptr; - struct AudioCapture *secondCapture = nullptr; - struct AudioPort* audioPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor DevDesc = {}; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - InitDevDesc(DevDesc, audioPort->portId, PIN_IN_MIC); - ret = adapter->CreateCapture(adapter, &DevDesc, &attrs, &firstCapture); - if (ret < 0) { - manager->UnloadAdapter(manager, adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = adapter->CreateCapture(adapter, &DevDesc, &attrs, &secondCapture); -#if defined (AUDIO_ADM_SERVICE) - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, secondCapture); -#endif -#if defined (AUDIO_ADM_SO) || defined (__LITEOS__) - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyCapture(adapter, firstCapture); -#endif - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_003 -* @tc.desc test AudioCreateCapture interface,Returns 0 if the AudioCapture object can be created successfully - when AudioRender was created -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioPort* audioPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor renderDevDesc = {}; - struct AudioDeviceDescriptor captureDevDesc = {}; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - InitDevDesc(renderDevDesc, audioPort->portId, PIN_OUT_SPEAKER); - InitDevDesc(captureDevDesc, audioPort->portId, PIN_IN_MIC); - ret = adapter->CreateRender(adapter, &renderDevDesc, &attrs, &render); - if (ret < 0) { - manager->UnloadAdapter(manager, adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = adapter->CreateCapture(adapter, &captureDevDesc, &attrs, &capture); - if (ret < 0) { - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - adapter->DestroyRender(adapter, render); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_005 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter adapter is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - ret = InitDevDesc(devDesc, capturePort->portId, PIN_IN_MIC); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->CreateCapture(adapterNull, &devDesc, &attrs, &capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_006 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter desc is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor *devDesc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - ret = adapter->CreateCapture(adapter, devDesc, &attrs, &capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_007 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter attrs is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes *attrs = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = InitDevDesc(devDesc, capturePort->portId, PIN_IN_MIC); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->CreateCapture(adapter, &devDesc, attrs, &capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_008 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter capture is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture **capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - ret = InitDevDesc(devDesc, capturePort->portId, PIN_IN_MIC); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->CreateCapture(adapter, &devDesc, &attrs, capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_008 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter adapter which DevDesc'pins is -* PIN_OUT_SPEAKER -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_009, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - ret = InitDevDesc(devDesc, capturePort->portId, PIN_OUT_SPEAKER); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->CreateCapture(adapter, &devDesc, &attrs, &capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCreateCapture_010 -* @tc.desc Test AudioCreateCapture interface,Returns -1 if the incoming parameter desc which portID is not configured -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCreateCapture_010, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - uint32_t portID = 12; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(attrs); - ret = InitDevDesc(devDesc, portID, PIN_IN_MIC); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->CreateCapture(adapter, &devDesc, &attrs, &capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioDestroyCapture_001 -* @tc.desc Test AudioDestroyCapture interface,Returns 0 if the AudioCapture object is destroyed -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioDestroyCapture_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->DestroyCapture(adapter, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioDestroyCapture_002 -* @tc.desc Test AudioDestroyCapture interface,Returns -1 if the incoming parameter adapter is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioDestroyCapture_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->DestroyCapture(adapterNull, capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = adapter->DestroyCapture(adapter, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioDestroyCapture_003 -* @tc.desc Test AudioDestroyCapture interface,Returns -1 if the incoming parameter capture is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioDestroyCapture_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* capturePort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, capturePort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = adapter->DestroyCapture(adapter, capture); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioStartCapture_001 -* @tc.desc Test AudioCaptureStart interface,return 0 if the audiocapture object is started successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStart_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureStart_002 -* @tc.desc Test CaptureStart interface,return -1 if the incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStart_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)captureNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureStart_003 -* @tc.desc Test AudioCaptureStart interface,return 0 if the Audiocapturestart was successfully called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStart_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_001 - * @tc.desc Test AudioCaptureStop interface,return 0 if the audiocapture object is stopped successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStop_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_002 - * @tc.desc Test AudioCaptureStop interface,return -4 if Audiocapturestop was successfully called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStop_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_003 - * @tc.desc Test AudioCaptureStop interface,return 0 if stop and start an audio capture successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStop_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureStop_004 - * @tc.desc Test AudioCaptureStop interface,return -4 if the capture does not start and stop only - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStop_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureStop_005 -* @tc.desc Test CaptureStop interface, return -1 if the incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureStop_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)captureNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_001 - * @tc.desc test HDI CapturePause interface,return 0 if the capture is paused after start - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCapturePause_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_002 - * @tc.desc Test CapturePause interface, return -1 the second time if CapturePause is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCapturePause_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_003 - * @tc.desc Test CapturePause interface,return -1 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCapturePause_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)captureNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_004 - * @tc.desc Test AudioRenderPause interface,return -1 if the capture is not Started and paused only. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCapturePause_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCapturePause_005 - * @tc.desc Test CapturePause interface, return -1 the capture is paused after stopped. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCapturePause_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_001 - * @tc.desc Test CaptureResume interface,return 0 if the capture is resumed after paused - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_002 - * @tc.desc Test CaptureResume interface,return -1 the second time if the CaptureResume is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCaptureResume_003 - * @tc.desc test HDI CaptureResume interface,return -1 if the capture is resumed after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureResume_004 - * @tc.desc Test CaptureResume interface, return -1 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)captureNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureResume_005 -* @tc.desc test HDI CaptureResume interface,return -1 if the capture is resumed after stopped -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureResume_006 -* @tc.desc test HDI CaptureResume interface,return -1 if the capture Continue to start after resume -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Pause((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Resume((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureResume_007 -* @tc.desc test HDI CaptureResume interface,return 0 if the different objects is started、paused、resumed and stopped. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureResume_007, TestSize.Level1) -{ - int32_t ret1 = -1; - int32_t ret2 = -1; - struct AudioAdapter *adapterOne = nullptr; - struct AudioAdapter *adapterSec = nullptr; - struct AudioCapture *captureOne = nullptr; - struct AudioCapture *captureSec = nullptr; - ASSERT_NE(nullptr, manager); - ret1 = AudioCreateStartCapture(manager, &captureOne, &adapterOne, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret1); - ret1 = captureOne->control.Pause((AudioHandle)captureOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret1); - ret1 = captureOne->control.Resume((AudioHandle)captureOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret1); - ret1 = captureOne->control.Stop((AudioHandle)captureOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret1); - adapterOne->DestroyCapture(adapterOne, captureOne); - manager->UnloadAdapter(manager, adapterOne); - ret2 = AudioCreateStartCapture(manager, &captureSec, &adapterSec, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret2); - ret2 = captureSec->control.Pause((AudioHandle)captureSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret2); - ret2 = captureSec->control.Resume((AudioHandle)captureSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret2); - ret2 = captureSec->control.Stop((AudioHandle)captureSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret2); - adapterSec->DestroyCapture(adapterSec, captureSec); - manager->UnloadAdapter(manager, adapterSec); -} -/** - * @tc.name AudioCaptureFlush_001 - * @tc.desc Test CaptureFlush interface,return -2 if the data in the buffer is flushed successfully after stop - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureFlush_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Flush((AudioHandle)capture); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureFlush_002 - * @tc.desc Test CaptureFlush, return -1 if the data in the buffer is flushed when handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureControlTest, AudioCaptureFlush_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Flush((AudioHandle)captureNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_scene_test.cpp b/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_scene_test.cpp deleted file mode 100644 index 6c1da73802b10310bd739ef32576b3b8a6078152..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_scene_test.cpp +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_scene_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureSceneTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiCaptureSceneTest::manager = nullptr; - -void AudioHdiCaptureSceneTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureSceneTest::TearDownTestCase(void) {} -void AudioHdiCaptureSceneTest::SetUp(void) {} -void AudioHdiCaptureSceneTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureCheckSceneCapability_001 -* @tc.desc Test AudioCaptureCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#ifndef ALSA_LIB_MODE -/** -* @tc.name AudioCaptureCheckSceneCapability_002 -* @tc.desc Test AudioCreateCapture interface,return -1 if the scene is not configured in the json. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 5; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#endif -/** -* @tc.name AudioCaptureCheckSceneCapability_003 -* @tc.desc Test AudioCreateCapture interface,return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_003, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(captureNull, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_004 -* @tc.desc Test AudioCreateCapture interface,return -1 if the scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_004, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->scene.CheckSceneCapability(capture, scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_005 -* @tc.desc Test AudioCreateCapture interface,return -1 if the parameter supported is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_001 -* @tc.desc Test AudioCaptureSelectScene interface,return 0 if select capture's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_002 -* @tc.desc Test AudioCaptureSelectScene, return 0 if select capture's scene successful after capture start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_003 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the parameter handle is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(captureNull, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_004 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the parameter scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->scene.SelectScene(capture, scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#ifndef ALSA_LIB_MODE -/** -* @tc.name AudioCaptureSelectScene_005 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the scene is not configured in the json. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_HDMI; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#endif -} diff --git a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_test.cpp b/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_test.cpp deleted file mode 100644 index 2c462c3db3b7503b24b441b946d6f2d1f1457fd1..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_test.cpp +++ /dev/null @@ -1,833 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int BUFFER_SIZE = 16384; -const int BUFFER_SIZE_LITTLE = 0; -const uint64_t FILESIZE = 1024; - -class AudioHdiCaptureTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureTest::manager = nullptr; - -void AudioHdiCaptureTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureTest::TearDownTestCase(void) {} - - -void AudioHdiCaptureTest::SetUp(void) {} - -void AudioHdiCaptureTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureFrame_001 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns 0 if the input data is read successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_001, TestSize.Level1) -{ - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureFrame_002 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns -1 if the incoming parameter frame is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_002, TestSize.Level1) -{ - uint64_t replyBytes = 0; - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - char *frame = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureFrame_003 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns -1 if the incoming parameter replyBytes is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_003, TestSize.Level1) -{ - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - uint64_t *replyBytes = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureFrame_004 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns -1 if the incoming parameter capture is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_004, TestSize.Level1) -{ - uint64_t requestBytes = BUFFER_SIZE; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(captureNull, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureFrame_005 -* @tc.desc Test AudioCaptureFrame interface,Returns -1 if without calling interface capturestart -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_005, TestSize.Level1) -{ - uint64_t requestBytes = BUFFER_SIZE; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - uint64_t replyBytes = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -less than interface requirements -* @tc.name AudioCaptureFrame_006 -* @tc.desc test AudioCaptureCaptureFrame interface,Returns -1 if the incoming parameter -requestBytes less than interface requirements -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureFrame_006, TestSize.Level1) -{ - uint64_t requestBytes = BUFFER_SIZE_LITTLE; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - EXPECT_NE(nullptr, frame); - ret = capture->CaptureFrame(capture, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioCaptureGetCapturePosition_001 -* @tc.desc Test AudioCaptureGetCapturePosition interface,Returns 0 if get CapturePosition during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_001, TestSize.Level1) -{ - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->GetCapturePosition(audiopara.capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioCaptureGetCapturePosition_002 -* @tc.desc Test GetCapturePosition interface,Returns 0 if get Position after Pause and resume during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_002, TestSize.Level1) -{ - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str(), .fileSize = FILESIZE - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - int32_t ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.capture != nullptr) { - ret = audiopara.capture->control.Pause((AudioHandle)(audiopara.capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->GetCapturePosition(audiopara.capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - ret = audiopara.capture->control.Resume((AudioHandle)(audiopara.capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->GetCapturePosition(audiopara.capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioCaptureGetCapturePosition_003 -* @tc.desc Test GetCapturePosition interface,Returns 0 if get CapturePosition after stop during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_003, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_004 - * @tc.desc Test GetCapturePosition interface, return 0 if get CapturePosition after the object is created - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_004, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_005 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter Capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_005, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(captureNull, &frames, &time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_006 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter frames is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_006, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t *framesNull = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, framesNull, &time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_007 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter time is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_007, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp *timeNull = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, timeNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_008 - * @tc.desc Test GetCapturePosition interface, return 0 if the GetCapturePosition was called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_008, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct AudioTimeStamp timeSec = {.tvSec = 0, .tvNSec = 0}; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateStartCapture(manager, &capture, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - ret = capture->GetCapturePosition(capture, &frames, &timeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_001 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_001, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_002 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessful when setting the - incoming parameter reqSize is bigger than the size of actual audio file -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_002, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = reqSize + BUFFER_LENTH; - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - fclose(fp); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_003 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully when setting the - incoming parameter reqSize is smaller than the size of actual audio file -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_003, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = reqSize / 2; - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_004 -* @tc.desc Test ReqMmapBuffer interface,return -1 if call ReqMmapBuffer interface unsuccessful when setting the - incoming parameter reqSize is zero -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_004, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = 0; - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - fclose(fp); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_005 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessful when setting the - incoming parameter memoryFd of desc is illegal -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_005, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - desc.memoryFd = -1; // -1 is invalid fd - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - fclose(fp); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_006 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessful when setting the - incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_006, TestSize.Level1) -{ - bool isRender = false; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str(), "wb+"); - ASSERT_NE(nullptr, fp); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)captureNull, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - fclose(fp); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureReqMmapBuffer_007 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessful when setting the - incoming parameter desc is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureReqMmapBuffer_007, TestSize.Level1) -{ - uint32_t reqSize = 0; - struct AudioMmapBufferDescriptor *descNull = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - if (ret < 0 || capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, capture); - } - reqSize = FILE_CAPTURE_SIZE; - ret = capture->control.Start((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.ReqMmapBuffer((AudioHandle)capture, reqSize, descNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureGetMmapPosition_001 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetMmapPosition_001, TestSize.Level1) -{ - uint64_t frames = 0; - uint64_t framesCapturing = 0; - uint64_t framesExpCapture = 0; - int64_t timeExp = 0; - int64_t timeExpCaptureing = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - int32_t ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordMapAudio, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &framesCapturing, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(framesCapturing, INITIAL_VALUE); - timeExpCaptureing = (audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec); - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &framesExpCapture, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExpCaptureing); - EXPECT_GT(framesExpCapture, framesCapturing); - - audiopara.capture->control.Stop((AudioHandle)audiopara.capture); - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioCaptureGetMmapPosition_003 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetMmapPosition_003, TestSize.Level1) -{ - uint64_t *frames = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - int32_t ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioCaptureGetMmapPosition_004 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetMmapPosition_004, TestSize.Level1) -{ - uint64_t frames = 0; - struct AudioTimeStamp *time = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - int32_t ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_005 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetMmapPosition_005, TestSize.Level1) -{ - uint64_t frames = 0; - struct AudioCapture *captureNull = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - int32_t ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - - ret = audiopara.capture->attr.GetMmapPosition(captureNull, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_volume_test.cpp b/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_volume_test.cpp deleted file mode 100644 index 1738e4c4b89455cf63604d622126ae7493009ffe..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/capture/src/audio_hdicapture_volume_test.cpp +++ /dev/null @@ -1,682 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_volume_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureVolumeTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiCaptureVolumeTest::manager = nullptr; - -void AudioHdiCaptureVolumeTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureVolumeTest::TearDownTestCase(void) {} - -void AudioHdiCaptureVolumeTest::SetUp(void) {} -void AudioHdiCaptureVolumeTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureSetMute_001 -* @tc.desc Test AudioCaptureSetMute interface , return 0 if the audiocapture object sets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetMute(capture, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(muteTrue); - - ret = capture->volume.SetMute(capture, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteFalse); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetMute_002 -* @tc.desc Test AudioCaptureSetMute interface, return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetMute_002, TestSize.Level1) -{ - bool muteTrue = true; - bool muteFalse = false; - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.SetMute(captureNull, muteTrue); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->volume.SetMute(captureNull, muteFalse); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetMute_003 -* @tc.desc Test AudioCaptureSetMute interface and set the parameter mutevalue with 2. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetMute_003, TestSize.Level1) -{ - bool muteValue = 2; - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetMute(capture, muteValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(muteValue); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetMute_001 -* @tc.desc Test AudioCaptureGetMute interface , return 0 if the audiocapture gets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; -#ifdef ALSA_LIB_MODE - bool defaultmute = false; -#else - bool defaultmute = true; -#endif - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(muteTrue, defaultmute); - - ret = capture->volume.SetMute(capture, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetMute(capture, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteFalse); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetMute_002 -* @tc.desc Test AudioCreateCapture interface, return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetMute_002, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetMute(captureNull, &muteTrue); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->volume.GetMute(captureNull, &muteFalse); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->volume.GetMute(capture, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetVolume_001 -* @tc.desc Test AudioCaptureSetVolume interface , return 0 if the audiocapture sets volume successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeInit = 0.30; - float volumeInitExpc = 0.30; - float volumeLow = 0.10; - float volumeLowExpc = 0.10; - float volumeMid = 0.40; - float volumeMidExpc = 0.40; - float volumeHigh = 0.70; - float volumeHighExpc = 0.70; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.SetVolume(capture, volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeInitExpc, volumeInit); - ret = capture->volume.SetVolume(capture, volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeLowExpc, volumeLow); - ret = capture->volume.SetVolume(capture, volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMidExpc, volumeMid); - ret = capture->volume.SetVolume(capture, volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, volumeHigh); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetVolume_002 -* @tc.desc Test AudioCaptureSetVolume,return 0 if volume is set maximum value or minimum value. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetVolume_002, TestSize.Level1) -{ - int32_t ret = -1; - float volumeMin = 0; - float volumeMinExpc = 0; - float volumeMax = 1.0; - float volumeMaxExpc = 1.0; - float volumeMinBoundary = -1; - float volumeMaxBoundary = 1.1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetVolume(capture, volumeMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMinExpc, volumeMin); - - ret = capture->volume.SetVolume(capture, volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMaxExpc, volumeMax); - - ret = capture->volume.SetVolume(capture, volumeMinBoundary); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = capture->volume.SetVolume(capture, volumeMaxBoundary); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetVolume_003 -* @tc.desc Test AudioCaptureSetVolume,return -1 when capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetVolume_003, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetVolume(captureNull, volume); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetVolume_001 -* @tc.desc Test AudioCaptureGetVolume interface , return 0 if the audiocapture is get successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.60; - float defaultVolume = 0.60; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetVolume(capture, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(defaultVolume, volume); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetVolume_002. -* @tc.desc Test AudioCaptureGetVolume,return 0 when when capturing is in progress. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetVolume_002, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.60; - float defaultVolume = 0.60; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetVolume(capture, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetVolume(capture, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(defaultVolume, volume); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetVolume_003 -* @tc.desc Test AudioCaptureGetVolume,return -1 when capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetVolume_003, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.30; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetVolume(captureNull, &volume); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGainThreshold_001 -* @tc.desc test AudioCaptureGetGainThreshold interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGainThreshold_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#ifndef ALSA_LIB_MODE - EXPECT_EQ(min, GAIN_MIN); - EXPECT_EQ(max, GAIN_MAX); -#endif - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGainThreshold_002 -* @tc.desc test AudioCaptureGetGainThreshold interface, return -1 if the incoming parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGainThreshold_002, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)captureNull, &min, &max); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGainThreshold_003 -* @tc.desc test AudioCaptureGetGainThreshold interface, return -1 if the incoming parameter min is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGainThreshold_003, TestSize.Level1) -{ - int32_t ret = -1; - float max = 0; - float* minNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, minNull, &max); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGainThreshold_004 -* @tc.desc test AudioCaptureGetGainThreshold interface, return -1 if the incoming parameter max is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGainThreshold_004, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float* maxNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, maxNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSetGain_001 -* @tc.desc test AudioCaptureSetGain interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - float gain = max - 1; - float gainMax = max; - float gainMin = min; - float gainExpc = max - 1; - float gainMaxExpc = max; - float gainMinExpc = min; - ret = capture->volume.SetGain((AudioHandle)capture, gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMaxExpc, gainMax); - - ret = capture->volume.SetGain((AudioHandle)capture, gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMinExpc, gainMin); - - ret = capture->volume.SetGain((AudioHandle)capture, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainExpc, gain); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#ifndef ALSA_LIB_MODE -/** -* @tc.name AudioCaptureSetGain_002 -* @tc.desc test AudioCaptureSetGain interface, return -1 if gain greater than the maximum and less than the minimum -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetGain_002, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gainOne = max + 1; - float gainSec = min - 1; - ret = capture->volume.SetGain((AudioHandle)capture, gainOne); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - ret = capture->volume.SetGain((AudioHandle)capture, gainSec); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -#endif -/** -* @tc.name AudioCaptureSetGain_006 -* @tc.desc test AudioCaptureSetGain interface, return -1 if the incoming parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureSetGain_003, TestSize.Level1) -{ - int32_t ret = -1; - float gain = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetGain((AudioHandle)captureNull, gain); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGain_001 -* @tc.desc test AudioCaptureGetGain interface, return 0 if CaptureGetGain is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGainThreshold((AudioHandle)capture, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gain = min + 1; - float gainValue = min + 1; - ret = capture->volume.SetGain((AudioHandle)capture, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainValue, gain); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGain_002 -* @tc.desc test AudioCaptureGetGain interface, return -1 if the incoming parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGain_002, TestSize.Level1) -{ - int32_t ret = -1; - float gainValue = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)captureNull, &gainValue); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGain_003 -* @tc.desc test AudioCaptureGetGain interface, return 0 if get gain after creating the capture object. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGain_003, TestSize.Level1) -{ - int32_t ret = -1; - float gain = GAIN_MAX - 1; - float gainOne = GAIN_MAX - 1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.SetGain((AudioHandle)capture, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->volume.GetGain((AudioHandle)capture, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainOne, gain); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetGain_004 -* @tc.desc test AudioCaptureGetGain interface, return -1 if the parameter gain is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureVolumeTest, AudioCaptureGetGain_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - float *gainNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = capture->volume.GetGain((AudioHandle)capture, gainNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/manager/BUILD.gn b/audio/test/systemtest/hdi/common/manager/BUILD.gn deleted file mode 100644 index 5e693c1739e3a23da54a137cbb42df44e9948941..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/manager/BUILD.gn +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_manager_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdimanager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/manager/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_manager_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdimanager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/manager/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/common/manager/include/audio_hdimanager_test.h b/audio/test/systemtest/hdi/common/manager/include/audio_hdimanager_test.h deleted file mode 100644 index 2b41af8d37daf834990cf280a65d4456659718ef..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/manager/include/audio_hdimanager_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIMANAGER_TEST_H -#define AUDIO_HDIMANAGER_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/manager/src/audio_hdimanager_test.cpp b/audio/test/systemtest/hdi/common/manager/src/audio_hdimanager_test.cpp deleted file mode 100644 index 034c846d503041b03fb626ac08e7867f6e5fd7aa..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/manager/src/audio_hdimanager_test.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs,functions for release audiomanager, - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio manager. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdimanager_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiManagerTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - TestAudioManager *manager = nullptr; -}; - -void AudioHdiManagerTest::SetUpTestCase(void) {} -void AudioHdiManagerTest::TearDownTestCase(void) {} -void AudioHdiManagerTest::SetUp(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiManagerTest::TearDown(void) {} - -/** -* @tc.name AudioReleaseAudioManagerObject_001 -* @tc.desc test ReleaseAudioManagerObject interface,Returns true if audiomanager is relaaseed successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_001, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); - ASSERT_EQ(nullptr, manager->GetAllAdapters); - ASSERT_EQ(nullptr, manager->LoadAdapter); - ASSERT_EQ(nullptr, manager->UnloadAdapter); -} -/** -* @tc.name AudioReleaseAudioManagerObject_002 -* @tc.desc test ReleaseAudioManagerObject interface,Returns false if setting the incoming - parameter manager is nullptr -* @tc.type: FUNC -*/ - -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_002, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - TestAudioManager *managerNull = nullptr; - - ret = manager->ReleaseAudioManagerObject(managerNull); - EXPECT_FALSE(ret); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -/** -* @tc.name AudioReleaseAudioManagerObject_003 -* @tc.desc test ReleaseAudioManagerObject interface,Returns false if setting the incoming - parameter manager is illlegal -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_003, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - TestAudioManager errorManager = {}; - - ret = manager->ReleaseAudioManagerObject(&errorManager); - EXPECT_FALSE(ret); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -/** -* @tc.name AudioReleaseAudioManagerObject_004 -* @tc.desc test ReleaseAudioManagerObject interface,audiomanager can be getted after Releasing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_004, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); - - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); - ASSERT_NE(nullptr, manager->GetAllAdapters); - ASSERT_NE(nullptr, manager->LoadAdapter); - ASSERT_NE(nullptr, manager->UnloadAdapter); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -} diff --git a/audio/test/systemtest/hdi/common/render/BUILD.gn b/audio/test/systemtest/hdi/common/render/BUILD.gn deleted file mode 100644 index b9cc74a9a8ba4ba2004f51ff3f5c65aa741338d9..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/BUILD.gn +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_attr_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - - moduletest("hdf_audio_hdi_render_control_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_control_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_render_volume_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_volume_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - - moduletest("hdf_audio_hdi_render_scene_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_render_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_attr_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_control_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_control_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_volume_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_volume_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_scene_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/render/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_attr_test.h b/audio/test/systemtest/hdi/common/render/include/audio_hdirender_attr_test.h deleted file mode 100644 index 2b45c4275b4ea15aa7fb6c7e9c23efcefc4705ae..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_attr_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_ATTR_TEST -#define AUDIO_HDIRENDER_ATTR_TEST - -#endif diff --git a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_control_test.h b/audio/test/systemtest/hdi/common/render/include/audio_hdirender_control_test.h deleted file mode 100644 index a302965274195b221787e596da9ba24026744cae..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_control_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_CONTROL_TEST_H -#define AUDIO_HDIRENDER_CONTROL_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_scene_test.h b/audio/test/systemtest/hdi/common/render/include/audio_hdirender_scene_test.h deleted file mode 100644 index 0e6a208d1c3a8780da476351221827baac8aba7d..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_scene_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_SCENE_TEST_H -#define AUDIO_HDIRENDER_SCENE_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_test.h b/audio/test/systemtest/hdi/common/render/include/audio_hdirender_test.h deleted file mode 100644 index b83148e1d6cddc861d29cf274f7c63cb13aa403b..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_TEST_H -#define AUDIO_HDIRENDER_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_volume_test.h b/audio/test/systemtest/hdi/common/render/include/audio_hdirender_volume_test.h deleted file mode 100644 index fee4409264d91822ade596bbb194324c8d7d0f5e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/include/audio_hdirender_volume_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_VOLUME_TEST_H -#define AUDIO_HDIRENDER_VOLUME_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_attr_test.cpp b/audio/test/systemtest/hdi/common/render/src/audio_hdirender_attr_test.cpp deleted file mode 100644 index 8572f088aaf4a944c719e2bb181ef1f0831caa28..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_attr_test.cpp +++ /dev/null @@ -1,751 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_attr_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderAttrTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderAttrTest::manager = nullptr; - -void AudioHdiRenderAttrTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderAttrTest::TearDownTestCase(void) {} -void AudioHdiRenderAttrTest::SetUp(void) {} -void AudioHdiRenderAttrTest::TearDown(void) {} -/** - * @tc.name AudioRenderGetFrameSize_001 - * @tc.desc Test RenderGetFrameSize interface,return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, zero); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_002 - * @tc.desc Test RenderGetFrameSize interface,return -1 if failed to get the FrameSize when handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameSize(renderNull, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_003 - * @tc.desc Test RenderGetFrameSize interface,return -1 if failed to get the FrameSize when size is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *sizeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameSize(render, sizeNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_001 - * @tc.desc Test RenderGetFrameCount interface, return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, zero); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_002 - * @tc.desc Test RenderGetFrameCount interface,return -1 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameCount(renderNull, &count); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_003 - * @tc.desc Test RenderGetFrameCount interface,return -1 if the incoming parameter count is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *countNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetFrameCount(render, countNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test RenderGetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdValue, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_003 - * @tc.desc Test RenderGetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after created - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_004 - * @tc.desc Test GetCurrentChannelId interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_004, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(renderNull, &channelId); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_005 - * @tc.desc Test RenderGetCurrentChannelId interface, return -1 if setting the parameter channelId is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_005, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t *channelIdNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, channelIdNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_001 - * @tc.desc Test RenderSetExtraParams interface,return 0 if the ExtraParams is set during playback - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-sampling-rate=48000"; - size_t index = 1; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.SetExtraParams((AudioHandle)audiopara.render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.GetExtraParams((AudioHandle)audiopara.render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - string strGetValue = keyValueListValue; - size_t indexAttr = strGetValue.find("attr-frame-count"); - size_t indexFlag = strGetValue.rfind(";"); - if (indexAttr != string::npos && indexFlag != string::npos) { - strGetValue.replace(indexAttr, indexFlag - indexAttr + index, ""); - } - EXPECT_STREQ(keyValueListExp, strGetValue.c_str()); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioRenderSetExtraParams_002 - * @tc.desc Test RenderSetExtraParams interface,return 0 if some parameters is set after playing - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueListOne[] = "attr-frame-count=1024;"; - char keyValueListOneExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListTwo[] = "attr-format=16;attr-frame-count=1024;"; - char keyValueListTwoExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListThr[] = "attr-route=1;attr-channels=1;attr-frame-count=1024;"; - char keyValueListThrExp[] = "attr-route=1;attr-format=16;attr-channels=1;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - char keyValueListFourExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValueOne[256] = {}; - char keyValueListValueTwo[256] = {}; - char keyValueListValueThr[256] = {}; - char keyValueListValueFour[256] = {}; - int32_t listLenth = 256; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueOne, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListOneExp, keyValueListValueOne); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListTwo); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueTwo, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListTwoExp, keyValueListValueTwo); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListThr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueThr, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListThrExp, keyValueListValueThr); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListFour); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueFour, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListFourExp, keyValueListValueFour); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_003 - * @tc.desc Test RenderSetExtraParams interface,return -1 if the Keyvaluelist is a value out of range - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-para=abc;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_004 - * @tc.desc Test RenderSetExtraParams interface,return -1 if adding parameters to keyvaluelist - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;\ -attr-frame-count=82;attr-sampling-rate=48000;attr-para=123"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_005 - * @tc.desc Test RenderSetExtraParams interface,return 0 if set ExtraParams When the key is the same and the value - is different - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - char keyValueList[] = "attr-sampling-rate=48000;attr-sampling-rate=96000;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=96000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_006 - * @tc.desc Test RenderSetExtraParams interface,return -1 if Set the parameter in keyvaluelist as an abnormal value - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char attrSamplingRateError[] = "attr-sampling-rate=1234567;"; - char attrChannelsError[] = "attr-channels=3;"; - char attrFrameCountError[] = "attr-frame-count=111111111111111111111;"; - char attrRouteError[] = "attr-route=5;"; - char attrFormateError[] = "attr-formate=12;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, attrSamplingRateError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, attrChannelsError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, attrFrameCountError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, attrRouteError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, attrFormateError); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_007 - * @tc.desc Test RenderSetExtraParams interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - char keyValueList[] = "attr-format=2;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)renderNull, keyValueList); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_008 - * @tc.desc Test RenderSetExtraParams interface,return -1 if set the format of ExtraParams is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueListNull[] = "attr-format=;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListNull); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetExtraParams_001 - * @tc.desc Test RenderGetExtraParams interface,return 0 if the RenderGetExtraParams was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetExtraParams_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrsValue = {}; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - int32_t formatExp = 3; - uint32_t sampleRateExp = 48000; - uint32_t channelCountExp = 2; - uint32_t frameCountExp = 4096; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(formatExp, attrsValue.format); - EXPECT_EQ(sampleRateExp, attrsValue.sampleRate); - EXPECT_EQ(channelCountExp, attrsValue.channelCount); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(count, frameCountExp); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetExtraParams_002 - * @tc.desc Test RenderGetExtraParams interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetExtraParams_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - char keyValueList[] = "attr-format=32;"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)renderNull, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetExtraParams_003 - * @tc.desc Test RenderGetExtraParams interface,return -1 if set listlength to be less than the actual length - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetExtraParams_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000;"; - char keyValueListValue[256] = {}; - int32_t listLenth = 8; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetExtraParams_004 - * @tc.desc Test RenderGetExtraParams interface,return 0 if set listlenth equal to the actual length - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetExtraParams_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=11111111111111111111;\ -attr-sampling-rate=48000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 107; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueList, keyValueListValue); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioRenderAddAudioEffect_001 - * @tc.desc Test RenderAddAudioEffect interface,return 0 if set the legal parameter - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderAddAudioEffect_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.AddAudioEffect((AudioHandle)render, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderAddAudioEffect_001 - * @tc.desc Test RenderAddAudioEffect interface,return -3 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderAddAudioEffect_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.AddAudioEffect((AudioHandle)renderNull, effectid); -#ifdef AUDIO_ADM_SERVICE - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#endif - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderRemoveAudioEffect_001 - * @tc.desc Test RenderAddAudioEffect interface,return -3 if set the legal parameter - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderRemoveAudioEffect_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.AddAudioEffect((AudioHandle)render, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.RemoveAudioEffect((AudioHandle)render, effectid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderAddAudioEffect_002 - * @tc.desc Test RenderAddAudioEffect interface,return -3 if setting the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderRemoveAudioEffect_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - uint64_t effectid = 14; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.RemoveAudioEffect((AudioHandle)renderNull, effectid); -#ifdef AUDIO_ADM_SERVICE - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#endif - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_control_test.cpp b/audio/test/systemtest/hdi/common/render/src/audio_hdirender_control_test.cpp deleted file mode 100644 index 5e85d71b4ada160f6002565d13f2b4a11fe00e73..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_control_test.cpp +++ /dev/null @@ -1,824 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_control_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderControlTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiRenderControlTest::manager = nullptr; - -void AudioHdiRenderControlTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderControlTest::TearDownTestCase(void) {} - -void AudioHdiRenderControlTest::SetUp(void) {} - -void AudioHdiRenderControlTest::TearDown(void) {} - -/** - * @tc.name AudioRenderStart_001 - * @tc.desc Test AudioRenderStart interface,return 0 if the audiorender object is created successfully. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStart_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderStart_002 - * @tc.desc Test AudioRenderStart interface, return -1 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStart_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStart_003 -* @tc.desc Test AudioRenderStart interface,return -1 the second time if the RenderStart is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStart_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_001 -* @tc.desc test AudioRenderStop interface. return 0 if the rendering is successfully stopped. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStop_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_002 -* @tc.desc test AudioRenderStop interface. return -4 if the render does not start and stop only -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStop_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_003 -* @tc.desc Test RenderStop interface,return -4 the second time if the RenderStop is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStop_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderStop_004 -* @tc.desc Test RenderStop interface, return -1 if the incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderStop_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderPause_001 - * @tc.desc test HDI RenderPause interface,return 0 if the render is paused after start - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_002 -* @tc.desc Test AudioRenderPause interface, return -1 the second time if RenderPause is called twice -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_003 -* @tc.desc Test AudioRenderPause interface,return -1 if the render is paused after created. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_004 -* @tc.desc Test AudioRenderPause interface,return 0 if the render is paused after resumed. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_005 -* @tc.desc Test AudioRenderPause interface, return -1 the render is paused after stopped. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderPause_006 -* @tc.desc Test RenderPause interface, return -1 if the incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderPause_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_001 - * @tc.desc test HDI RenderResume interface,return -1 if the render is resumed after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_002 - * @tc.desc test HDI RenderResume interface,return -1 if the render is resumed after stopped - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_003 - * @tc.desc Test AudioRenderResume interface,return 0 if the render is resumed after paused - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_004 - * @tc.desc Test RenderResume interface,return -1 the second time if the RenderResume is called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderResume_005 - * @tc.desc test HDI RenderResume interface,return -1 if the render Continue to start after resume - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderResume_007 -* @tc.desc Test RenderResume interface, return -1 if the incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderResume_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Resume((AudioHandle)renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCreateRender_001 - * @tc.desc test AudioCreateRender interface,return 0 if render is created successful. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCreateRender_003 - * @tc.desc test AudioCreateRender interface,return -1 if the incoming parameter pins is PIN_IN_MIC. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioPort* renderPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_IN_MIC); - - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCreateRender_004 - * @tc.desc test AudioCreateRender interface,return -1 if the incoming parameter attr is error. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioPort* renderPort = nullptr; - uint32_t channelCountErr = 5; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - attrs.channelCount = channelCountErr; - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - attrs.type = AUDIO_IN_COMMUNICATION; - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCreateRender_005 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming parameter adapter is nullptr. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapterNull = nullptr; - struct AudioPort* renderPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - - ret = adapter->CreateRender(adapterNull, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCreateRender_006 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming parameter devDesc is nullptr. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* renderPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor *devDescNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - - ret = adapter->CreateRender(adapter, devDescNull, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCreateRender_007 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming parameter attrs is nullptr. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioPort* renderPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes *attrsNull = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - - ret = adapter->CreateRender(adapter, &devDesc, attrsNull, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCreateRender_008 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming parameter render is nullptr. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender **renderNull = nullptr; - struct AudioPort* renderPort = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - - ret = adapter->CreateRender(adapter, &devDesc, &attrs, renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioCreateRender_009 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming parameter devDesc is error. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_009, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioPort* renderPort = nullptr; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, renderPort->portId, PIN_OUT_SPEAKER); - - devDesc.portId = -5; - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - InitDevDesc(devDesc, renderPort->portId, PIN_NONE); - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCreateRender_010 - * @tc.desc test AudioCreateRender interface,Returns -1 if the incoming desc which portID is not configured - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioCreateRender_010, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioPort* renderPort = nullptr; - uint32_t portID = 10; - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, renderPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - InitAttrs(attrs); - InitDevDesc(devDesc, portID, PIN_OUT_SPEAKER); - - ret = adapter->CreateRender(adapter, &devDesc, &attrs, &render); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - ret = adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioDestroyRender_001 - * @tc.desc Test AudioDestroyRender interface, return 0 if render is destroyed successful. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioDestroyRender_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->DestroyRender(adapter, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioDestroyRender_002 - * @tc.desc Test AudioDestroyRender interface, return -1 if the parameter render is empty. - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioDestroyRender_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = adapter->DestroyRender(adapter, renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = adapter->DestroyRender(adapter, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** - * @tc.name AudioRenderFlush_001 - * @tc.desc Test RenderFlush interface,return -2 if the data in the buffer is flushed successfully after stop - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderFlush_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Flush((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderFlush_002 - * @tc.desc Test RenderFlush, return -1 if the data in the buffer is flushed when handle is nullptr after paused - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderControlTest, AudioRenderFlush_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Pause((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Flush((AudioHandle)renderNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_scene_test.cpp b/audio/test/systemtest/hdi/common/render/src/audio_hdirender_scene_test.cpp deleted file mode 100644 index 50df71afb2ab967588bb5a08cd1e93b5fc6058f4..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_scene_test.cpp +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_scene_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderSceneTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderSceneTest::manager = nullptr; - -void AudioHdiRenderSceneTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderSceneTest::TearDownTestCase(void) {} - -void AudioHdiRenderSceneTest::SetUp(void) {} - -void AudioHdiRenderSceneTest::TearDown(void) {} - -/** -* @tc.name AudioRenderCheckSceneCapability_001 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_002 -* @tc.desc Test RenderCheckSceneCapability interface,return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_003 -* @tc.desc Test AudioRenderCheckSceneCapability,return -1 if the render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_003, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(renderNull, &scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_004 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return -1 if the scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_004, TestSize.Level1) -{ - int32_t ret = -1; - bool supported = true; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->scene.CheckSceneCapability(render, scenes, &supported); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_005 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return -1 if the supported is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_001 -* @tc.desc Test AudioRenderSelectScene interface,return 0 if select Render's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_002 -* @tc.desc Test AudioRenderSelectScene, return 0 if select Render's scene successful after Render start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_003 -* @tc.desc Test AudioRenderSelectScene, return -1 if the parameter handle is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.SelectScene(renderNull, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_004 -* @tc.desc Test AudioRenderSelectScene, return -1 if the parameter scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->scene.SelectScene(render, scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_005 -* @tc.desc Test AudioRenderSelectScene, return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_HDMI; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -#ifdef AUDIO_ADM_SO -/** -* @tc.name AudioRenderRegCallback_001 -* @tc.desc Test AudioRenderTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderRegCallback_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->RegCallback(render, AudioRenderCallback, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.Flush((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = CheckFlushValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -#ifndef ALSA_LIB_MODE -/** -* @tc.name AudioRenderRegCallback_002 -* @tc.desc Test AudioRenderRegCallback interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderRegCallback_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioSampleAttributes attrs; - struct AudioHeadInfo headInfo; - char absPath[PATH_MAX] = {0}; - realpath(AUDIO_FILE.c_str(), absPath); - ASSERT_NE(realpath(AUDIO_FILE.c_str(), absPath), nullptr); - - FILE *file = fopen(absPath, "rb"); - ASSERT_NE(file, nullptr); - ASSERT_NE(nullptr, manager); - ret = WavHeadAnalysis(headInfo, file, attrs); - if (ret < 0) { - fclose(file); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->RegCallback(render, AudioRenderCallback, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = FrameStart(headInfo, render, file, attrs); - if (ret < 0) { - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - fclose(file); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - ret = CheckWriteCompleteValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = CheckRenderFullValue(); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - fclose(file); -} -#endif -/** -* @tc.name AudioRenderTurnStandbyMode_001 -* @tc.desc Test AudioRenderTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderTurnStandbyMode_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->control.TurnStandbyMode((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - sleep(3); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderAudioDevDump_001 -* @tc.desc Test AudioRenderAudioDevDump interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderAudioDevDump_001, TestSize.Level1) -{ - int32_t ret = -1; - ASSERT_NE(nullptr, manager); - char pathBuf[] = "./DevDump.log"; - FILE *fp = fopen(pathBuf, "wb+"); - ASSERT_NE(nullptr, fp); - int fd = fileno(fp); - if (fd == -1) { - fclose(fp); - ASSERT_NE(fd, -1); - } - struct PrepareAudioPara audiopara = { - .manager = manager, .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - if (ret < 0) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - FrameStatus(0); - ret = audiopara.render->control.Pause((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - FrameStatus(1); - ret = audiopara.render->control.Resume((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.AudioDevDump((AudioHandle)audiopara.render, RANGE, fd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#endif -} diff --git a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_test.cpp b/audio/test/systemtest/hdi/common/render/src/audio_hdirender_test.cpp deleted file mode 100644 index 7e8c9ac2a99bb77dc2b42e18bd75b37255b36b0b..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_test.cpp +++ /dev/null @@ -1,1022 +0,0 @@ -/* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderTest::manager = nullptr; - -void AudioHdiRenderTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderTest::TearDownTestCase(void) {} - -void AudioHdiRenderTest::SetUp(void) {} - -void AudioHdiRenderTest::TearDown(void) {} - -/** -* @tc.name AudioRenderGetLatency_001 -* @tc.desc test RenderGetLatency interface, return 0 if GetLatency successful -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t latencyTime = 0; - uint32_t expectLatency = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetLatency(render, &latencyTime); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_LT(expectLatency, latencyTime); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetLatency_002 -* @tc.desc test RenderGetLatency interface, return -1 if Setting parameters render is empty -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_002, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t latencyTime = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetLatency(renderNull, &latencyTime); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetLatency_003 -* @tc.desc test RenderGetLatency interface,return -1 if Setting parameters ms is empty -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_003, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t *latencyTime = nullptr; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetLatency(render, latencyTime); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetRenderSpeed_001 - * @tc.desc Test SetRenderSpeed interface,return -2 if setting RenderSpeed - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderSetRenderSpeed_001, TestSize.Level1) -{ - int32_t ret = -1; - float speed = 100; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->SetRenderSpeed(render, speed); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetRenderSpeed_002 - * @tc.desc Test SetRenderSpeed interface,return -2 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderSetRenderSpeed_002, TestSize.Level1) -{ - int32_t ret = -1; - float speed = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->SetRenderSpeed(renderNull, speed); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderSpeed_001 - * @tc.desc Test GetRenderSpeed interface,return -2 if getting RenderSpeed - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderSpeed_001, TestSize.Level1) -{ - int32_t ret = -1; - float speed = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderSpeed(render, &speed); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderSpeed_002 - * @tc.desc Test GetRenderSpeed interface,return -2 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderSpeed_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - float speed = 0; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderSpeed(renderNull, &speed); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderSpeed_002 - * @tc.desc Test GetRenderSpeed interface,return -2 if the incoming parameter speed is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderSpeed_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - float *speedNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderSpeed(render, speedNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderFrame_001 -* @tc.desc test AudioRenderFrame interface,Returns 0 if the data is written successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderFrame_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioRenderFrame_002 -* @tc.desc Test AudioRenderFrame interface,Returns -1 if the incoming parameter render is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderFrame_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - char *frame = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(renderNull, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioRenderFrame_003 -* @tc.desc Test AudioRenderFrame interface,Returns -1 if the incoming parameter frame is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderFrame_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderFrame_004 -* @tc.desc Test AudioRenderFrame interface,Returns -1 if the incoming parameter replyBytes is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderFrame_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t requestBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - uint64_t *replyBytes = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioRenderFrame_005 -* @tc.desc Test AudioRenderFrame interface,Returns -1 if without calling interface renderstart -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderFrame_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t replyBytes = 0; - uint64_t requestBytes = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - char *frame = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RenderFramePrepare(AUDIO_FILE, frame, requestBytes); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->RenderFrame(render, frame, requestBytes, &replyBytes); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } -} -/** -* @tc.name AudioRenderGetRenderPosition_001 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_002 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after Pause and resume during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - usleep(1000); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - FrameStatus(1); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_003 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after stop -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_003, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_004 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_005 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(renderNull, &frames, &time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_006 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter frames is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_006, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *framesNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, framesNull, &time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_007 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter time is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_007, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp *timeNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, timeNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_008 - * @tc.desc Test AudioRenderGetRenderPosition interface, return 0 if the GetRenderPosition was called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_008, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_001 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully -* @tc.type: FUNC -*/ - -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_001, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - struct AudioSampleAttributes attrs = {}; - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - InitAttrs(attrs); - attrs.startThreshold = 0; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_002 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessfully when setting the - incoming parameter reqSize is bigger than the size of actual audio file -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_002, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = reqSize + BUFFER_LENTH; - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - fclose(fp); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_003 -* @tc.desc Test ReqMmapBuffer interface,return 0 if call ReqMmapBuffer interface successfully when setting the - incoming parameter reqSize is smaller than the size of actual audio file -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_003, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = reqSize / 2; - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - fclose(fp); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_003 -* @tc.desc Test ReqMmapBuffer interface,return -1 if call ReqMmapBuffer interface unsuccessfully when setting the - incoming parameter reqSize is zero -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_004, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - ASSERT_NE(nullptr, manager); - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - reqSize = 0; - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - fclose(fp); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_003 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessfully when setting the - incoming parameter memoryFd of desc is illegal -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_005, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - desc.memoryFd = -1; // -1 is invalid fd - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - fclose(fp); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_005 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessfully when setting the - incoming parameter handle is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_006, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - struct AudioAdapter *adapter = nullptr; - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)renderNull, reqSize, &desc); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - fclose(fp); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderReqMmapBuffer_006 -* @tc.desc Test ReqMmapBuffer interface,return -3 if call ReqMmapBuffer interface unsuccessfully when setting the - incoming parameter desc is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderReqMmapBuffer_007, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct AudioMmapBufferDescriptor *descNull = nullptr; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - ASSERT_NE(fp, nullptr); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - if (ret < 0 || render == nullptr) { - fclose(fp); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, render); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->control.Start((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.ReqMmapBuffer((AudioHandle)render, reqSize, descNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - fclose(fp); - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_001 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetMmapPosition_001, TestSize.Level1) -{ - uint64_t frames = 0; - uint64_t framesRendering = 0; - uint64_t framesexpRender = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - int32_t ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - InitAttrs(audiopara.attrs); - audiopara.attrs.startThreshold = 0; - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayMapAudioFile, &audiopara); - if (ret != 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - sleep(1); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &framesRendering, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(framesRendering, INITIAL_VALUE); - int64_t timeExprendering = (audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec); - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &framesexpRender, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GE((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExprendering); - EXPECT_GE(framesexpRender, framesRendering); - audiopara.render->control.Stop((AudioHandle)audiopara.render); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_003 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetMmapPosition_003, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t *frames = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_004 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetMmapPosition_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - struct AudioTimeStamp *time = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &frames, time); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -/** -* @tc.name AudioRenderGetMmapPosition_005 -* @tc.desc Test GetMmapPosition interface,return -3 if Error in incoming parameter. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetMmapPosition_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - struct AudioRender *renderNull = nullptr; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.render); - } - - ret = audiopara.render->attr.GetMmapPosition(renderNull, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); -} -} diff --git a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_volume_test.cpp b/audio/test/systemtest/hdi/common/render/src/audio_hdirender_volume_test.cpp deleted file mode 100644 index 7892724507d7e0d65a8a53c2bb745b732ebd639f..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/common/render/src/audio_hdirender_volume_test.cpp +++ /dev/null @@ -1,694 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_volume_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderVolumeTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiRenderVolumeTest::manager = nullptr; - -void AudioHdiRenderVolumeTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderVolumeTest::TearDownTestCase(void) {} - -void AudioHdiRenderVolumeTest::SetUp(void) {} -void AudioHdiRenderVolumeTest::TearDown(void) {} - -/** - * @tc.name AudioRenderGetGainThreshold_001 - * @tc.desc Test RenderGetGainThreshold interface,return 0 if the GetGainThreshold is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGainThreshold_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#ifndef ALSA_LIB_MODE - EXPECT_EQ(min, GAIN_MIN); - EXPECT_EQ(max, GAIN_MAX); -#endif - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGainThreshold_002 - * @tc.desc Test RenderGetGainThreshold interface, return -1 if set render to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGainThreshold_002, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetGainThreshold((AudioHandle)renderNull, &min, &max); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGainThreshold_003 - * @tc.desc Test RenderGetGainThreshold interface, return -1 if set min to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGainThreshold_003, TestSize.Level1) -{ - int32_t ret = -1; - float max = 0; - float *minNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetGainThreshold((AudioHandle)render, minNull, &max); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGainThreshold_004 - * @tc.desc Test RenderGetGainThreshold interface, return -1 if set max to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGainThreshold_004, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float *maxNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGainThreshold(render, &min, maxNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetGain_001 - * @tc.desc Test RenderSetGain interface,return 0 if Set gain to normal value, maximum or minimum and get success - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float gain = 10.8; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -#ifdef ALSA_LIB_MODE - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#else - float min = 0; - float max = 0; - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - float gainMax = max; - float gainMin = min; - float gainExpc = 10; - float gainMaxExpc = max; - float gainMinExpc = min; - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainExpc, gain); - - ret = render->volume.SetGain(render, gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gainMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMaxExpc, gainMax); - - ret = render->volume.SetGain(render, gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gainMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainMinExpc, gainMin); -#endif - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -#ifndef ALSA_LIB_MODE -/** - * @tc.name AudioRenderSetGain_002 - * @tc.desc Test RenderSetGain interface,return -1 if Set gain to exceed the boundary value - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetGain_002, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gainOne = max + 1; - float gainSec = min - 1; - ret = render->volume.SetGain(render, gainOne); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - ret = render->volume.SetGain(render, gainSec); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetGain_003 - * @tc.desc Test RenderSetGain interface,return -1 if set gain to exception type - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetGain_003, TestSize.Level1) -{ - int32_t ret = -1; - char gain = 'a'; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -#endif -/** - * @tc.name AudioRenderSetGain_004 - * @tc.desc Test RenderSetGain interface, return -1 if set render to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetGain_004, TestSize.Level1) -{ - int32_t ret = -1; - float gain = 1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetGain((AudioHandle)renderNull, gain); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGain_001 - * @tc.desc Test RenderGetGain interface,return 0 if the RenderGetGain was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGain_001, TestSize.Level1) -{ - int32_t ret = -1; - float min = 0; - float max = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGainThreshold((AudioHandle)render, &min, &max); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - float gain = min + 1; - float gainValue = min + 1; - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gainValue, gain); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGain_002 - * @tc.desc Test RenderGetGain interface, return -1 if get gain set render to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGain_002, TestSize.Level1) -{ - int32_t ret = -1; - float gain = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetGain((AudioHandle)renderNull, &gain); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGain_003 - * @tc.desc Test RenderGetGainThreshold interface, return 0 if get gain before start successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGain_003, TestSize.Level1) -{ - int32_t ret = -1; - float gain = GAIN_MAX - 1; - float gainOne = GAIN_MAX - 1; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetGain(render, gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain(render, &gain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(gain, gainOne); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetGain_004 - * @tc.desc Test RenderGetGain interface, return -1 if get gain set gain to nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetGain_004, TestSize.Level1) -{ - int32_t ret = -1; - float *gainNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetGain((AudioHandle)render, gainNull); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetMute_001 -* @tc.desc Test AudioRenderSetMute interface , return 0 if the audiorender object sets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteFalse = false; - bool muteTrue = true; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetMute(render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(false, muteFalse); - - ret = render->volume.SetMute(render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteTrue); - - muteTrue = false; - ret = render->volume.SetMute(render, muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteTrue); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetMute_002 -* @tc.desc Test AudioRenderSetMute interface, return -1 if the incoming parameter render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetMute_002, TestSize.Level1) -{ - int32_t ret = -1; - bool mute = true; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.SetMute(renderNull, mute); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetMute_003 -* @tc.desc Test AudioRenderSetMute interface and set the parameter mutevalue with 2. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetMute_003, TestSize.Level1) -{ - int32_t ret = -1; - bool muteValue = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetMute(render, muteValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(render, &muteValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(true, muteValue); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetMute_001 -* @tc.desc Test AudioRenderGetMute interface , return 0 if the audiocapture gets mute successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; -#ifdef ALSA_LIB_MODE - bool defaultmute = false; -#else - bool defaultmute = true; -#endif - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetMute(render, &muteTrue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(muteTrue, defaultmute); - - ret = render->volume.SetMute(render, muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.GetMute(render, &muteFalse); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(muteFalse); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetMute_002 -* @tc.desc Test AudioRenderGetMute interface, return -1 if the incoming parameter render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetMute_002, TestSize.Level1) -{ - int32_t ret = -1; - bool muteTrue = true; - bool muteFalse = false; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetMute(renderNull, &muteTrue); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->volume.GetMute(renderNull, &muteFalse); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->volume.GetMute(render, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetVolume_001 -* @tc.desc Test AudioRenderSetVolume interface , return 0 if the audiocapture sets volume successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeInit = 0.20; - float volumeInitExpc = 0.20; - float volumeLow = 0.10; - float volumeLowExpc = 0.10; - float volumeMid = 0.50; - float volumeMidExpc = 0.50; - float volumeHigh = 0.80; - float volumeHighExpc = 0.80; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetVolume(render, volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeInit); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeInitExpc, volumeInit); - ret = render->volume.SetVolume(render, volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeLow); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeLowExpc, volumeLow); - ret = render->volume.SetVolume(render, volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeMid); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMidExpc, volumeMid); - ret = render->volume.SetVolume(render, volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeHigh); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, volumeHigh); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetVolume_002 -* @tc.desc Test AudioRenderSetVolume,return 0 if volume is set maximum value or minimum value. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetVolume_002, TestSize.Level1) -{ - int32_t ret = -1; - float volumeMin = 0; - float volumeMinExpc = 0; - float volumeMax = 1.0; - float volumeMaxExpc = 1.0; - float volumeMinBoundary = -1; - float volumeMaxBoundary = 1.01; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.SetVolume(render, volumeMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeMin); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMinExpc, volumeMin); - - ret = render->volume.SetVolume(render, volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volumeMax); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeMaxExpc, volumeMax); - - ret = render->volume.SetVolume(render, volumeMinBoundary); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - ret = render->volume.SetVolume(render, volumeMaxBoundary); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSetVolume_003 -* @tc.desc Test AudioRenderSetVolume,return -1 when incoming parameter render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderSetVolume_003, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.SetVolume(renderNull, volume); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetVolume_001 -* @tc.desc Test AudioRenderGetVolume interface , return 0 if the audiocapture is get successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetVolume_001, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.30; - float volumeDefault = 0.30; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetVolume(render, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeDefault, volume); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetVolume_002. -* @tc.desc Test AudioRenderGetVolume,return 0 when when capturing is in progress. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetVolume_002, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.30; - float defaultVolume = 0.30; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateStartRender(manager, &render, &adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->volume.SetVolume(render, volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(render, &volume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(defaultVolume, volume); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetVolume_003 -* @tc.desc Test AudioRenderGetVolume,return -1 when incoming parameter render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderVolumeTest, AudioRenderGetVolume_003, TestSize.Level1) -{ - int32_t ret = -1; - float volume = 0.3; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->volume.GetVolume(renderNull, &volume); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi/hardwaredependence/BUILD.gn b/audio/test/systemtest/hdi/hardwaredependence/BUILD.gn deleted file mode 100644 index 7d0fab88674fdf40d9be4b231c6ba03e3e671565..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hardwaredependence/BUILD.gn +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - import("./../../../../audio.gni") -} - -group("hdi_hardwaredependence") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "capture:hdf_audio_hdi_capture_hardware_dependence_test", - "render:hdf_audio_hdi_render_hardware_dependence_test", - ] -} diff --git a/audio/test/systemtest/hdi/hardwaredependence/capture/BUILD.gn b/audio/test/systemtest/hdi/hardwaredependence/capture/BUILD.gn deleted file mode 100644 index 14f1a298f6e0d4783fd979f85db58de428e74425..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hardwaredependence/capture/BUILD.gn +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_capture_hardware_dependence_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_capture_hardware_dependence_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_test_path/common/hdi_common/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp b/audio/test/systemtest/hdi/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp deleted file mode 100644 index 101c4adf2c5d6e65998c8d6f8db88d338eaacea5..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp +++ /dev/null @@ -1,1015 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureHardwareDependenceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureHardwareDependenceTest::manager = nullptr; - -void AudioHdiCaptureHardwareDependenceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureHardwareDependenceTest::TearDownTestCase(void) {} - -void AudioHdiCaptureHardwareDependenceTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} -void AudioHdiCaptureHardwareDependenceTest::TearDown(void) -{ - int32_t ret = ReleaseCaptureSource(manager, adapter, capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioCaptureSetSampleAttributes_001 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, SAMPLE_RATE_8000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_002 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = SAMPLE_RATE_11025; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_11025); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_11025, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_003 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_22050; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 1, SAMPLE_RATE_22050); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_22050, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_004 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = SAMPLE_RATE_32000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_005 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_44100; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_006 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_COMMUNICATION; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = SAMPLE_RATE_48000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_007 -* @tc.desc Test AudioCaptureSetSampleAttributes interface, return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = capture->attr.SetSampleAttributes(captureNull, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = capture->attr.SetSampleAttributes(capture, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_008 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_12000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_12000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_12000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_009 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = SAMPLE_RATE_16000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_009, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_16000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_16000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_010 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_24000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_010, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_24000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_24000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_011 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_64000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_011, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_64000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_64000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_012 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = SAMPLE_RATE_96000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_012, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, 1, SAMPLE_RATE_96000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_96000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureSetSampleAttributes_013 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_PCM_16; -* attrs.sampleRate = 0xFFFFFFFFu; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_013, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, 0xFFFFFFFFu); - - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_014 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_PCM_8/32_BIT/AAC_MAIN; -* attrs.sampleRate = SAMPLE_RATE_8000/SAMPLE_RATE_11025/BROADCAST_FM_RATE; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_014, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - struct AudioSampleAttributes attrs3 = {}; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_PCM_8_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - ret = capture->attr.SetSampleAttributes(capture, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_PCM_32_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_11025); - ret = capture->attr.SetSampleAttributes(capture, &attrs2); -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#endif - InitAttrsUpdate(attrs3, AUDIO_FORMAT_TYPE_AAC_MAIN, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_22050); - ret = capture->attr.SetSampleAttributes(capture, &attrs3); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_015 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_AAC_LC/LD/ELD; -* attrs.sampleRate = SAMPLE_RATE_32000/SAMPLE_RATE_44100/SAMPLE_RATE_48000; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_015, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - struct AudioSampleAttributes attrs3 = {}; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_AAC_LC, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - ret = capture->attr.SetSampleAttributes(capture, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_AAC_LD, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - ret = capture->attr.SetSampleAttributes(capture, &attrs2); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs3, AUDIO_FORMAT_TYPE_AAC_ELD, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - ret = capture->attr.SetSampleAttributes(capture, &attrs3); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_016 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_AAC_HE_V1/V2 -* attrs.sampleRate = SAMPLE_RATE_8000/SAMPLE_RATE_44100; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_016, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_AAC_HE_V1, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - ret = capture->attr.SetSampleAttributes(capture, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_AAC_HE_V2, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - ret = capture->attr.SetSampleAttributes(capture, &attrs2); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_017 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT -* attrs.sampleRate = SAMPLE_RATE_8000; -* attrs.channelCount = 5; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_017, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 5, SAMPLE_RATE_8000); - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -#ifndef ALSA_LIB_MODE -/** -* @tc.name AudioCaptureSetSampleAttributes_018 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT -* attrs.sampleRate = SAMPLE_RATE_8000; -* attrs.channelCount = 2; -* silenceThreshold = 32*1024 "the value of silenceThreshold is greater than requested"; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_018, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - int32_t silenceThreshold = 32*1024; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000, silenceThreshold); - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioCaptureSetSampleAttributes_019 -* @tc.desc Test AudioCaptureSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT -* attrs.sampleRate = SAMPLE_RATE_8000; -* attrs.channelCount = 2; -* silenceThreshold = 2*1024 "the value of silenceThreshold is less than requested"; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureSetSampleAttributes_019, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - int32_t silenceThreshold = 2*1024; - ASSERT_NE(nullptr, capture); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000, silenceThreshold); - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -#endif -/** -* @tc.name AudioCaptureGetSampleAttributes_001 -* @tc.desc Test AudioCaptureGetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = SAMPLE_RATE_8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioCaptureGetSampleAttributes_002 -* @tc.desc Test AudioCaptureGetSampleAttributes interface, return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetSampleAttributes_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = capture->attr.GetSampleAttributes(captureNull, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = capture->attr.GetSampleAttributes(capture, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** - * @tc.name AudioCaptureGetFrameSize_004 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameSize_005 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioCaptureGetFrameSize_006 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_006, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameSize_007 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_007, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioCaptureGetFrameCount_005 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetFrameCount_006 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_006, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameCount_007 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define channelCount to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_007, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetFrameCount_008 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_008, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#endif -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetCurrentChannelId_002 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); -} -#endif -/** - * @tc.name AudioCaptureGetCapturePosition_009 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize - * define format to AUDIO_FORMAT_TYPE_PCM_16_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_009, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, capture); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = 2; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetCapturePosition_010 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize - * define format to AUDIO_FORMAT_TYPE_PCM_24_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_010, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, capture); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = 2; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetCapturePosition_011 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_011, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, capture); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = 1; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); -} -/** - * @tc.name AudioCaptureGetCapturePosition_012 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize define channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_012, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, capture); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = 1; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); -} -/** -* @tc.name AudioCaptureGetMmapPosition_002 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetMmapPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .capture = capture, .path = AUDIO_LOW_LATENCY_CAPTURE_FILE.c_str() - }; - ASSERT_NE(nullptr, audiopara.capture); - InitAttrs(audiopara.attrs); - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - audiopara.attrs.channelCount = 1; - ret = audiopara.capture->attr.SetSampleAttributes(audiopara.capture, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)RecordMapAudio, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - - ret = audiopara.capture->control.Stop((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#endif -} diff --git a/audio/test/systemtest/hdi/hardwaredependence/render/BUILD.gn b/audio/test/systemtest/hdi/hardwaredependence/render/BUILD.gn deleted file mode 100644 index 1653e75621c4b94f229d6802b375d408ad7a2bca..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hardwaredependence/render/BUILD.gn +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_hardware_dependence_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hardwaredependence/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_hardware_dependence_test") { - module_out_path = module_output_path - resource_config_file = "$hdf_audio_path/test/resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_test_path/common/hdi_common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (defined(drivers_peripheral_audio_feature_alsa_lib) && - drivers_peripheral_audio_feature_alsa_lib == true) { - defines += [ "ALSA_LIB_MODE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp b/audio/test/systemtest/hdi/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp deleted file mode 100644 index c15a3c98529853738c6ec71678566816ae15f16d..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp +++ /dev/null @@ -1,1152 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderHardwareDependenceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderHardwareDependenceTest::manager = nullptr; - -void AudioHdiRenderHardwareDependenceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderHardwareDependenceTest::TearDownTestCase(void) {} -void AudioHdiRenderHardwareDependenceTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} -void AudioHdiRenderHardwareDependenceTest::TearDown(void) -{ - int32_t ret = ReleaseRenderSource(manager, adapter, render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderSetSampleAttributes_001 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = AUDIO_SAMPLE_RATE_MASK_8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = render->attr.SetSampleAttributes(render, &attrs); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - struct AudioSampleAttributes attrsValue = {}; - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioRenderSetSampleAttributes_002 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = 11025; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_11025); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_11025, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_003 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 22050; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_003, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_22050); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_22050, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_004 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = 32000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_004, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_005 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 44100; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_COMMUNICATION; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = 48000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_006, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_007 -* @tc.desc Test AudioRenderSetSampleAttributes interface, return -1 if the render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_007, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *renderNull = nullptr; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = render->attr.SetSampleAttributes(renderNull, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = render->attr.SetSampleAttributes(render, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** -* @tc.name AudioRenderSetSampleAttributes_008 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 12000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_008, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_12000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_12000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioRenderSetSampleAttributes_009 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = 16000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_009, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_16000); - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_16000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioRenderSetSampleAttributes_010 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 24000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_010, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_24000); - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_24000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_011 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 64000; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_011, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_64000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_64000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); -} -/** -* @tc.name AudioRenderSetSampleAttributes_012 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; -* attrs.sampleRate = 96000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_012, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_96000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_96000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioRenderSetSampleAttributes_013 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 0xFFFFFFFFu; -* attrs.channelCount = 2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_013, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 2, 0xFFFFFFFFu); - - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); -} -/** -* @tc.name AudioRenderSetSampleAttributes_014 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_PCM_8/32_BIT/AAC_MAIN; -* attrs.sampleRate = 8000/11025/22050; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_014, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - struct AudioSampleAttributes attrs3 = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_PCM_8_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - ret = render->attr.SetSampleAttributes(render, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_PCM_32_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_11025); - ret = render->attr.SetSampleAttributes(render, &attrs2); -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#endif - InitAttrsUpdate(attrs3, AUDIO_FORMAT_TYPE_AAC_MAIN, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_22050); - ret = render->attr.SetSampleAttributes(render, &attrs3); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioRenderSetSampleAttributes_015 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_AAC_LC/LD/ELD; -* attrs.sampleRate = 32000/44100/48000; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_015, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - struct AudioSampleAttributes attrs3 = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_AAC_LC, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - ret = render->attr.SetSampleAttributes(render, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_AAC_LD, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - ret = render->attr.SetSampleAttributes(render, &attrs2); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs3, AUDIO_FORMAT_TYPE_AAC_ELD, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - ret = render->attr.SetSampleAttributes(render, &attrs3); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioRenderSetSampleAttributes_016 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_AAC_HE_V1/V2 -* attrs.sampleRate = 8000/44100; -* attrs.channelCount = 1/2; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_016, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs1 = {}; - struct AudioSampleAttributes attrs2 = {}; - ASSERT_NE(nullptr, render); - - InitAttrsUpdate(attrs1, AUDIO_FORMAT_TYPE_AAC_HE_V1, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - ret = render->attr.SetSampleAttributes(render, &attrs1); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); - - InitAttrsUpdate(attrs2, AUDIO_FORMAT_TYPE_AAC_HE_V2, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - ret = render->attr.SetSampleAttributes(render, &attrs2); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioRenderSetSampleAttributes_017 -* @tc.desc Test AudioRenderSetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT -* attrs.sampleRate = 8000; -* attrs.channelCount = 5; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetSampleAttributes_017, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - ASSERT_NE(nullptr, render); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, 5, SAMPLE_RATE_8000); - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} -/** -* @tc.name AudioRenderGetSampleAttributes_001 -* @tc.desc Test AudioRenderGetSampleAttributes ,the setting parameters are as follows. -* attrs.type = AUDIO_IN_MEDIA; -* attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; -* attrs.sampleRate = 8000; -* attrs.channelCount = 1; -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetSampleAttributes_001, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); -#endif -} -/** -* @tc.name AudioRenderGetSampleAttributes_002 -* @tc.desc Test AudioRendereGetSampleAttributes interface, return -1 if the render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetSampleAttributes_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *renderNull = nullptr; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes *attrsValue = nullptr; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = render->attr.GetSampleAttributes(renderNull, &attrs); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = render->attr.GetSampleAttributes(render, attrsValue); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** - * @tc.name AudioRenderGetFrameSize_004 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameSize_005 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioRenderGetFrameSize_006 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_006, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameSize_007 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_007, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioRenderGetFrameCount_004 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_004, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** - * @tc.name AudioRenderGetFrameCount_005 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_005, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameCount_006 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define channelCount to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_006, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - render->control.Stop((AudioHandle)render); -} -/** - * @tc.name AudioRenderGetFrameCount_007 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_007, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - render->control.Stop((AudioHandle)render); -} -#endif -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetCurrentChannelId_002 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - uint32_t channelCountExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelCountExp, attrs.channelCount); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); -} -#endif -/** - * @tc.name AudioRenderGetRenderPosition_009 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define format to AUDIO_FORMAT_TYPE_PCM_16_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_009, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = DOUBLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - render->control.Stop((AudioHandle)render); -} -#ifndef ALSA_LIB_MODE -/** - * @tc.name AudioRenderGetRenderPosition_010 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define format to AUDIO_FORMAT_TYPE_PCM_24_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_010, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = DOUBLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - render->control.Stop((AudioHandle)render); -} -#endif -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetRenderPosition_011 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_011, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = SINGLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - render->control.Stop((AudioHandle)render); -} -/** - * @tc.name AudioRenderGetRenderPosition_012 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_012, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = SINGLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - render->control.Stop((AudioHandle)render); -} -/** -* @tc.name AudioRenderGetMmapPosition_002 -* @tc.desc Test GetMmapPosition interface,return 0 if Getting position successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetMmapPosition_002, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - ASSERT_NE(render, nullptr); - struct PrepareAudioPara audiopara = { - .render = render, .path = LOW_LATENCY_AUDIO_FILE.c_str() - }; - InitAttrs(audiopara.attrs); - audiopara.attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - audiopara.attrs.channelCount = SINGLE_CHANNEL_COUNT; - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &(audiopara.attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayMapAudioFile, &audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - void *result = nullptr; - pthread_join(audiopara.tids, &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &frames, &(audiopara.time)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - audiopara.render->control.Stop((AudioHandle)audiopara.render); -} -#endif -/** - * @tc.name AudioRenderSetChannelMode_001 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode to different enumeration values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetChannelMode_001, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -#ifndef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - AudioChannelMode modeOne = AUDIO_CHANNEL_BOTH_LEFT; - AudioChannelMode modeSec = AUDIO_CHANNEL_BOTH_RIGHT; - AudioChannelMode modeTrd = AUDIO_CHANNEL_EXCHANGE; - ret = render->SetChannelMode(render, modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_LEFT, modeOne); - ret = render->SetChannelMode(render, modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeSec); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_RIGHT, modeSec); - ret = render->SetChannelMode(render, modeTrd); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(HDF_FAILURE, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeTrd); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_EXCHANGE, modeTrd); -#endif -#endif - render->control.Stop((AudioHandle)render); -} -#ifndef ALSA_LIB_MODE -/** - * @tc.name AudioRenderSetChannelMode_002 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetChannelMode_002, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_MIX; - AudioChannelMode modeOne = AUDIO_CHANNEL_LEFT_MUTE; - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(HDF_FAILURE, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_MIX, mode); -#endif - ret = render->SetChannelMode(render, modeOne); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(HDF_FAILURE, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_LEFT_MUTE, modeOne); -#endif - render->control.Stop((AudioHandle)render); -} -/** - * @tc.name AudioRenderSetChannelMode_003 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetChannelMode_003, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_RIGHT_MUTE; - AudioChannelMode modeOne = AUDIO_CHANNEL_BOTH_MUTE; - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(HDF_FAILURE, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_RIGHT_MUTE, mode); -#endif - ret = render->SetChannelMode(render, modeOne); -#ifdef PRODUCT_RK3568 - EXPECT_EQ(HDF_FAILURE, ret); -#else - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &modeOne); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_BOTH_MUTE, modeOne); -#endif - render->control.Stop((AudioHandle)render); -} -#endif -/** - * @tc.name AudioRenderSetChannelMode_004 - * @tc.desc Test SetChannelMode interface,return 0 if set channel mode after render object is created -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetChannelMode_004, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); -} -/** - * @tc.name AudioRenderSetChannelMode_005 - * @tc.desc Test SetChannelMode interface,return -1 if set the parameter render is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderSetChannelMode_005, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *renderNull = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, render); - - ret = render->SetChannelMode(renderNull, mode); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} -/** - * @tc.name AudioRenderGetChannelMode_001 - * @tc.desc Test GetChannelMode interface,return 0 if getting the channel mode after setting -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetChannelMode_001, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->SetChannelMode(render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - - render->control.Stop((AudioHandle)render); -} -/** - * @tc.name AudioRenderGetChannelMode_002 - * @tc.desc Test GetChannelMode interface,return -1 if getting the parameter render is nullptr -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetChannelMode_002, TestSize.Level1) -{ - int32_t ret = -1; - struct AudioRender *renderNull = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - - ASSERT_NE(nullptr, render); - ret = AudioRenderStartAndOneFrame(render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = render->GetChannelMode(renderNull, &mode); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); -} -/** - * @tc.name AudioRenderGetChannelMode_003 - * @tc.desc Test GetChannelMode interface,return 0 if getting the channel mode after the object is created -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetChannelMode_003, TestSize.Level1) -{ - int32_t ret = -1; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - ASSERT_NE(nullptr, render); - ret = render->GetChannelMode(render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); -} -} \ No newline at end of file diff --git a/audio/test/systemtest/hdi/hdiperformace/BUILD.gn b/audio/test/systemtest/hdi/hdiperformace/BUILD.gn deleted file mode 100644 index dc2b72d0e7eb9389d5e257891e2bea4d61b70a22..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdiperformace/BUILD.gn +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_performace_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_performace_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path//hdi/hdiperformace/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - - moduletest("hdf_audio_hdi_capture_performace_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_performace_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdiperformace/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_performace_test") { - module_out_path = module_output_path - resource_config_file = "./../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_performace_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdiperformace/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_capture_performace_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_performace_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdiperformace/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} -group("hdi_performace") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - ":hdf_audio_hdi_capture_performace_test", - ":hdf_audio_hdi_render_performace_test", - ] -} diff --git a/audio/test/systemtest/hdi/hdiperformace/include/audio_hdicapture_performace_test.h b/audio/test/systemtest/hdi/hdiperformace/include/audio_hdicapture_performace_test.h deleted file mode 100644 index a8a47f5c1ee16bdc3e8f024544110b6173dd2c4b..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdiperformace/include/audio_hdicapture_performace_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_PERFORMACE_TEST_H -#define AUDIO_HDICAPTURE_PERFORMACE_TEST_H -#include -#endif diff --git a/audio/test/systemtest/hdi/hdiperformace/include/audio_hdirender_performace_test.h b/audio/test/systemtest/hdi/hdiperformace/include/audio_hdirender_performace_test.h deleted file mode 100644 index 4d7b5435f63db5fc84e5606292d431f24488135e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdiperformace/include/audio_hdirender_performace_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_PERFORMACE_TEST_H -#define AUDIO_HDIRENDER_PERFORMACE_TEST_H -#include -#endif diff --git a/audio/test/systemtest/hdi/hdiperformace/src/audio_hdicapture_performace_test.cpp b/audio/test/systemtest/hdi/hdiperformace/src/audio_hdicapture_performace_test.cpp deleted file mode 100644 index d707a34b6866932d5ee67d71d7973d9b9ed00589..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdiperformace/src/audio_hdicapture_performace_test.cpp +++ /dev/null @@ -1,1047 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio recording interface delayTime. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio delayTime. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdicapture_performace_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const float COUNT = 1000; -const int32_t LOWLATENCY = 10000; -const int32_t NORMALLATENCY = 30000; -const int32_t HIGHLATENCY = 60000; -const int BUFFER = 1024 * 4; - -class AudioHdiCapturePerformaceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiCapturePerformaceTest::manager = nullptr; - -void AudioHdiCapturePerformaceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCapturePerformaceTest::TearDownTestCase(void) {} - -void AudioHdiCapturePerformaceTest::SetUp(void) {} - -void AudioHdiCapturePerformaceTest::TearDown(void) {} - -/** -* @tc.name AudioCreateCapturePerformance_001 -* @tc.devDesc tests the performance of AudioCreateCapture interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCreateCapturePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - InitDevDesc(audiopara.devDesc, audiopara.audioPort->portId, audiopara.pins); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->CreateCapture(audiopara.adapter, &audiopara.devDesc, &audiopara.attrs, - &audiopara.capture); - gettimeofday(&audiopara.end, NULL); - if (ret < 0 || audiopara.capture == nullptr) { - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.capture = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(HIGHLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioDestroyCapturePerformance_001 -* @tc.devDesc tests the performance of AudioDestroyCapture interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioDestroyCapturePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioCaptureStartPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureStart interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureStartPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} -/** -* @tc.name AudioCapturePausePerformance_001 -* @tc.devDesc tests the performance of AudioCapturePause interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCapturePausePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->control.Pause((AudioHandle)audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Resume((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioCaptureResumePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureResume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureResumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - ret = audiopara.capture->control.Pause((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->control.Resume((AudioHandle)audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioCaptureStopPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureStop interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureStopPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->control.Stop((AudioHandle)audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioCaptureSetSampleAttributesPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureSetSampleAttributes interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSetSampleAttributesPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.SetSampleAttributes(audiopara.capture, &audiopara.attrs); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} -/** -* @tc.name AudioCaptureCaptureFramePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureCaptureFrame interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureCaptureFramePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0, - .requestBytes = BUFFER_LENTH - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - audiopara.frame = (char *)calloc(1, BUFFER_LENTH); - ASSERT_NE(nullptr, audiopara.frame); - for (int i = 0; i < COUNT; ++i) { - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, &(audiopara.adapter), - audiopara.audioPort); - if (ret < 0 || audiopara.adapter == nullptr) { - free(audiopara.frame); - audiopara.frame = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - InitAttrs(audiopara.attrs); - audiopara.attrs.silenceThreshold = BUFFER; - InitDevDesc(audiopara.devDesc, audiopara.audioPort->portId, audiopara.pins); - ret = audiopara.adapter->CreateCapture(audiopara.adapter, &audiopara.devDesc, &audiopara.attrs, - &audiopara.capture); - if (ret < 0) { - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - free(audiopara.frame); - audiopara.frame = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->CaptureFrame(audiopara.capture, audiopara.frame, audiopara.requestBytes, - &audiopara.replyBytes); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(NORMALLATENCY, audiopara.averageDelayTime); - free(audiopara.frame); - audiopara.frame = nullptr; -} -/** -* @tc.name AudioCaptureGetSampleAttributesPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetSampleAttributes interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetSampleAttributesPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - ret = audiopara.capture->attr.SetSampleAttributes(audiopara.capture, &audiopara.attrs); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetSampleAttributes(audiopara.capture, &audiopara.attrsValue); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureSetMutePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureSetMute interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSetMutePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.SetMute(audiopara.capture, false); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.capture->volume.GetMute(audiopara.capture, &audiopara.character.getmute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(audiopara.character.getmute); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetMutePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetMute interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetMutePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.SetMute(audiopara.capture, false); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.GetMute(audiopara.capture, &audiopara.character.getmute); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(audiopara.character.getmute); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureSetVolumePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureSetVolume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSetVolumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0, - .character.setvolume = 0.7 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.SetVolume(audiopara.capture, audiopara.character.setvolume); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.GetVolume(audiopara.capture, &audiopara.character.getvolume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setvolume, audiopara.character.getvolume); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetVolumePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetVolume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetVolumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0, - .character.setvolume = 0.8 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.SetVolume(audiopara.capture, audiopara.character.setvolume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.GetVolume(audiopara.capture, &audiopara.character.getvolume); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setvolume, audiopara.character.getvolume); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetGainPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetGain interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetGainPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0, - .character.setgain = 7 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.SetGain(audiopara.capture, audiopara.character.setgain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.GetGain(audiopara.capture, &audiopara.character.getgain); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setgain, audiopara.character.getgain); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureSetGainPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureSetGain interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSetGainPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0, - .character.setgain = 8 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.SetGain(audiopara.capture, audiopara.character.setgain); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->volume.GetGain(audiopara.capture, &audiopara.character.getgain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setgain, audiopara.character.getgain); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetCurrentChannelIdPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetCurrentChannelId interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetCurrentChannelIdPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetCurrentChannelId(audiopara.capture, &audiopara.character.getcurrentchannelId); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetFrameCountPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetFrameCount interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetFrameCountPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetFrameCount(audiopara.capture, &audiopara.character.getframecount); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(INITIAL_VALUE, audiopara.character.getframecount); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureGetFrameSizePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetFrameSize interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetFrameSizePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetFrameSize(audiopara.capture, &audiopara.character.getframesize); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(audiopara.character.getframesize, INITIAL_VALUE); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureFlushPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureFlush interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureFlushPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->control.Flush((AudioHandle)audiopara.capture); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioCaptureGetGainThresholdPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetGainThreshold interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetGainThresholdPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->volume.GetGainThreshold(audiopara.capture, &audiopara.character.gainthresholdmin, - &audiopara.character.gainthresholdmax); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.gainthresholdmin, GAIN_MIN); - EXPECT_EQ(audiopara.character.gainthresholdmax, GAIN_MAX); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureCheckSceneCapabilityPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureCheckSceneCapability interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureCheckSceneCapabilityPerformance_001, - TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - struct AudioSceneDescriptor scenes = { .scene.id = 0, .desc.pins = PIN_IN_MIC }; - bool supported = false; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->scene.CheckSceneCapability(audiopara.capture, &scenes, &supported); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioCaptureSelectScenePerformance_001 -* @tc.devDesc tests the performance of AudioCaptureSelectScene interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSelectScenePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - struct AudioSceneDescriptor scenes = { .scene.id = 0, .desc.pins = PIN_IN_MIC }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->scene.SelectScene(audiopara.capture, &scenes); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.capture = nullptr; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioGetCapturePositionPerformance_001 -* @tc.devDesc tests the performance of AudioCaptureGetCapturePosition interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioGetCapturePositionPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->control.Start((AudioHandle)audiopara.capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->GetCapturePosition(audiopara.capture, &audiopara.character.getframes, &audiopara.time); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioCaptureSetExtraParamsPerformance_001 -* @tc.desc tests the performance of AudioCaptureSetExtraParams interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureSetExtraParamsPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateStartCapture(audiopara.manager, &audiopara.capture, &audiopara.adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.SetExtraParams((AudioHandle)audiopara.capture, keyValueList); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioCaptureGetExtraParamsPerformance_001 -* @tc.desc tests the performance of AudioCaptureGetExtraParams interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetExtraParamsPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - int32_t listLenth = 256; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = AudioCreateStartCapture(audiopara.manager, &audiopara.capture, &audiopara.adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.capture->attr.SetExtraParams((AudioHandle)audiopara.capture, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - char keyValueListValue[256] = {}; - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetExtraParams((AudioHandle)audiopara.capture, keyValueListValue, listLenth); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioCaptureGetMmapPositionPerformance_001 -* @tc.desc tests the performance of AudioCaptureGetMmapPosition interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiCapturePerformaceTest, AudioCaptureGetMmapPositionPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t frames = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateCapture(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.capture); - if (ret < 0 || audiopara.capture == nullptr) { - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ASSERT_EQ(nullptr, audiopara.capture); - } - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.capture->attr.GetMmapPosition(audiopara.capture, &frames, &(audiopara.time)); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.adapter->DestroyCapture(audiopara.adapter, audiopara.capture); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.capture = nullptr; - audiopara.adapter = nullptr; - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} -} diff --git a/audio/test/systemtest/hdi/hdiperformace/src/audio_hdirender_performace_test.cpp b/audio/test/systemtest/hdi/hdiperformace/src/audio_hdirender_performace_test.cpp deleted file mode 100644 index c41abc93552297d6ec3b3289d18ea66c34c4d308..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdiperformace/src/audio_hdirender_performace_test.cpp +++ /dev/null @@ -1,1542 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test the delayTime of audio playback interface. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio delayTime. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" -#include "audio_hdirender_performace_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const float COUNT = 1000; -const int32_t LOWLATENCY = 10000; -const int32_t NORMALLATENCY = 30000; -const int32_t HIGHLATENCY = 60000; - -class AudioHdiRenderPerformaceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiRenderPerformaceTest::manager = nullptr; - -void AudioHdiRenderPerformaceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderPerformaceTest::TearDownTestCase(void) {} - -void AudioHdiRenderPerformaceTest::SetUp(void) {} - -void AudioHdiRenderPerformaceTest::TearDown(void) {} - -/** -* @tc.name AudioManagerGetAllAdapterPerformance_001 -* @tc.desc tests the performance of AudioManagerGetAllAdapters interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioManagerGetAllAdaptersPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct PrepareAudioPara audiopara = { .totalTime = 0 }; - - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.manager->GetAllAdapters(audiopara.manager, &audiopara.descs, &size); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioManagerLoadAdapterPerformance_001 -* @tc.desc tests the performance of AudioManagerLoadAdapter interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioManagerLoadAdapterPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct PrepareAudioPara audiopara = { .totalTime = 0 }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = audiopara.manager->GetAllAdapters(audiopara.manager, &audiopara.descs, &size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.desc = &audiopara.descs[0]; - ASSERT_NE(nullptr, audiopara.desc); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.manager->LoadAdapter(audiopara.manager, audiopara.desc, &audiopara.adapter); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioManagerUnLoadAdapterPerformance_001 -* @tc.desc tests the performance of AudioManagerLoadAdapter interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioManagerUnLoadAdapterPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - int size = 0; - struct PrepareAudioPara audiopara = { .totalTime = 0 }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = audiopara.manager->GetAllAdapters(audiopara.manager, &audiopara.descs, &size); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.desc = &audiopara.descs[0]; - ASSERT_NE(nullptr, audiopara.desc); - - for (int i = 0; i < COUNT; ++i) { - ret = audiopara.manager->LoadAdapter(audiopara.manager, audiopara.desc, &audiopara.adapter); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - gettimeofday(&audiopara.end, NULL); - audiopara.adapter = nullptr; - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioManagerInitAllPortsPerformance_001 -* @tc.desc tests the performance of AudioInitAllPorts interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioManagerInitAllPortsPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->InitAllPorts(audiopara.adapter); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioGetPortCapabilityPerformance_001 -* @tc.desc tests the performance of AudioGetPortCapability interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioGetPortCapabilityPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.adapter->InitAllPorts(audiopara.adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->GetPortCapability(audiopara.adapter, audiopara.audioPort, &audiopara.capability); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioSetPassthroughModePerformance_001 -* @tc.desc tests the performance of AudioSetPassthroughMode interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioSetPassthroughModePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .mode = PORT_PASSTHROUGH_LPCM, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.adapter->InitAllPorts(audiopara.adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->SetPassthroughMode(audiopara.adapter, audiopara.audioPort, audiopara.mode); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.adapter->GetPassthroughMode(audiopara.adapter, audiopara.audioPort, &audiopara.mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, audiopara.mode); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioGetPassthroughModePerformance_001 -* @tc.desc tests the performance of AudioGetPassthroughMode interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioGetPassthroughModePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .mode = PORT_PASSTHROUGH_LPCM, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.adapter->InitAllPorts(audiopara.adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.adapter->SetPassthroughMode(audiopara.adapter, audiopara.audioPort, audiopara.mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->GetPassthroughMode(audiopara.adapter, audiopara.audioPort, &audiopara.mode); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, audiopara.mode); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioRenderGetLatencyPerformance_001 -* @tc.desc tests the performance of AudioRenderGetLatency interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetLatencyPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str(), .totalTime = 0 - }; - uint32_t latencyTimeExpc = 0; - uint32_t latencyTime = 0; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = PlayAudioFile(audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - if (audiopara.render != nullptr) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->GetLatency(audiopara.render, &latencyTime); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_LT(latencyTimeExpc, latencyTime); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioCreateRenderPerformance_001 -* @tc.desc tests the performance of AudioCreateRender interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioCreateRenderPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - InitDevDesc(audiopara.devDesc, audiopara.audioPort->portId, audiopara.pins); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.adapter->CreateRender(audiopara.adapter, &audiopara.devDesc, &audiopara.attrs, - &audiopara.render); - gettimeofday(&audiopara.end, NULL); - if (ret < 0 || audiopara.render == nullptr) { - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(HIGHLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioDestroyRenderPerformance_001 -* @tc.desc tests the performance of AudioDestroyRender interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioDestroyRenderPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = GetLoadAdapter(audiopara.manager, audiopara.portType, audiopara.adapterName, - &audiopara.adapter, audiopara.audioPort); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - InitDevDesc(audiopara.devDesc, audiopara.audioPort->portId, audiopara.pins); - for (int i = 0; i < COUNT; ++i) { - ret = audiopara.adapter->CreateRender(audiopara.adapter, &audiopara.devDesc, &audiopara.attrs, - &audiopara.render); - if (ret < 0 || audiopara.render == nullptr) { - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - gettimeofday(&audiopara.start, NULL); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - gettimeofday(&audiopara.end, NULL); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioRenderGetRenderPositionPerformance_001 -* @tc.desc tests the performance of AudioRenderGetRenderPosition interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetRenderPositionPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str(), .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = PlayAudioFile(audiopara); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - if (audiopara.render != nullptr) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->GetRenderPosition(audiopara.render, &audiopara.character.getframes, - &audiopara.time); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderSetRenderSpeedPerformance_001 -* @tc.desc tests the performance of AudioRenderSetRenderSpeed interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderSetRenderSpeedPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - float speedNormal = 30; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->SetRenderSpeed(audiopara.render, speedNormal); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - ret = audiopara.render->GetRenderSpeed(audiopara.render, &speedNormal); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderGetRenderSpeedPerformance_001 -* @tc.desc tests the performance of AudioRenderGetRenderSpeed interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetRenderSpeedPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - float speedValue = 30; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->GetRenderSpeed(audiopara.render, &speedValue); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderSetChannelModePerformance_001 -* @tc.desc tests the performance of AudioRenderSetChannelMode interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderSetChannelModePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - enum AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->SetChannelMode(audiopara.render, mode); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.render->GetChannelMode(audiopara.render, &mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderGetChannelModePerformance_001 -* @tc.desc tests the performance of AudioRenderGetChannelMode interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetChannelModePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - enum AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->SetChannelMode(audiopara.render, mode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->GetChannelMode(audiopara.render, &mode); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, mode); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderGetFrameCountPerformance_001 -* @tc.desc tests the performance of AudioRenderGetFrameCount interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetFrameCountPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetFrameCount(audiopara.render, &audiopara.character.getframecount); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderGetCurrentChannelIdPerformance_001 -* @tc.desc tests the performance of AudioRenderGetCurrentChannelId interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetCurrentChannelIdPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetCurrentChannelId(audiopara.render, &audiopara.character.getcurrentchannelId); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioRenderFlushPerformance_001 -* @tc.desc tests the performance of AudioRenderFlush interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderFlushPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->control.Flush((AudioHandle)audiopara.render); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioRenderGetFrameSizePerformance_001 -* @tc.desc tests the performance of AudioRenderGetFrameSize interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetFrameSizePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t zero = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetFrameSize(audiopara.render, &audiopara.character.getframesize); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT(audiopara.character.getframesize, zero); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.render->control.Stop((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - - -/** -* @tc.name AudioRenderCheckSceneCapabilityPerformance_001 -* @tc.desc tests the performance of AudioRenderCheckSceneCapability interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderCheckSceneCapabilityPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - struct AudioSceneDescriptor scenes = {.scene.id = 0, .desc.pins = PIN_OUT_SPEAKER}; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->scene.CheckSceneCapability(audiopara.render, &scenes, &audiopara.character.supported); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioRenderSelectScenePerformance_001 -* @tc.desc tests the performance of AudioRenderSelectScene interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderSelectScenePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - struct AudioSceneDescriptor scenes = {.scene.id = 0, .desc.pins = PIN_OUT_SPEAKER}; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->scene.SelectScene(audiopara.render, &scenes); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderSetMutePerformance_001 -* @tc.desc tests the performance of AudiorenderSetMute interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderSetMutePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.SetMute(audiopara.render, false); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.render->volume.GetMute(audiopara.render, &audiopara.character.getmute); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(audiopara.character.getmute); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderGetMutePerformance_001 -* @tc.desc tests the performance of AudiorenderGetMute interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderGetMutePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->volume.SetMute(audiopara.render, false); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.GetMute(audiopara.render, &audiopara.character.getmute); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_FALSE(audiopara.character.getmute); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderSetVolumePerformance_001 -* @tc.desc tests the performance of AudiorenderSetVolume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderSetVolumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .character.setvolume = 0.8, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.SetVolume(audiopara.render, audiopara.character.setvolume); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.render->volume.GetVolume(audiopara.render, &audiopara.character.getvolume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setvolume, audiopara.character.getvolume); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderGetVolumePerformance_001 -* @tc.desc tests the performance of AudiorenderGetVolume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderGetVolumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.GetVolume(audiopara.render, &audiopara.character.getvolume); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderGetGainThresholdPerformance_001 -* @tc.desc tests the performance of AudiorenderGetGainThreshold interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderGetGainThresholdPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.GetGainThreshold(audiopara.render, &audiopara.character.gainthresholdmin, - &audiopara.character.gainthresholdmax); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderGetGainPerformance_001 -* @tc.desc tests the performance of AudiorenderGetGain interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderGetGainPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.GetGain(audiopara.render, &audiopara.character.getgain); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudiorenderSetGainPerformance_001 -* @tc.desc tests the performance of AudiorenderSetGain interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudiorenderSetGainPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .character.setgain = 7, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->volume.SetGain(audiopara.render, audiopara.character.setgain); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = audiopara.render->volume.GetGain(audiopara.render, &audiopara.character.getgain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(audiopara.character.setgain, audiopara.character.getgain); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} - -/** -* @tc.name AudioRenderFramePerformance_001 -* @tc.desc tests the performance of AudioRenderFrame interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderFramePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str(), .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - if (ret < 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - ret = RenderFramePrepare(audiopara.path, audiopara.frame, audiopara.requestBytes); - if (ret < 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->RenderFrame(audiopara.render, audiopara.frame, audiopara.requestBytes, - &audiopara.replyBytes); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - if (audiopara.frame != nullptr) { - free(audiopara.frame); - audiopara.frame = nullptr; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(NORMALLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioRenderStartPerformance_001 -* @tc.desc tests the performance of AudioRenderStart interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderStartPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} -/** -* @tc.name AudioRenderStopPerformance_001 -* @tc.desc tests the performance of AudioRenderStop interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderStopPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - for (int i = 0; i < COUNT; ++i) { - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->control.Stop((AudioHandle)audiopara.render); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} -/** -* @tc.name AudioRenderSetSampleAttributesPerformance_001 -* @tc.desc tests the performance of AudioRenderSetSampleAttributes interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderSetSampleAttributesPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.SetSampleAttributes(audiopara.render, &audiopara.attrs); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} -/** -* @tc.name AudioRenderPausePerformance_001 -* @tc.desc tests the performance of AudioRenderPause interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderPausePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->control.Pause((AudioHandle)audiopara.render); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Resume((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioRenderResumePerformance_001 -* @tc.desc tests the performance of AudioRenderResume interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderResumePerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int i = 0; i < COUNT; ++i) { - ret = audiopara.render->control.Pause((AudioHandle)audiopara.render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->control.Resume((AudioHandle)audiopara.render); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetSampleAttributesPerformance_001 -* @tc.desc tests the performance of AudioRenderGetSampleAttributes interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetSampleAttributesPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - InitAttrs(audiopara.attrs); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetSampleAttributes(audiopara.render, &audiopara.attrs); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; -} -/** -* @tc.name AudioRenderReqMmapBufferPerformance_001 -* @tc.desc tests the performance of AudioRenderReqMmapBuffer interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderReqMmapBufferPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - bool isRender = true; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc = {}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_NE(nullptr, audiopara.render); - for (int i = 0; i < COUNT; ++i) { - FILE *fp = fopen(LOW_LATENCY_AUDIO_FILE.c_str(), "rb+"); - if (fp == nullptr) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - ASSERT_NE(nullptr, fp); - } - ret = InitMmapDesc(fp, desc, reqSize, isRender); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->control.Start((AudioHandle)audiopara.render); - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.ReqMmapBuffer((AudioHandle)audiopara.render, reqSize, &desc); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - if (ret == 0) { - munmap(desc.memoryAddress, reqSize); - } - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - audiopara.render->control.Stop((AudioHandle)audiopara.render); - fclose(fp); - usleep(500); - } - - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioRenderGetMmapPositionPerformance_001 -* @tc.desc tests the performance of AudioRenderRenderGetMmapPosition interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetMmapPositionPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t framesRendering = 0; - int64_t timeExp = 0; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = LOW_LATENCY_AUDIO_FILE.c_str(), .totalTime = 0 - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateRender(audiopara.manager, audiopara.pins, audiopara.adapterName, &audiopara.adapter, - &audiopara.render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = PlayMapAudioFile(audiopara); - if (ret != 0) { - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetMmapPosition(audiopara.render, &framesRendering, &(audiopara.time)); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_GT((audiopara.time.tvSec) * SECTONSEC + (audiopara.time.tvNSec), timeExp); - EXPECT_GT(framesRendering, INITIAL_VALUE); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - audiopara.adapter->DestroyRender(audiopara.adapter, audiopara.render); - audiopara.manager->UnloadAdapter(audiopara.manager, audiopara.adapter); - audiopara.render = nullptr; - audiopara.adapter = nullptr; - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioRenderSetExtraParamsPerformance_001 -* @tc.desc tests the performance of AudioRenderSetExtraParams interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderSetExtraParamsPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - ret = AudioCreateStartRender(audiopara.manager, &audiopara.render, &audiopara.adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.SetExtraParams((AudioHandle)audiopara.render, keyValueList); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} - -/** -* @tc.name AudioRenderGetExtraParamsPerformance_001 -* @tc.desc tests the performance of AudioRenderGetExtraParams interface by executing 1000 times, -* and calculates the delay time and average of Delay Time. -* @tc.type: PERF -*/ -HWTEST_F(AudioHdiRenderPerformaceTest, AudioRenderGetExtraParamsPerformance_001, TestSize.Level1) -{ - int32_t ret = -1; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .pins = PIN_OUT_SPEAKER, .path = AUDIO_FILE.c_str() - }; - char keyValueList[] = "attr-format=24;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=24;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - int32_t listLenth = 256; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = AudioCreateStartRender(audiopara.manager, &audiopara.render, &audiopara.adapter, ADAPTER_NAME); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = audiopara.render->attr.SetExtraParams((AudioHandle)audiopara.render, keyValueList); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - for (int i = 0; i < COUNT; ++i) { - char keyValueListValue[256] = {}; - gettimeofday(&audiopara.start, NULL); - ret = audiopara.render->attr.GetExtraParams((AudioHandle)audiopara.render, keyValueListValue, listLenth); - gettimeofday(&audiopara.end, NULL); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_STREQ(keyValueListExp, keyValueListValue); - audiopara.delayTime = (audiopara.end.tv_sec * MICROSECOND + audiopara.end.tv_usec) - - (audiopara.start.tv_sec * MICROSECOND + audiopara.start.tv_usec); - audiopara.totalTime += audiopara.delayTime; - } - ret = StopAudio(audiopara); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - audiopara.averageDelayTime = (float)audiopara.totalTime / COUNT; - EXPECT_GT(LOWLATENCY, audiopara.averageDelayTime); -} -} diff --git a/audio/test/systemtest/hdi/hdireliability/BUILD.gn b/audio/test/systemtest/hdi/hdireliability/BUILD.gn deleted file mode 100644 index a888b266a020e5e901793a2aa64386bf21168c11..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/BUILD.gn +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_reliability_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "include", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - moduletest("hdf_audio_hdi_capture_reliability_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - - moduletest("hdf_audio_hdi_capture_control_reliability_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_control_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } - - moduletest("hdf_audio_hdi_render_control_reliability_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_control_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/bounds_checking_function:libsec_shared", - ] - if (!drivers_peripheral_audio_feature_rich_device) { - defines = [ "FEATURE_SMALL_DEVICE" ] - } - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_reliability_test") { - module_out_path = module_output_path - resource_config_file = "./../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_capture_reliability_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_capture_control_reliability_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_control_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_control_reliability_test") { - module_out_path = module_output_path - resource_config_file = "./../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_control_reliability_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hdireliability/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - if (!drivers_peripheral_audio_feature_rich_device) { - defines += [ "FEATURE_SMALL_DEVICE" ] - } - } -} -group("hdi_reliability") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - ":hdf_audio_hdi_capture_control_reliability_test", - ":hdf_audio_hdi_capture_reliability_test", - ":hdf_audio_hdi_render_control_reliability_test", - ":hdf_audio_hdi_render_reliability_test", - ] -} diff --git a/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_control_reliability_test.h b/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_control_reliability_test.h deleted file mode 100644 index da96cfe23f9a98346055160c6eefcee12f57fbe7..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_control_reliability_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_CONTROL_RELIABILITY_TEST_H -#define AUDIO_HDICAPTURE_CONTROL_RELIABILITY_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_reliability_test.h b/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_reliability_test.h deleted file mode 100644 index fa73112ca464a77c989f2a8ebac6a91890a05f9e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/include/audio_hdicapture_reliability_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDICAPTURE_RELIABILITY_TEST_H -#define AUDIO_HDICAPTURE_RELIABILITY_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_control_reliability_test.h b/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_control_reliability_test.h deleted file mode 100644 index 99ce090f37497cdcf0e3b3d8801b144f973aaf4e..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_control_reliability_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_CONTROL_RELIABILITY_TEST_H -#define AUDIO_HDIRENDER_CONTROL_RELIABILITY_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_reliability_test.h b/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_reliability_test.h deleted file mode 100644 index a26c753247ca52a696e4f7924dcb7a612a1f2194..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/include/audio_hdirender_reliability_test.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_HDIRENDER_RELIABILITY_TEST_H -#define AUDIO_HDIRENDER_RELIABILITY_TEST_H - -#endif diff --git a/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_control_reliability_test.cpp b/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_control_reliability_test.cpp deleted file mode 100644 index 2cc9064f7771a707f2d59f39a9b0ea1facdc885c..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_control_reliability_test.cpp +++ /dev/null @@ -1,665 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" -#include -#include "audio_hdicapture_control_reliability_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int PTHREAD_SAMEADA_COUNT = 3; -const int PTHREAD_DIFFADA_COUNT = 1; -const int BUFFER_SIZE = 16384; -mutex g_testMutex; -static struct PrepareAudioPara g_para[PTHREAD_DIFFADA_COUNT] = { - { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str() - } -}; - -class AudioHdiCaptureControlReliabilityTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - static int32_t RelAudioCreateCapture(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureStart(struct PrepareAudioPara& ptr); - static int32_t RelGetAllAdapter(struct PrepareAudioPara& ptr); - static int32_t RelLoadAdapter(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureStop(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureResume(struct PrepareAudioPara& ptr); - static int32_t RelAudioCapturePause(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureProcedure(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureFrame(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureStartAndCaputreFrame(struct PrepareAudioPara& ptr); - static int32_t RelAudioAdapterInitAllPorts(struct PrepareAudioPara& ptr); - static int32_t RelAudioAdapterGetPortCapability(struct PrepareAudioPara& ptr); - static int32_t RelAudioAdapterSetPassthroughMode(struct PrepareAudioPara& ptr); - static int32_t RelAudioAdapterGetPassthroughMode(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetCapturePosition(struct PrepareAudioPara& ptr); -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureControlReliabilityTest::manager = nullptr; - -void AudioHdiCaptureControlReliabilityTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureControlReliabilityTest::TearDownTestCase(void) {} - -void AudioHdiCaptureControlReliabilityTest::SetUp(void) {} - -void AudioHdiCaptureControlReliabilityTest::TearDown(void) {} - -int32_t AudioHdiCaptureControlReliabilityTest::RelGetAllAdapter(struct PrepareAudioPara& ptr) -{ - int size = 0; - if (ptr.manager == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - int32_t ret = ptr.manager->GetAllAdapters(ptr.manager, &ptr.descs, &size); - g_testMutex.unlock(); - if (ret < 0) { - return ret; - } - if (ptr.descs == nullptr || size == 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int index = SwitchAdapter(ptr.descs, ptr.adapterName, ptr.portType, ptr.audioPort, size); - if (index < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - ptr.desc = &ptr.descs[index]; - if (ptr.desc == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelLoadAdapter(struct PrepareAudioPara& ptr) -{ - if (ptr.desc == nullptr || ptr.manager == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - int32_t ret = ptr.manager->LoadAdapter(ptr.manager, ptr.desc, &ptr.adapter); - g_testMutex.unlock(); - if (ret < 0) { - return ret; - } - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCreateCapture(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - if (ptr.adapter == nullptr || ptr.manager == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - InitAttrs(ptr.attrs); - InitDevDesc(ptr.devDesc, ptr.audioPort->portId, ptr.pins); - g_testMutex.lock(); - ret = ptr.adapter->CreateCapture(ptr.adapter, &ptr.devDesc, &ptr.attrs, &ptr.capture); - g_testMutex.unlock(); - if (ret < 0) { - ptr.manager->UnloadAdapter(ptr.manager, ptr.adapter); - return ret; - } - if (ptr.capture == nullptr) { - ptr.manager->UnloadAdapter(ptr.manager, ptr.adapter); - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureStart(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->control.Start((AudioHandle)(ptr.capture)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureFrame(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - uint64_t requestBytes = BUFFER_SIZE; - uint64_t replyBytes = 0; - - char *frame = static_cast(calloc(1, BUFFER_SIZE)); - if (frame == nullptr) { - return HDF_ERR_MALLOC_FAIL; - } - - g_testMutex.lock(); - ret = ptr.capture->CaptureFrame(ptr.capture, frame, requestBytes, &replyBytes); - g_testMutex.unlock(); - free(frame); - frame = nullptr; - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureStartAndCaputreFrame(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - FILE *file = fopen(ptr.path, "wb+"); - if (file == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - InitAttrs(ptr.attrs); - - ret = FrameStartCapture(ptr.capture, file, ptr.attrs); - if (ret < 0) { - fclose(file); - return ret; - } - (void)fclose(file); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureStop(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->control.Stop((AudioHandle)(ptr.capture)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCapturePause(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->control.Pause((AudioHandle)(ptr.capture)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureResume(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->control.Resume((AudioHandle)(ptr.capture)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureProcedure(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - ret = RelGetAllAdapter(ptr); - if (ret < 0) { - return ret; - } - - ret = RelLoadAdapter(ptr); - if (ret < 0) { - return ret; - } - - ret = RelAudioCreateCapture(ptr); - if (ret < 0) { - return ret; - } - - ret = RelAudioCaptureStartAndCaputreFrame(ptr); - if (ret < 0) { - ptr.adapter->DestroyCapture(ptr.adapter, ptr.capture); - ptr.manager->UnloadAdapter(ptr.manager, ptr.adapter); - return ret; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioAdapterInitAllPorts(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - ret = ptr.adapter->InitAllPorts(ptr.adapter); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioAdapterGetPortCapability(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - ret = ptr.adapter->GetPortCapability(ptr.adapter, ptr.audioPort, &(ptr.capability)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioAdapterSetPassthroughMode(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - ret = ptr.adapter->SetPassthroughMode(ptr.adapter, ptr.audioPort, ptr.mode); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioAdapterGetPassthroughMode(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - ret = ptr.adapter->GetPassthroughMode(ptr.adapter, ptr.audioPort, &(ptr.mode)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureControlReliabilityTest::RelAudioCaptureGetCapturePosition(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->GetCapturePosition(ptr.capture, &(ptr.character.getframes), &(ptr.time)); - g_testMutex.unlock(); - return ret; -} - -/** -* @tc.name AudioCaptureFrameReliability_001 -* @tc.desc test AudioCaptureFrame interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioCaptureFrameReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioCreateCapture(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioCaptureStart(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureFrame, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } -} - -/** -* @tc.name AudioCaptureStartReliability_001 -* @tc.desc test AudioCaptureStart interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioCaptureStartReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioCreateCapture(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureStart, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *captureStartResult = nullptr; - pthread_join(tids[i], &captureStartResult); - ret = (intptr_t)captureStartResult; - if (ret == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, ret); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - } -} - - -/** -* @tc.name AudioCaptureStopReliability_001 -* @tc.desc test AudioCaptureStop interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioCaptureStopReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioCaptureProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureStop, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *captureStopResult = nullptr; - pthread_join(tids[i], &captureStopResult); - if ((int32_t)(intptr_t)captureStopResult == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, (int32_t)(intptr_t)captureStopResult); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, (int32_t)(intptr_t)captureStopResult); - failcount = failcount + 1; - } - } - if (g_para[0].manager != nullptr && g_para[0].adapter != nullptr) { - g_para[0].adapter->DestroyCapture(g_para[0].adapter, g_para[0].capture); - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - } -} - - -/** -* @tc.name AudioCapturePauseReliability_001 -* @tc.desc test AudioCapturePause interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioCapturePauseReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioCaptureProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCapturePause, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *CapturePauseResult = nullptr; - pthread_join(tids[i], &CapturePauseResult); - if ((int32_t)(intptr_t)CapturePauseResult == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, (int32_t)(intptr_t)CapturePauseResult); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, (int32_t)(intptr_t)CapturePauseResult); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - } -} - -/** -* @tc.name AudioInitAllPortsReliability_002 -* @tc.desc test InitAllPorts interface, return 0 if the ports is initialize successfully. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioInitAllPortsReliability_002, TestSize.Level1) -{ - int32_t ret = -1; - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelGetAllAdapter(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioAdapterInitAllPorts, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); -} - -/** -* @tc.name AudioGetPortCapabilityReliability_002 -* @tc.desc test GetPortCapability interface,return 0 if the Get Port capability successfully. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioGetPortCapabilityReliability_002, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioAdapterInitAllPorts(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioAdapterGetPortCapability, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); -} - -/** -* @tc.name AudioSetPassthroughModeReliability_002 -* @tc.desc test SetPassthroughMode interface,return 0 if the Set Passthrough Mode successfully. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioSetPassthroughModeReliability_002, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].mode = PORT_PASSTHROUGH_LPCM; - g_para[0].portType = PORT_OUT; - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioAdapterInitAllPorts(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioAdapterSetPassthroughMode, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = g_para[0].adapter->GetPassthroughMode(g_para[0].adapter, g_para[0].audioPort, &(g_para[0].mode)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, g_para[0].mode); - } - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); -} - -/** -* @tc.name AudioGetPassthroughModeReliability_002 -* @tc.desc test GetPassthroughMode interface,return 0 if the Get Passthrough Mode successfully. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioGetPassthroughModeReliability_002, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].portType = PORT_OUT; - g_para[0].mode = PORT_PASSTHROUGH_LPCM; - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelLoadAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioAdapterInitAllPorts(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = RelAudioAdapterSetPassthroughMode(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioAdapterGetPassthroughMode, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(PORT_PASSTHROUGH_LPCM, g_para[0].mode); - } - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); -} -/** -* @tc.name AudioCaptureResumeReliability_001 -* @tc.desc test RelAudioCaptureResume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioCaptureResumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioCaptureProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioCapturePause(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&g_para[0], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureResume, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *captureResumeResult = nullptr; - pthread_join(tids[i], &captureResumeResult); - if ((int32_t)(intptr_t)captureResumeResult == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, (int32_t)(intptr_t)captureResumeResult); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, (int32_t)(intptr_t)captureResumeResult); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - } -} -/** -* @tc.name AudioGetCapturePositionReliability_001 -* @tc.desc test AudioGetCapturePosition interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureControlReliabilityTest, AudioGetCapturePositionReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioCaptureProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetCapturePosition, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(INITIAL_VALUE, g_para[0].character.getframes); - EXPECT_LT(timeExp, g_para[0].time.tvNSec); - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } -} -} diff --git a/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_reliability_test.cpp b/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_reliability_test.cpp deleted file mode 100644 index a46d12df19d891e2f504d2bb5635bb9363988501..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/src/audio_hdicapture_reliability_test.cpp +++ /dev/null @@ -1,686 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" -#include -#include "audio_hdicapture_reliability_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int PTHREAD_SAMEADA_COUNT = 3; -const int PTHREAD_DIFFADA_COUNT = 3; -const uint32_t SAMPLERATEVALUE = 48000; -mutex g_testMutex; -struct PrepareAudioPara g_para[PTHREAD_DIFFADA_COUNT] = { - { - .portType = PORT_IN, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_IN_MIC, - .path = AUDIO_CAPTURE_FILE.c_str() - } -}; - -class AudioHdiCaptureReliabilityTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - static int32_t RelAudioCaptureSetMute(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetMute(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureSetVolume(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetVolume(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureProcedure(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureStartAndCaputreFrame(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureSetGain(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetGain(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetGainThreshold(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetFrameSize(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetFrameCount(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetCurrentChannelId(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureSetSampleAttributes(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureGetSampleAttributes(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureSelectScene(struct PrepareAudioPara& ptr); - static int32_t RelAudioCaptureCheckSceneCapability(struct PrepareAudioPara& ptr); - AudioCapture *capture = nullptr; - AudioAdapter *adapter = nullptr; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureReliabilityTest::manager = nullptr; - -void AudioHdiCaptureReliabilityTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureReliabilityTest::TearDownTestCase(void) {} - -void AudioHdiCaptureReliabilityTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -void AudioHdiCaptureReliabilityTest::TearDown(void) -{ - int32_t ret = ReleaseCaptureSource(manager, adapter, capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureStartAndCaputreFrame(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - struct AudioSampleAttributes attrs = {}; - FILE *file = fopen(ptr.path, "wb+"); - if (file == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - InitAttrs(attrs); - - g_testMutex.lock(); - ret = FrameStartCapture(ptr.capture, file, attrs); - g_testMutex.unlock(); - (void)fclose(file); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureSetMute(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.SetMute(ptr.capture, ptr.character.setmute); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetMute(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.GetMute(ptr.capture, &(ptr.character.getmute)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureSetVolume(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.SetVolume(ptr.capture, ptr.character.setvolume); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetVolume(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.GetVolume(ptr.capture, &(ptr.character.getvolume)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetGainThreshold(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.GetGainThreshold(ptr.capture, &(ptr.character.gainthresholdmin), - &(ptr.character.gainthresholdmax)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureSetGain(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.SetGain(ptr.capture, ptr.character.setgain); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetGain(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->volume.GetGain(ptr.capture, &(ptr.character.getgain)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetFrameSize(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->attr.GetFrameSize(ptr.capture, &(ptr.character.getframesize)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetFrameCount(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->attr.GetFrameCount(ptr.capture, &(ptr.character.getframecount)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetCurrentChannelId(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->attr.GetCurrentChannelId(ptr.capture, &(ptr.character.getcurrentchannelId)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureSetSampleAttributes(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->attr.SetSampleAttributes(ptr.capture, &(ptr.attrs)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureGetSampleAttributes(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->attr.GetSampleAttributes(ptr.capture, &(ptr.attrsValue)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureSelectScene(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->scene.SelectScene(ptr.capture, &(ptr.scenes)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiCaptureReliabilityTest::RelAudioCaptureCheckSceneCapability(struct PrepareAudioPara& ptr) -{ - if (ptr.capture == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.capture->scene.CheckSceneCapability(ptr.capture, &ptr.scenes, &(ptr.character.supported)); - g_testMutex.unlock(); - return ret; -} - -/** -* @tc.name AudioCaptureSetGainReliability_001 -* @tc.desc test AudioCaptureSetGain interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureSetGainReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].character.setgain = 2; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureSetGain, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = g_para[0].capture->volume.GetGain(g_para[0].capture, &(g_para[0].character.getgain)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(g_para[0].character.setgain, g_para[0].character.getgain); - } -} - -/** -* @tc.name AudioCaptureGetGainReliability_001 -* @tc.desc test AudioCaptureGetGain interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetGainReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].character.setgain = 8; - ret = g_para[0].capture->volume.SetGain(g_para[0].capture, g_para[0].character.setgain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetGain, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(8, g_para[0].character.getgain); - } -} - -/** -* @tc.name AudioCaptureGetGainThresholdReliability_001 -* @tc.desc test GetGainThreshold interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetGainThresholdReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetGainThreshold, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(0, g_para[0].character.gainthresholdmin); - EXPECT_EQ(15, g_para[0].character.gainthresholdmax); - } -} - -/** -* @tc.name AudioCaptureGetFrameSizeReliability_001 -* @tc.desc test AudioCaptureGetFrameSize interface Reliability pass through pthread_create fun and adapterName is same -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetFrameSizeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint64_t sizeValue = 4096; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetFrameSize, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(sizeValue, g_para[0].character.getframesize); - } -} - -/** -* @tc.name AudioCaptureGetFrameCountReliability_001 -* @tc.desc test CaptureGetFrameCount interface Reliability pass through pthread_create fun and adapterName is same -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetFrameCountReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - ret = AudioCaptureStartAndOneFrame(g_para[0].capture); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetFrameCount, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(INITIAL_VALUE, g_para[0].character.getframecount); - } - ret = g_para[0].capture->control.Stop(g_para[0].capture); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudioGetCurrentChannelIdReliability_001 -* @tc.desc test AudioGetCurrentChannelId interface Reliability pass through pthread_create fun and adapterName is same -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioGetCurrentChannelIdReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelIdValue = 2; - ASSERT_NE(nullptr, capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[i].character.getcurrentchannelId = 0; - g_para[i].capture = capture; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetCurrentChannelId, &g_para[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(channelIdValue, g_para[i].character.getcurrentchannelId); - } -} -/** -* @tc.name AudioCaptureSetMute_001 -* @tc.desc test AudioCaptureSetMute interface Reliability pass through pthread_create(adapterName is same) -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureSetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = g_para[0].capture->volume.GetMute(g_para[0].capture, &(g_para[0].character.getmute)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - if (g_para[0].character.getmute == false) { - g_para[0].character.setmute = true; - } else { - g_para[0].character.setmute = false; - } - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureSetMute, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - - ret = g_para[0].capture->volume.GetMute(g_para[0].capture, &(g_para[0].character.getmute)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - if (g_para[0].character.setmute == true) { - EXPECT_TRUE(g_para[0].character.getmute); - } else { - EXPECT_FALSE(g_para[0].character.getmute); - } - } -} - -/** -* @tc.name AudioRelAudioCaptureGetMute_001 -* @tc.desc test RelAudioCaptureGetMute interface Reliability pass through pthread_create(adapterName is same) -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetMute_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].character.setmute = true; - ret = g_para[0].capture->volume.SetMute(g_para[0].capture, false); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetMute, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_FALSE(g_para[0].character.getmute); - } -} - -/** -* @tc.name AudiocaptureSetVolumeReliability_001 -* @tc.desc test SetVolume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureSetVolumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeHighExpc = 0.70; - ASSERT_NE(nullptr, capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[i].capture = capture; - g_para[i].character.setvolume = 0.7; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureSetVolume, &g_para[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = g_para[0].capture->volume.GetVolume(g_para[i].capture, &(g_para[i].character.getvolume)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, g_para[i].character.getvolume); - } -} - -/** -* @tc.name AudioCaptureGetVolumeReliability_001 -* @tc.desc test GetVolume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetVolumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeHighExpc = 0.7; - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setvolume = 0.7; - ret = arrpara[i].capture->volume.SetVolume(arrpara[i].capture, arrpara[i].character.setvolume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetVolume, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(volumeHighExpc, arrpara[i].character.getvolume); - } -} - -/** -* @tc.name AudioCaptureSetSampleAttributesReliability_001 -* @tc.desc test SetSampleAttributes interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureSetSampleAttributesReliability_001, - TestSize.Level1) -{ - uint32_t count = 2; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - InitAttrs(g_para[0].attrs); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - - int32_t ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureSetSampleAttributes, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - ret = g_para[0].capture->attr.GetSampleAttributes(g_para[0].capture, &(g_para[0].attrsValue)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, g_para[0].attrsValue.type); - EXPECT_FALSE(g_para[0].attrsValue.interleaved); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, g_para[0].attrsValue.format); - EXPECT_EQ(SAMPLERATEVALUE, g_para[0].attrsValue.sampleRate); - EXPECT_EQ(count, g_para[0].attrsValue.channelCount); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioCaptureGetSampleAttributesReliability_001 -* @tc.desc test AudioCaptureGetSampleAttributes interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureGetSampleAttributesReliability_001, - TestSize.Level1) -{ - int32_t ret = -1; - uint32_t count = 2; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - InitAttrs(g_para[0].attrs); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = g_para[0].capture->attr.SetSampleAttributes(g_para[0].capture, &(g_para[0].attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - int32_t ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureGetSampleAttributes, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - - EXPECT_EQ(AUDIO_IN_MEDIA, g_para[0].attrsValue.type); - EXPECT_FALSE(g_para[0].attrsValue.interleaved); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, g_para[0].attrsValue.format); - EXPECT_EQ(SAMPLERATEVALUE, g_para[0].attrsValue.sampleRate); - EXPECT_EQ(count, g_para[0].attrsValue.channelCount); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioCaptureSelectSceneReliability_001 -* @tc.desc test AudioCaptureSelectScene interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureSelectSceneReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].scenes.scene.id = 0; - g_para[0].scenes.desc.pins = PIN_IN_MIC; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureSelectScene, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioCaptureCheckSceneCapabilityReliability_001 -* @tc.desc test AudioCaptureCheckSceneCapability interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiCaptureReliabilityTest, AudioCaptureCheckSceneCapabilityReliability_001, - TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].capture = capture; - ASSERT_NE(nullptr, g_para[0].capture); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].scenes.scene.id = 0; - g_para[0].scenes.desc.pins = PIN_IN_MIC; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioCaptureCheckSceneCapability, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} -} diff --git a/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_control_reliability_test.cpp b/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_control_reliability_test.cpp deleted file mode 100644 index 6ce645c8b627bf31b52958e9c14f7d36403b2406..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_control_reliability_test.cpp +++ /dev/null @@ -1,493 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" -#include -#include "audio_hdirender_control_reliability_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int PTHREAD_SAMEADA_COUNT = 10; -const int PTHREAD_DIFFADA_COUNT = 1; -mutex g_testMutex; -static struct PrepareAudioPara g_para[PTHREAD_DIFFADA_COUNT] = { - { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - } -}; - -class AudioHdiRenderControlReliabilityTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - static int32_t RelGetAllAdapter(struct PrepareAudioPara& ptr); - static int32_t RelLoadAdapter(struct PrepareAudioPara& ptr); - static int32_t RelUnloadAdapter(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderStart(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderFrame(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderStop(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderProcedure(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderPause(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderResume(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetRenderPosition(struct PrepareAudioPara& ptr); -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderControlReliabilityTest::manager = nullptr; - -void AudioHdiRenderControlReliabilityTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderControlReliabilityTest::TearDownTestCase(void) {} - -void AudioHdiRenderControlReliabilityTest::SetUp(void) {} - -void AudioHdiRenderControlReliabilityTest::TearDown(void) {} - -int32_t AudioHdiRenderControlReliabilityTest::RelGetAllAdapter(struct PrepareAudioPara& ptr) -{ - if (ptr.manager == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int size = 0; - g_testMutex.lock(); - int32_t ret = ptr.manager->GetAllAdapters(ptr.manager, &ptr.descs, &size); - g_testMutex.unlock(); - if (ret < 0) { - return ret; - } - if (ptr.descs == nullptr || size == 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - int index = SwitchAdapter(ptr.descs, ptr.adapterName, ptr.portType, ptr.audioPort, size); - if (index < 0) { - return index; - } - ptr.desc = &ptr.descs[index]; - if (ptr.desc == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelLoadAdapter(struct PrepareAudioPara& ptr) -{ - if (ptr.manager == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - g_testMutex.lock(); - int32_t ret = ptr.manager->LoadAdapter(ptr.manager, ptr.desc, &ptr.adapter); - g_testMutex.unlock(); - if (ret < 0) { - return ret; - } - - if (ptr.adapter == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderStart(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->control.Start((AudioHandle)(ptr.render)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderFrame(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - uint64_t requestBytes = 0; - uint64_t replyBytes = 0; - char *frame = nullptr; - - ret = RenderFramePrepare(ptr.path, frame, requestBytes); - if (ret < 0) { - return ret; - } - g_testMutex.lock(); - ret = ptr.render->RenderFrame(ptr.render, frame, requestBytes, &replyBytes); - g_testMutex.unlock(); - if (frame != nullptr) { - free(frame); - frame = nullptr; - } - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderStop(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->control.Stop((AudioHandle)(ptr.render)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderPause(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->control.Pause((AudioHandle)(ptr.render)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderResume(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->control.Resume((AudioHandle)(ptr.render)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderProcedure(struct PrepareAudioPara& ptr) -{ - int32_t ret = -1; - g_testMutex.lock(); - ret = AudioCreateRender(ptr.manager, ptr.pins, ptr.adapterName, &ptr.adapter, &ptr.render); - g_testMutex.unlock(); - if (ret < 0) { - return ret; - } - ret = AudioRenderStartAndOneFrame(ptr.render); - return ret; -} - -int32_t AudioHdiRenderControlReliabilityTest::RelAudioRenderGetRenderPosition(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->GetRenderPosition(ptr.render, &(ptr.character.getframes), &(ptr.time)); - g_testMutex.unlock(); - return ret; -} - -/** -* @tc.name AudioGetAllAdapterReliability_001 -* @tc.desc test Reliability GetAllAdapters interface. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioGetAllAdapterReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelGetAllAdapter, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioLoadlAdapterReliability_001 -* @tc.desc test LoadAdapter interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioLoadlAdapterReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - ret = RelGetAllAdapter(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelLoadAdapter, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *loadadapterresult = nullptr; - pthread_join(tids[i], &loadadapterresult); - ret = (intptr_t)loadadapterresult; - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); - g_para[0].adapter = nullptr; -} - -/** -* @tc.name AudioRenderStartReliability_001 -* @tc.desc test AudioRenderStart interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderStartReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = AudioCreateRender(g_para[0].manager, g_para[0].pins, g_para[0].adapterName, &g_para[0].adapter, - &g_para[0].render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderStart, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *renderStartResult = nullptr; - pthread_join(tids[i], &renderStartResult); - ret = (intptr_t)renderStartResult; - if (ret == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, ret); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - g_para[0].render = nullptr; - } -} - -/** -* @tc.name AudioRelAudioRenderFrameReliability_001 -* @tc.desc test AudioRenderFrame iinterface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderFrameReliability_001, TestSize.Level1) -{ - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - int32_t ret = -1; - ret = AudioCreateRender(g_para[0].manager, g_para[0].pins, g_para[0].adapterName, &g_para[0].adapter, - &g_para[0].render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioRenderStart(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderFrame, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - g_para[0].render = nullptr; -} - -/** -* @tc.name AudioRenderStopReliability_001 -* @tc.desc test AudioRenderStop interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderStopReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioRenderProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderStop, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *renderStopResult = nullptr; - pthread_join(tids[i], &renderStopResult); - ret = (intptr_t)renderStopResult; - if (ret == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - failcount = failcount + 1; - } - } - if (g_para[0].manager != nullptr && g_para[0].adapter != nullptr) { - g_para[0].adapter->DestroyRender(g_para[0].adapter, g_para[0].render); - g_para[0].manager->UnloadAdapter(g_para[0].manager, g_para[0].adapter); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - g_para[0].render = nullptr; - } -} - -/** -* @tc.name AudioRenderPauseReliability_001 -* @tc.desc test AudioRenderPause interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderPauseReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - int32_t succeedcount = 0; - - ret = RelAudioRenderProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderPause, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *renderPauseResult = nullptr; - pthread_join(tids[i], &renderPauseResult); - ret = (intptr_t)renderPauseResult; - if (ret == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(failcount, PTHREAD_SAMEADA_COUNT - 1); - EXPECT_EQ(succeedcount, 1); - g_para[0].render = nullptr; - } -} - -/** -* @tc.name AudioRenderResumeReliability_001 -* @tc.desc test RelAudioRenderResume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderResumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - int32_t failcount = 0; - int32_t succeedcount = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - ret = RelAudioRenderProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = RelAudioRenderPause(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderResume, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *renderResumeResult = nullptr; - pthread_join(tids[i], &renderResumeResult); - ret = (intptr_t)renderResumeResult; - if (ret == 0) { - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - succeedcount = succeedcount + 1; - } else { - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - failcount = failcount + 1; - } - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - g_para[0].render = nullptr; - } -} - -/** -* @tc.name AudiorenderGetVolumeReliability_001 -* @tc.desc test GetRenderPosition interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderControlReliabilityTest, AudioRenderGetRenderPositionReliability_001, - TestSize.Level1) -{ - int32_t ret = -1; - int64_t timeExp = 0; - g_para[0].manager = manager; - ASSERT_NE(nullptr, g_para[0].manager); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - ret = RelAudioRenderProcedure(g_para[0]); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - arrpara[i].time = {.tvSec = 0, .tvNSec = 0}; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetRenderPosition, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(INITIAL_VALUE, arrpara[i].character.getframes); - EXPECT_LT(timeExp, (arrpara[i].time.tvSec) * SECTONSEC + (arrpara[i].time.tvNSec)); - } - if (g_para[0].adapter != nullptr) { - ret = StopAudio(g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - g_para[0].render = nullptr; - } -} -} diff --git a/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_reliability_test.cpp b/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_reliability_test.cpp deleted file mode 100644 index 18ff6926f9a9645861f889797e51c886e0135e8c..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi/hdireliability/src/audio_hdirender_reliability_test.cpp +++ /dev/null @@ -1,795 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" -#include -#include "audio_hdirender_reliability_test.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -const int PTHREAD_DIFFADA_COUNT = 1; -const int PTHREAD_SAMEADA_COUNT = 10; -mutex g_testMutex; -static struct PrepareAudioPara g_para[PTHREAD_DIFFADA_COUNT] = { - { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - } -}; - -class AudioHdiRenderReliabilityTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - AudioAdapter *adapter = nullptr; - AudioRender *render = nullptr; - static int32_t RelAudioRenderSetGain(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetGain(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetGainThreshold(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderSetMute(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetMute(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderSetVolume(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetVolume(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetFrameSize(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetFrameCount(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetCurrentChannelId(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderSetChannelMode(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetChannelMode(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderSetSampleAttributes(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetSampleAttributes(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderSelectScene(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderCheckSceneCapability(struct PrepareAudioPara& ptr); - static int32_t RelAudioRenderGetLatency(struct PrepareAudioPara& ptr); -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderReliabilityTest::manager = nullptr; - -void AudioHdiRenderReliabilityTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderReliabilityTest::TearDownTestCase(void) {} - -void AudioHdiRenderReliabilityTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -void AudioHdiRenderReliabilityTest::TearDown(void) -{ - int32_t ret = ReleaseRenderSource(manager, adapter, render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetGainThreshold(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.GetGainThreshold(ptr.render, &(ptr.character.gainthresholdmin), - &(ptr.character.gainthresholdmax)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSetGain(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.SetGain(ptr.render, ptr.character.setgain); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetGain(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.GetGain(ptr.render, &(ptr.character.getgain)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSetMute(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.SetMute(ptr.render, ptr.character.setmute); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetMute(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.GetMute(ptr.render, &(ptr.character.getmute)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSetVolume(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.SetVolume(ptr.render, ptr.character.setvolume); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetVolume(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->volume.GetVolume(ptr.render, &(ptr.character.getvolume)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetFrameSize(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->attr.GetFrameSize(ptr.render, &(ptr.character.getframesize)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetFrameCount(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->attr.GetFrameCount(ptr.render, &(ptr.character.getframecount)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetCurrentChannelId(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->attr.GetCurrentChannelId(ptr.render, &(ptr.character.getcurrentchannelId)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSetSampleAttributes(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->attr.SetSampleAttributes(ptr.render, &(ptr.attrs)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetSampleAttributes(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->attr.GetSampleAttributes(ptr.render, &(ptr.attrsValue)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSelectScene(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->scene.SelectScene(ptr.render, &(ptr.scenes)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderCheckSceneCapability(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->scene.CheckSceneCapability(ptr.render, &ptr.scenes, &(ptr.character.supported)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderSetChannelMode(struct PrepareAudioPara &ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->SetChannelMode(ptr.render, ptr.character.setmode); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetChannelMode(struct PrepareAudioPara &ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->GetChannelMode(ptr.render, &(ptr.character.getmode)); - g_testMutex.unlock(); - return ret; -} - -int32_t AudioHdiRenderReliabilityTest::RelAudioRenderGetLatency(struct PrepareAudioPara& ptr) -{ - if (ptr.render == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - int32_t ret = -1; - g_testMutex.lock(); - ret = ptr.render->GetLatency(ptr.render, &(ptr.character.latencyTime)); - g_testMutex.unlock(); - return ret; -} - -/** -* @tc.name AudiorenderGetVolumeReliability_001 -* @tc.desc test GetFrameSize interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetFrameSizeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetFrameSize, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(INITIAL_VALUE, g_para[0].character.getframesize); - } -} - -/** -* @tc.name AudiorenderGetVolumeReliability_001 -* @tc.desc test GetFrameCount interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetFrameCountReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - - ret = AudioRenderStartAndOneFrame(g_para[0].render); - ASSERT_EQ(AUDIO_HAL_SUCCESS, ret); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetFrameCount, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(INITIAL_VALUE, g_para[0].character.getframecount); - } - g_para[0].render->control.Stop(g_para[0].render); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -/** -* @tc.name AudiorenderGetVolumeReliability_001 -* @tc.desc test GetCurrentChannelId interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetCurrentChannelIdReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t channelIdValue = 2; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.getcurrentchannelId = 0; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetCurrentChannelId, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(channelIdValue, arrpara[i].character.getcurrentchannelId); - } -} - -/** -* @tc.name AudiorenderSetMuteReliability_001 -* @tc.desc test AudioRenderSetMute interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudiorenderSetMuteReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = arrpara[i].render->volume.GetMute(arrpara[i].render, &(arrpara[i].character.getmute)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - if (arrpara[i].character.getmute == false) { - arrpara[i].character.setmute = true; - } else { - arrpara[i].character.setmute = false; - } - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetMute, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudiorenderGetMuteReliability_001 -* @tc.desc test AudioRenderGetMute interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudiorenderGetMuteReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = arrpara[i].render->volume.SetMute(arrpara[i].render, false); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetMute, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_FALSE(arrpara[i].character.getmute); - } -} - -/** -* @tc.name AudiorenderSetVolumeReliability_001 -* @tc.desc test SetVolume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudiorenderSetVolumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeHighExpc = 0.70; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setvolume = 0.70; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetVolume, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = arrpara[i].render->volume.GetVolume(arrpara[i].render, &(arrpara[i].character.getvolume)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(volumeHighExpc, arrpara[i].character.getvolume); - } -} - -/** -* @tc.name AudiorenderGetVolumeReliability_001 -* @tc.desc test GetVolume interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudiorenderGetVolumeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - float volumeHighExpc = 0.7; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setvolume = 0.7; - ret = arrpara[i].render->volume.SetVolume(arrpara[i].render, arrpara[i].character.setvolume); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetVolume, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(volumeHighExpc, arrpara[i].character.getvolume); - } -} - -/** -* @tc.name AudioRenderSetSampleAttributesReliability_001 -* @tc.desc test AudioRenderSetSampleAttributes interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderSetSampleAttributesReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t count = 2; - uint32_t rateExpc = 48000; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - InitAttrs(g_para[0].attrs); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetSampleAttributes, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - ret = arrpara[i].render->attr.GetSampleAttributes(arrpara[i].render, &(arrpara[i].attrsValue)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - EXPECT_EQ(AUDIO_IN_MEDIA, arrpara[i].attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, arrpara[i].attrsValue.format); - EXPECT_EQ(rateExpc, arrpara[i].attrsValue.sampleRate); - EXPECT_EQ(count, arrpara[i].attrsValue.channelCount); - } -} - -/** -* @tc.name AudioRenderGetSampleAttributesReliability_001 -* @tc.desc test AudioRenderGetSampleAttributes interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetSampleAttributesReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t count = 2; - uint32_t rateExpc = 48000; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - InitAttrs(g_para[0].attrs); - ret = g_para[0].render->attr.SetSampleAttributes(g_para[0].render, &(g_para[0].attrs)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetSampleAttributes, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(AUDIO_IN_MEDIA, arrpara[i].attrsValue.type); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, arrpara[i].attrsValue.format); - EXPECT_EQ(rateExpc, arrpara[i].attrsValue.sampleRate); - EXPECT_EQ(count, arrpara[i].attrsValue.channelCount); - } -} - -/** -* @tc.name AudioRenderSelectSceneReliability_001 -* @tc.desc test AudioRenderSelectScene interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderSelectSceneReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].scenes.scene.id = 0; - g_para[0].scenes.desc.pins = PIN_OUT_SPEAKER; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSelectScene, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioRenderCheckSceneCapabilityReliability_001 -* @tc.desc test AudioRenderCheckSceneCapability interface Reliability pass through pthread_create fun and adapterName - is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderCheckSceneCapabilityReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].scenes.scene.id = 0; - g_para[0].scenes.desc.pins = PIN_OUT_SPEAKER; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderCheckSceneCapability, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - } -} - -/** -* @tc.name AudioRenderSetGainReliability_001 -* @tc.desc test AudioRenderSetGain interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderSetGainReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - g_para[0].character.setgain = 5; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetGain, &g_para[0]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(GAIN_MIN, g_para[0].character.setgain); - } -} - -/** -* @tc.name AudioRenderGetGainReliability_001 -* @tc.desc test GetGain interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetGainReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setgain = 7; - ret = arrpara[i].render->volume.SetGain(arrpara[i].render, arrpara[i].character.setgain); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetGain, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(GAIN_MIN, arrpara[i].character.setgain); - } -} - -/** -* @tc.name AudioRenderGetGainThresholdReliability_001 -* @tc.desc test GetGainThreshold interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetGainThresholdReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetGainThreshold, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(0, arrpara[i].character.gainthresholdmin); - EXPECT_EQ(15, arrpara[i].character.gainthresholdmax); - } -} - -/** -* @tc.name AudioRenderSetChannelModeReliability_001 -* @tc.desc test SetChannelMode interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderSetChannelModeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setmode = AUDIO_CHANNEL_NORMAL; - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetChannelMode, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, arrpara[i].character.getmode); - } -} - -/** -* @tc.name AudioRenderGetChannelModeReliability_001 -* @tc.desc test GetChannelMode interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderGetChannelModeReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - arrpara[i].character.setmode = AUDIO_CHANNEL_NORMAL; - ret = arrpara[i].render->SetChannelMode(arrpara[i].render, arrpara[i].character.setmode); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderSetChannelMode, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_EQ(AUDIO_CHANNEL_NORMAL, arrpara[i].character.getmode); - } -} - -/** -* @tc.name AudioRenderRenderGetLatencyReliability_001 -* @tc.desc test GetLatency interface Reliability pass through pthread_create fun and adapterName is same. -* @tc.type: RELI -*/ -HWTEST_F(AudioHdiRenderReliabilityTest, AudioRenderRenderGetLatencyReliability_001, TestSize.Level1) -{ - int32_t ret = -1; - uint32_t expectLatency = 0; - g_para[0].render = render; - ASSERT_NE(nullptr, g_para[0].render); - struct PrepareAudioPara arrpara[PTHREAD_SAMEADA_COUNT]; - pthread_t tids[PTHREAD_SAMEADA_COUNT]; - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - ret = memcpy_s(&arrpara[i], sizeof(PrepareAudioPara), &g_para[0], sizeof(PrepareAudioPara)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - ret = pthread_create(&tids[i], NULL, (THREAD_FUNC)RelAudioRenderGetLatency, &arrpara[i]); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - } - for (int32_t i = 0; i < PTHREAD_SAMEADA_COUNT; ++i) { - void *result = nullptr; - pthread_join(tids[i], &result); - EXPECT_EQ(AUDIO_HAL_SUCCESS, (intptr_t)result); - EXPECT_LT(expectLatency, arrpara[i].character.latencyTime); - } -} -} diff --git a/audio/test/systemtest/hdi_advance/BUILD.gn b/audio/test/systemtest/hdi_advance/BUILD.gn deleted file mode 100644 index ddf96c4e1416a1978aaf92c64761de6206a208da..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/BUILD.gn +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - import("./../../../audio.gni") -} - -group("hdi_advance") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "common:hdi_common", - "hardwaredependence:hdi_hardwaredependence", - ] -} diff --git a/audio/test/systemtest/hdi_advance/common/BUILD.gn b/audio/test/systemtest/hdi_advance/common/BUILD.gn deleted file mode 100644 index d6b3e8d0f4a853a816ad208bb97613d9150ed161..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/BUILD.gn +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - - import("./../../../../audio.gni") -} - -group("hdi_common") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "adapter:hdf_audio_hdi_adapter_advance_test", - "capture:hdf_audio_hdi_capture_advance_test", - "capture:hdf_audio_hdi_capture_attr_advance_test", - "capture:hdf_audio_hdi_capture_scene_advance_test", - "manager:hdf_audio_hdi_manager_advance_test", - "render:hdf_audio_hdi_render_advance_test", - "render:hdf_audio_hdi_render_attr_advance_test", - "render:hdf_audio_hdi_render_scene_advance_test", - ] -} diff --git a/audio/test/systemtest/hdi_advance/common/adapter/BUILD.gn b/audio/test/systemtest/hdi_advance/common/adapter/BUILD.gn deleted file mode 100644 index 2edbdf60e1f6580b85ceda49b0be60dee2171dfb..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/adapter/BUILD.gn +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_adapter_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdiadapter_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_adapter_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdiadapter_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/common/adapter/src/audio_hdiadapter_test.cpp b/audio/test/systemtest/hdi_advance/common/adapter/src/audio_hdiadapter_test.cpp deleted file mode 100644 index dd80a1cd1e0679c43ae55f552c0bbc35b5839014..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/adapter/src/audio_hdiadapter_test.cpp +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiAdapterTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; -TestAudioManager *AudioHdiAdapterTest::manager = nullptr; - -void AudioHdiAdapterTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiAdapterTest::TearDownTestCase(void) {} - -void AudioHdiAdapterTest::SetUp(void) {} - -void AudioHdiAdapterTest::TearDown(void) {} - -/** -* @tc.name AudioAdapterGetPortCapability_001 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_OUT. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - struct AudioPortCapability capability = {}; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - if (ret < 0 || capability.formats == nullptr || capability.subPorts == nullptr) { - manager->UnloadAdapter(manager, adapter); - ASSERT_NE(HDF_SUCCESS, ret); - ASSERT_EQ(nullptr, capability.formats); - ASSERT_EQ(nullptr, capability.subPorts); - } - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_002 -* @tc.desc Test AudioAdapterGetPortCapability,return 0 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = {}; - struct AudioPortCapability capability = {}; - ASSERT_NE(nullptr, manager); - - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, &capability); - EXPECT_NE(HDF_SUCCESS, ret); - - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioAdapterGetPortCapability_004 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if the parameter adapter is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - struct AudioPortCapability capability = {}; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - ret = adapter->GetPortCapability(adapterNull, audioPort, &capability); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_005 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort *audioPortNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioPortCapability capability = {}; - - ASSERT_NE(nullptr, manager); - struct AudioPort* audioPort = nullptr; - struct AudioPort audioPortError = { - .dir = PORT_OUT, - .portId = 9, - .portName = "AIP", - }; - - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPortNull, &capability); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - ret = adapter->GetPortCapability(adapter, &audioPortError, &capability); - EXPECT_EQ(HDF_FAILURE, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPortCapability_006 -* @tc.desc Test AudioAdapterGetPortCapability, return -1 if capability is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPortCapability_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioPortCapability *capabilityNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPortCapability(adapter, audioPort, capabilityNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_002 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if PortType is PORT_IN. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = nullptr; - struct AudioPort* audioPort = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_IN, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(HDF_FAILURE, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_003 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 the parameter adapter is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->SetPassthroughMode(adapterNull, audioPort, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterSetPassthroughMode_004 -* @tc.desc test AdapterSetPassthroughMode interface, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterSetPassthroughMode_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioPort *audioPortNull = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->SetPassthroughMode(adapter, audioPortNull, mode); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_002 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the parameter adapter is empty.. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - struct AudioAdapter *adapterNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapterNull, audioPort, &mode); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_003 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the audioPort is nullptr or not supported. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - struct AudioPort *audioPortNull = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPortNull, &mode); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioAdapterGetPassthroughMode_004 -* @tc.desc test AdapterGetPassthroughMode interface, return -1 if the parameter mode is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiAdapterTest, AudioAdapterGetPassthroughMode_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioPort* audioPort = nullptr; - AudioPortPassthroughMode *modeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - - ASSERT_NE(nullptr, manager); - ret = GetLoadAdapter(manager, PORT_OUT, ADAPTER_NAME, &adapter, audioPort); - ASSERT_EQ(HDF_SUCCESS, ret); - ASSERT_NE(nullptr, adapter); - ret = adapter->InitAllPorts(adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = adapter->GetPassthroughMode(adapter, audioPort, modeNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/capture/BUILD.gn b/audio/test/systemtest/hdi_advance/common/capture/BUILD.gn deleted file mode 100644 index 22c81511c77f1c7a707e016e0193097bc115c861..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/capture/BUILD.gn +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_capture_attr_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } - moduletest("hdf_audio_hdi_capture_scene_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } - moduletest("hdf_audio_hdi_capture_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_capture_attr_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_scene_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_capture_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/common/capture/include", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_attr_test.cpp b/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_attr_test.cpp deleted file mode 100644 index 7dad416baf5ddfcf3e7eddc5f768b5ee7e797821..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_attr_test.cpp +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureAttrTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureAttrTest::manager = nullptr; - -void AudioHdiCaptureAttrTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureAttrTest::TearDownTestCase(void) {} - -void AudioHdiCaptureAttrTest::SetUp(void) {} -void AudioHdiCaptureAttrTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureGetFrameSize_001 -* @tc.desc test AudioCaptureGetFrameSize interface, return 0 is call successfully. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameSize_002 -* @tc.desc test AudioCaptureGetFrameSize interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(captureNull, &size); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameSize_003 -* @tc.desc test AudioCaptureGetFrameSize interface, return -1 if the parameter size is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameSize_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t *sizeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, sizeNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_001 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the FrameCount is called after creating the object. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(count, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_001 -* @tc.desc test AudioCaptureGetFrameCount interface, return 0 if the GetFrameCount is called after started. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureGetFrameCount_003 -* @tc.desc test AudioCaptureGetFrameCount interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(captureNull, &count); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioCaptureGetFrameCount_004 -* @tc.desc test AudioCaptureGetFrameCount interface, return -1 if the parameter handle is nullptr. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetFrameCount_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t *countNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameCount(capture, countNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test GetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(channelIdValue, channelId); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCurrentChannelId_003 - * @tc.desc Test GetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after started - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(channelIdExp, channelId); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_004 - * @tc.desc Test GetCurrentChannelId interface,return -1 if set the parameter capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(captureNull, &channelId); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_005 - * @tc.desc Test CaptureGetCurrentChannelId interface, return -1 if setting the parameter channelId is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureAttrTest, AudioCaptureGetCurrentChannelId_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t *channelIdNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, channelIdNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_scene_test.cpp b/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_scene_test.cpp deleted file mode 100644 index 07d957b37d61b7c0009b58e974fb4e607f742d28..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_scene_test.cpp +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureSceneTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -TestAudioManager *AudioHdiCaptureSceneTest::manager = nullptr; - -void AudioHdiCaptureSceneTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureSceneTest::TearDownTestCase(void) {} -void AudioHdiCaptureSceneTest::SetUp(void) {} -void AudioHdiCaptureSceneTest::TearDown(void) {} - -/** -* @tc.name AudioCaptureCheckSceneCapability_001 -* @tc.desc Test AudioCaptureCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, &supported); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_003 -* @tc.desc Test AudioCreateCapture interface,return -1 if the capture is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(captureNull, &scenes, &supported); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_004 -* @tc.desc Test AudioCreateCapture interface,return -1 if the scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = true; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->scene.CheckSceneCapability(capture, scenes, &supported); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureCheckSceneCapability_005 -* @tc.desc Test AudioCreateCapture interface,return -1 if the parameter supported is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureCheckSceneCapability_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.CheckSceneCapability(capture, &scenes, nullptr); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_001 -* @tc.desc Test AudioCaptureSelectScene interface,return 0 if select capture's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(HDF_SUCCESS, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_002 -* @tc.desc Test AudioCaptureSelectScene, return 0 if select capture's scene successful after capture start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(capture, &scenes); - EXPECT_EQ(HDF_SUCCESS, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_003 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the parameter handle is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = capture->scene.SelectScene(captureNull, &scenes); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioCaptureSelectScene_004 -* @tc.desc Test AudioCaptureSelectScene, return -1 if the parameter scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureSceneTest, AudioCaptureSelectScene_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = capture->scene.SelectScene(capture, scenes); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_test.cpp b/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_test.cpp deleted file mode 100644 index cdce9b957c4198a1919e5f105aae37fa5fa130e8..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/capture/src/audio_hdicapture_test.cpp +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for capture drivers function. - * accessing a driver adapter, and capturing audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the capturing audio adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { - -class AudioHdiCaptureTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureTest::manager = nullptr; - -void AudioHdiCaptureTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureTest::TearDownTestCase(void) {} - -void AudioHdiCaptureTest::SetUp(void) {} - -void AudioHdiCaptureTest::TearDown(void) {} - - -/** -* @tc.name AudioCaptureGetCapturePosition_003 -* @tc.desc Test GetCapturePosition interface,Returns 0 if get CapturePosition after stop during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_003, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_NE(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_004 - * @tc.desc Test GetCapturePosition interface, return 0 if get CapturePosition after the object is created - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_004, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_005 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter Capture is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_005, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - struct AudioCapture *captureNull = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(captureNull, &frames, &time); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_006 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter frames is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_006, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t *framesNull = nullptr; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, framesNull, &time); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_007 - * @tc.desc Test GetCapturePosition interface, return -1 if setting the parameter time is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_007, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp *timeNull = nullptr; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, timeNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioCaptureGetCapturePosition_008 - * @tc.desc Test GetCapturePosition interface, return 0 if the GetCapturePosition was called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureTest, AudioCaptureGetCapturePosition_008, TestSize.Level1) -{ - struct AudioAdapter *adapter = {}; - struct AudioCapture *capture = nullptr; - uint64_t frames = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - struct AudioTimeStamp timeSec = { - .tvSec = 0, - .tvNSec = 0, - }; - int64_t timeExp = 0; - - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = capture->GetCapturePosition(capture, &frames, &timeSec); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - capture->control.Stop((AudioHandle)capture); - adapter->DestroyCapture(adapter, capture); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/manager/BUILD.gn b/audio/test/systemtest/hdi_advance/common/manager/BUILD.gn deleted file mode 100644 index 80bde5eb751f499458c3fa9dc546f60cb550b402..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/manager/BUILD.gn +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_manager_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdimanager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_manager_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdimanager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - external_deps = [ "hdf_core:libhdf_utils" ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/common/manager/src/audio_hdimanager_test.cpp b/audio/test/systemtest/hdi_advance/common/manager/src/audio_hdimanager_test.cpp deleted file mode 100644 index f7abfd0bb97590597f661008d61b709e9452c0e0..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/manager/src/audio_hdimanager_test.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Test audio-related APIs,functions for release audiomanager, - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio manager. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiManagerTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - TestAudioManager *manager = nullptr; -}; - -void AudioHdiManagerTest::SetUpTestCase(void) {} -void AudioHdiManagerTest::TearDownTestCase(void) {} -void AudioHdiManagerTest::SetUp(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiManagerTest::TearDown(void) {} - -/** -* @tc.name AudioReleaseAudioManagerObject_001 -* @tc.desc test ReleaseAudioManagerObject interface,Returns true if audiomanager is relaaseed successfully -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_001, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); - ASSERT_EQ(nullptr, manager->GetAllAdapters); - ASSERT_EQ(nullptr, manager->LoadAdapter); - ASSERT_EQ(nullptr, manager->UnloadAdapter); -} -/** -* @tc.name AudioReleaseAudioManagerObject_002 -* @tc.desc test ReleaseAudioManagerObject interface,Returns false if setting the incoming - parameter manager is nullptr -* @tc.type: FUNC -*/ - -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_002, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - TestAudioManager *managerNull = nullptr; - - ret = manager->ReleaseAudioManagerObject(managerNull); - EXPECT_FALSE(ret); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -/** -* @tc.name AudioReleaseAudioManagerObject_003 -* @tc.desc test ReleaseAudioManagerObject interface,Returns false if setting the incoming - parameter manager is illlegal -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_003, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - TestAudioManager errorManager = {}; - - ret = manager->ReleaseAudioManagerObject(&errorManager); - EXPECT_FALSE(ret); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -/** -* @tc.name AudioReleaseAudioManagerObject_004 -* @tc.desc test ReleaseAudioManagerObject interface,audiomanager can be getted after Releasing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiManagerTest, AudioReleaseAudioManagerObject_004, TestSize.Level1) -{ - bool ret; - ASSERT_NE(nullptr, manager); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); - - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); - ASSERT_NE(nullptr, manager->GetAllAdapters); - ASSERT_NE(nullptr, manager->LoadAdapter); - ASSERT_NE(nullptr, manager->UnloadAdapter); - - ret = manager->ReleaseAudioManagerObject(manager); - EXPECT_TRUE(ret); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/render/BUILD.gn b/audio/test/systemtest/hdi_advance/common/render/BUILD.gn deleted file mode 100644 index 4b74418a518261320e1ca99058ece44c936c3d02..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/render/BUILD.gn +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_attr_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } - moduletest("hdf_audio_hdi_render_scene_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - bublic_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } - moduletest("hdf_audio_hdi_render_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_attr_advance_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_attr_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } - ohos_systemtest("hdf_audio_hdi_render_scene_advance_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_scene_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } - - ohos_systemtest("hdf_audio_hdi_render_advance_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_attr_test.cpp b/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_attr_test.cpp deleted file mode 100644 index 5baeecc9d31bf63a9c61c5908385d8dfda5ded6b..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_attr_test.cpp +++ /dev/null @@ -1,549 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderAttrTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderAttrTest::manager = nullptr; - -void AudioHdiRenderAttrTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderAttrTest::TearDownTestCase(void) {} -void AudioHdiRenderAttrTest::SetUp(void) {} -void AudioHdiRenderAttrTest::TearDown(void) {} -/** - * @tc.name AudioRenderGetFrameSize_001 - * @tc.desc Test RenderGetFrameSize interface,return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, zero); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_002 - * @tc.desc Test RenderGetFrameSize interface,return -1 if failed to get the FrameSize when handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameSize(renderNull, &size); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameSize_003 - * @tc.desc Test RenderGetFrameSize interface,return -1 if failed to get the FrameSize when size is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameSize_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t *sizeNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameSize(render, sizeNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_001 - * @tc.desc Test RenderGetFrameCount interface, return 0 if the FrameSize was obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - uint64_t zero = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, zero); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_002 - * @tc.desc Test RenderGetFrameCount interface,return -1 if the incoming parameter handle is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameCount(renderNull, &count); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetFrameCount_003 - * @tc.desc Test RenderGetFrameCount interface,return -1 if the incoming parameter count is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetFrameCount_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t *countNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetFrameCount(render, countNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_001 - * @tc.desc Test RenderGetCurrentChannelId, return 0 if the default CurrentChannelId is obtained successfully - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdValue = CHANNELCOUNT; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(channelIdValue, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_003 - * @tc.desc Test RenderGetCurrentChannelId interface, return 0 if CurrentChannelId is obtained after created - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdExp = 2; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_004 - * @tc.desc Test GetCurrentChannelId interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(renderNull, &channelId); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetCurrentChannelId_005 - * @tc.desc Test RenderGetCurrentChannelId interface, return -1 if setting the parameter channelId is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderGetCurrentChannelId_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t *channelIdNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetCurrentChannelId(render, channelIdNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_001 - * @tc.desc Test RenderSetExtraParams interface,return 0 if the ExtraParams is set during playback - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - char keyValueListExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-sampling-rate=48000"; - size_t index = 1; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, .adapterName = ADAPTER_NAME.c_str(), .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str() - }; - audiopara.manager = manager; - ASSERT_NE(nullptr, audiopara.manager); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->attr.SetExtraParams((AudioHandle)audiopara.render, keyValueList); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = audiopara.render->attr.GetExtraParams((AudioHandle)audiopara.render, keyValueListValue, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - string strGetValue = keyValueListValue; - size_t indexAttr = strGetValue.find("attr-frame-count"); - size_t indexFlag = strGetValue.rfind(";"); - if (indexAttr != string::npos && indexFlag != string::npos) { - strGetValue.replace(indexAttr, indexFlag - indexAttr + index, ""); - } - EXPECT_STRNE(keyValueListExp, strGetValue.c_str()); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioRenderSetExtraParams_002 - * @tc.desc Test RenderSetExtraParams interface,return 0 if some parameters is set after playing - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueListOne[] = "attr-frame-count=1024;"; - char keyValueListOneExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListTwo[] = "attr-format=16;attr-frame-count=1024;"; - char keyValueListTwoExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListThr[] = "attr-route=1;attr-channels=1;attr-frame-count=1024;"; - char keyValueListThrExp[] = "attr-route=1;attr-format=16;attr-channels=1;attr-frame-count=1024;\ -attr-sampling-rate=48000"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - char keyValueListFourExp[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=4096;\ -attr-sampling-rate=48000"; - char keyValueListValueOne[256] = {}; - char keyValueListValueTwo[256] = {}; - char keyValueListValueThr[256] = {}; - char keyValueListValueFour[256] = {}; - int32_t listLenth = 256; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListOne); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueOne, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_STRNE(keyValueListOneExp, keyValueListValueOne); - - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListTwo); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueTwo, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_STRNE(keyValueListTwoExp, keyValueListValueTwo); - - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListThr); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueThr, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_STRNE(keyValueListThrExp, keyValueListValueThr); - - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListFour); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValueFour, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_STRNE(keyValueListFourExp, keyValueListValueFour); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_NE(HDF_SUCCESS, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_003 - * @tc.desc Test RenderSetExtraParams interface,return -1 if the Keyvaluelist is a value out of range - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-para=abc;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_004 - * @tc.desc Test RenderSetExtraParams interface,return -1 if adding parameters to keyvaluelist - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;\ -attr-frame-count=82;attr-sampling-rate=48000;attr-para=123"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_005 - * @tc.desc Test RenderSetExtraParams interface,return 0 if set ExtraParams When the key is the same and the value - is different - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - char keyValueList[] = "attr-sampling-rate=48000;attr-sampling-rate=96000;attr-frame-count=4096;"; - char keyValueListExp[] = "attr-route=0;attr-format=16;attr-channels=2;attr-frame-count=4096;\ - attr-sampling-rate=96000"; - char keyValueListValue[256] = {}; - int32_t listLenth = 256; - - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueList); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetExtraParams((AudioHandle)render, keyValueListValue, listLenth); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_STRNE(keyValueListExp, keyValueListValue); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_NE(HDF_SUCCESS, ret); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_006 - * @tc.desc Test RenderSetExtraParams interface,return -1 if Set the parameter in keyvaluelist as an abnormal value - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char attrSamplingRateError[] = "attr-sampling-rate=1234567;"; - char attrChannelsError[] = "attr-channels=3;"; - char attrFrameCountError[] = "attr-frame-count=111111111111111111111;"; - char attrRouteError[] = "attr-route=5;"; - char attrFormateError[] = "attr-formate=12;"; - - ASSERT_NE(nullptr, manager); - - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, attrSamplingRateError); - EXPECT_NE(HDF_FAILURE, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, attrChannelsError); - EXPECT_NE(HDF_FAILURE, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, attrFrameCountError); - EXPECT_NE(HDF_FAILURE, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, attrRouteError); - EXPECT_NE(HDF_FAILURE, ret); - - ret = render->attr.SetExtraParams((AudioHandle)render, attrFormateError); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_007 - * @tc.desc Test RenderSetExtraParams interface,return -1 if set the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - char keyValueList[] = "attr-format=2;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)renderNull, keyValueList); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderSetExtraParams_008 - * @tc.desc Test RenderSetExtraParams interface,return -1 if set the format of ExtraParams is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderAttrTest, AudioRenderSetExtraParams_008, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = {}; - struct AudioRender *render = nullptr; - char keyValueListNull[] = "attr-format=;"; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->attr.SetExtraParams((AudioHandle)render, keyValueListNull); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_scene_test.cpp b/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_scene_test.cpp deleted file mode 100644 index 9c5e2517a84481e098dbf6dc68921911c2aa4499..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_scene_test.cpp +++ /dev/null @@ -1,330 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderSceneTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderSceneTest::manager = nullptr; - -void AudioHdiRenderSceneTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderSceneTest::TearDownTestCase(void) {} - -void AudioHdiRenderSceneTest::SetUp(void) {} - -void AudioHdiRenderSceneTest::TearDown(void) {} - -/** -* @tc.name AudioRenderCheckSceneCapability_001 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return 0 if check scene's capability successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = false; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_TRUE(supported); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_002 -* @tc.desc Test RenderCheckSceneCapability interface,return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, &supported); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_003 -* @tc.desc Test AudioRenderCheckSceneCapability,return -1 if the render is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = true; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(renderNull, &scenes, &supported); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_004 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return -1 if the scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - bool supported = true; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->scene.CheckSceneCapability(render, scenes, &supported); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderCheckSceneCapability_005 -* @tc.desc Test AudioRenderCheckSceneCapability interface,return -1 if the supported is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderCheckSceneCapability_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.CheckSceneCapability(render, &scenes, nullptr); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_001 -* @tc.desc Test AudioRenderSelectScene interface,return 0 if select Render's scene successful. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_002 -* @tc.desc Test AudioRenderSelectScene, return 0 if select Render's scene successful after Render start. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_OUT_SPEAKER; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_EQ(HDF_SUCCESS, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_003 -* @tc.desc Test AudioRenderSelectScene, return -1 if the parameter handle is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 0; - scenes.desc.pins = PIN_IN_MIC; - ret = render->scene.SelectScene(renderNull, &scenes); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_004 -* @tc.desc Test AudioRenderSelectScene, return -1 if the parameter scene is empty. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor *scenes = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->scene.SelectScene(render, scenes); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderSelectScene_005 -* @tc.desc Test AudioRenderSelectScene, return -1 if the scene is not configured in the josn. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderSelectScene_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSceneDescriptor scenes = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - scenes.scene.id = 5; - scenes.desc.pins = PIN_OUT_HDMI; - ret = render->scene.SelectScene(render, &scenes); - EXPECT_NE(HDF_FAILURE, ret); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderTurnStandbyMode_001 -* @tc.desc Test AudioRenderTurnStandbyMode interface,return 0 if the interface use correctly. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderSceneTest, AudioRenderTurnStandbyMode_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->control.TurnStandbyMode((AudioHandle)render); - EXPECT_NE(HDF_SUCCESS, ret); - - sleep(3); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_test.cpp b/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_test.cpp deleted file mode 100644 index 3b7abc7f02f67ca4020745bae59a3d4cd1198345..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/common/render/src/audio_hdirender_test.cpp +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @addtogroup Audio - * @{ - * - * @brief Defines audio-related APIs, including custom data types and functions for loading drivers, - * accessing a driver adapter, and rendering audios. - * - * @since 1.0 - * @version 1.0 - */ - -/** - * @file audio_hdi_common.h - * - * @brief Declares APIs for operations related to the audio render adapter. - * - * @since 1.0 - * @version 1.0 - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderTest::manager = nullptr; - -void AudioHdiRenderTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderTest::TearDownTestCase(void) {} - -void AudioHdiRenderTest::SetUp(void) {} - -void AudioHdiRenderTest::TearDown(void) {} - -/** -* @tc.name AudioRenderGetLatency_001 -* @tc.desc test RenderGetLatency interface, return 0 if GetLatency successful -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t latencyTime = 0; - uint32_t expectLatency = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->GetLatency(render, &latencyTime); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_LT(expectLatency, latencyTime); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetLatency_002 -* @tc.desc test RenderGetLatency interface, return -1 if Setting parameters render is empty -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t latencyTime = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->GetLatency(renderNull, &latencyTime); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** -* @tc.name AudioRenderGetLatency_003 -* @tc.desc test RenderGetLatency interface,return -1 if Setting parameters ms is empty -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetLatency_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t *latencyTime = nullptr; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->GetLatency(render, latencyTime); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - ret = render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} - -/** -* @tc.name AudioRenderGetRenderPosition_001 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition during playing. -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_001, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, - .adapterName = ADAPTER_NAME.c_str(), - .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str(), - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_002 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after Pause and resume during playing -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioTimeStamp time = {.tvSec = 0, .tvNSec = 0}; - struct PrepareAudioPara audiopara = { - .portType = PORT_OUT, - .adapterName = ADAPTER_NAME.c_str(), - .pins = PIN_OUT_SPEAKER, - .path = AUDIO_FILE.c_str(), - }; - audiopara.manager = manager; - ASSERT_NE(audiopara.manager, nullptr); - - ret = pthread_create(&audiopara.tids, NULL, (THREAD_FUNC)PlayAudioFile, &audiopara); - ASSERT_EQ(HDF_SUCCESS, ret); - sleep(1); - if (audiopara.render != nullptr) { - FrameStatus(0); - usleep(1000); - ret = audiopara.render->control.Pause((AudioHandle)(audiopara.render)); - EXPECT_NE(HDF_SUCCESS, ret); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - usleep(1000); - ret = audiopara.render->control.Resume((AudioHandle)(audiopara.render)); - EXPECT_NE(HDF_SUCCESS, ret); - FrameStatus(1); - ret = audiopara.render->GetRenderPosition(audiopara.render, &frames, &time); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_GT(frames, INITIAL_VALUE); - } - - ret = ThreadRelease(audiopara); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** -* @tc.name AudioRenderGetRenderPosition_003 -* @tc.desc Test GetRenderPosition interface,Returns 0 if get RenderPosition after stop -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_003, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->control.Stop((AudioHandle)render); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_004 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioRender *render = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_005 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter render is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - struct AudioTimeStamp time = {}; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioRender *renderNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(renderNull, &frames, &time); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_006 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter frames is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t *framesNull = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, framesNull, &time); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_007 - * @tc.desc Test AudioRenderGetRenderPosition interface, return -1 if setting the parameter time is nullptr - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp *timeNull = nullptr; - - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, timeNull); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -/** - * @tc.name AudioRenderGetRenderPosition_008 - * @tc.desc Test AudioRenderGetRenderPosition interface, return 0 if the GetRenderPosition was called twice - * @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderTest, AudioRenderGetRenderPosition_008, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - int64_t timeExp = 0; - uint64_t frames = 0; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, manager); - ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); - - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - render->control.Stop((AudioHandle)render); - adapter->DestroyRender(adapter, render); - manager->UnloadAdapter(manager, adapter); -} -} diff --git a/audio/test/systemtest/hdi_advance/hardwaredependence/BUILD.gn b/audio/test/systemtest/hdi_advance/hardwaredependence/BUILD.gn deleted file mode 100644 index 9288e4ad32799c257d668ccd8322a9f2104a3872..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/hardwaredependence/BUILD.gn +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") - - import("./../../../../audio.gni") -} - -group("hdi_hardwaredependence") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "capture:hdf_audio_hdi_capture_hardware_dependence_advance_test", - "render:hdf_audio_hdi_render_hardware_dependence_advance_test", - ] -} diff --git a/audio/test/systemtest/hdi_advance/hardwaredependence/capture/BUILD.gn b/audio/test/systemtest/hdi_advance/hardwaredependence/capture/BUILD.gn deleted file mode 100644 index bb956d75e905f8121620c12deef8bbba897e02e2..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/hardwaredependence/capture/BUILD.gn +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_capture_hardware_dependence_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_capture_hardware_dependence_advance_test") { - module_out_path = module_output_path - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdicapture_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_test_path/common/hdi_common/include", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp b/audio/test/systemtest/hdi_advance/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp deleted file mode 100644 index baaf596bd448da299b900ee991b066adfd49dfca..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/hardwaredependence/capture/src/audio_hdicapture_hardware_dependence_test.cpp +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiCaptureHardwareDependenceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiCaptureHardwareDependenceTest::manager = nullptr; - -void AudioHdiCaptureHardwareDependenceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiCaptureHardwareDependenceTest::TearDownTestCase(void) {} - -void AudioHdiCaptureHardwareDependenceTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateCapture(manager, PIN_IN_MIC, ADAPTER_NAME, &adapter, &capture); - ASSERT_EQ(HDF_SUCCESS, ret); -} -void AudioHdiCaptureHardwareDependenceTest::TearDown(void) -{ - int32_t ret = ReleaseCaptureSource(manager, adapter, capture); - ASSERT_EQ(HDF_SUCCESS, ret); -} - -/** - * @tc.name AudioCaptureGetFrameSize_004 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameSize_005 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioCaptureGetFrameSize_006 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameSize_007 - * @tc.desc Test CaptureGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameSize_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = capture->attr.GetFrameSize(capture, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioCaptureGetFrameCount_005 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetFrameCount_006 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetFrameCount_007 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define channelCount to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetFrameCount_008 - * @tc.desc Test CaptureGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetFrameCount_008, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->attr.GetFrameCount(capture, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#endif -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetCurrentChannelId_002 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - - ret = AudioCaptureSetGetSampleAttributes(attrs, attrsValue, capture); - EXPECT_NE(HDF_SUCCESS, ret); - - ret = capture->attr.GetCurrentChannelId(capture, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(channelIdExp, channelId); -} -#endif -/** - * @tc.name AudioCaptureGetCapturePosition_009 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize - * define format to AUDIO_FORMAT_TYPE_PCM_16_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_009, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_NE(HDF_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetCapturePosition_010 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize - * define format to AUDIO_FORMAT_TYPE_PCM_24_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_010, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_NE(HDF_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioCaptureGetCapturePosition_011 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_011, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_NE(HDF_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioCaptureGetCapturePosition_012 - * @tc.desc Test GetCapturePosition interface,return 0 if get framesize define channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiCaptureHardwareDependenceTest, AudioCaptureGetCapturePosition_012, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, capture); - InitAttrsCapture(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - ret = capture->attr.SetSampleAttributes(capture, &attrs); - EXPECT_NE(HDF_SUCCESS, ret); - ret = capture->attr.GetSampleAttributes(capture, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - - ret = AudioCaptureStartAndOneFrame(capture); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = capture->GetCapturePosition(capture, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - - ret = capture->control.Stop((AudioHandle)capture); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#endif -} diff --git a/audio/test/systemtest/hdi_advance/hardwaredependence/render/BUILD.gn b/audio/test/systemtest/hdi_advance/hardwaredependence/render/BUILD.gn deleted file mode 100644 index d08a938bc4370459d92ab5eeff6b7b0064e51127..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/hardwaredependence/render/BUILD.gn +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") -} else { - import("//build/test.gni") -} -import("$hdf_audio_path/audio.gni") - -if (defined(ohos_lite)) { - moduletest("hdf_audio_hdi_render_hardware_dependence_advance_test") { - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "//third_party/bounds_checking_function/include", - "$hdf_audio_test_path/common/hdi_common/include", - "//third_party/googletest/googletest/include/gtest", - "$hdf_audio_test_path/hdi/hardwaredependence/render/include", - ] - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - ] - } -} else { - module_output_path = "drivers_peripheral_audio/audio" - - ohos_systemtest("hdf_audio_hdi_render_hardware_dependence_advance_test") { - module_out_path = module_output_path - resource_config_file = "./../../../../resource/ohos_test.xml" - sources = [ - "$hdf_audio_test_path/common/hdi_common/src/audio_hdi_common.cpp", - "src/audio_hdirender_hardware_dependence_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_test_path/common/hdi_common/include", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - deps = [ - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - defines = [] - if (enable_audio_adm_passthrough) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - defines += [ "AUDIO_ADM_SO" ] - } - if (enable_audio_adm_service) { - deps += [ "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client" ] - defines += [ "AUDIO_ADM_SERVICE" ] - } - } -} diff --git a/audio/test/systemtest/hdi_advance/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp b/audio/test/systemtest/hdi_advance/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp deleted file mode 100644 index 039284c401da9ec300428262fadf2859c06cd848..0000000000000000000000000000000000000000 --- a/audio/test/systemtest/hdi_advance/hardwaredependence/render/src/audio_hdirender_hardware_dependence_test.cpp +++ /dev/null @@ -1,412 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_hdi_common.h" - -using namespace std; -using namespace testing::ext; -using namespace OHOS::Audio; - -namespace { -class AudioHdiRenderHardwareDependenceTest : public testing::Test { -public: - static void SetUpTestCase(void); - static void TearDownTestCase(void); - void SetUp(); - void TearDown(); - static TestAudioManager *manager; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; -}; - -using THREAD_FUNC = void *(*)(void *); -TestAudioManager *AudioHdiRenderHardwareDependenceTest::manager = nullptr; - -void AudioHdiRenderHardwareDependenceTest::SetUpTestCase(void) -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(nullptr, manager); -} - -void AudioHdiRenderHardwareDependenceTest::TearDownTestCase(void) {} -void AudioHdiRenderHardwareDependenceTest::SetUp(void) -{ - ASSERT_NE(nullptr, manager); - int32_t ret = AudioCreateRender(manager, PIN_OUT_SPEAKER, ADAPTER_NAME, &adapter, &render); - ASSERT_EQ(HDF_SUCCESS, ret); -} -void AudioHdiRenderHardwareDependenceTest::TearDown(void) -{ - int32_t ret = ReleaseRenderSource(manager, adapter, render); - ASSERT_EQ(HDF_SUCCESS, ret); -} - -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameSize_005 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioRenderGetFrameSize_006 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_NE(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameSize_007 - * @tc.desc Test RenderGetFrameSize interface,return 0 if get framesize define sampleRate as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameSize_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t size = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_48000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = render->attr.GetFrameSize(render, &size); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(size, INITIAL_VALUE); -} -#endif -/** - * @tc.name AudioRenderGetFrameCount_004 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_004, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_NE(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioRenderGetFrameCount_005 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_005, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, DOUBLE_CHANNEL_COUNT, SAMPLE_RATE_8000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_NE(SAMPLE_RATE_8000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetFrameCount_006 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define channelCount to different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_006, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_44100); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_NE(SAMPLE_RATE_44100, attrsValue.sampleRate); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioRenderGetFrameCount_007 - * @tc.desc Test RenderGetFrameCount interface,return 0 if get framesize define format as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetFrameCount_007, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t count = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_16_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_NE(SAMPLE_RATE_32000, attrsValue.sampleRate); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetFrameCount(render, &count); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_GT(count, INITIAL_VALUE); - - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -#endif -#ifndef PRODUCT_RK3568 -/** - * @tc.name AudioRenderGetCurrentChannelId_002 - * @tc.desc Test GetCurrentChannelId interface,return 0 if get channelId to 1 and set channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetCurrentChannelId_002, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint32_t channelId = 0; - uint32_t channelIdExp = 1; - uint32_t channelCountExp = 1; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - ASSERT_NE(nullptr, render); - InitAttrsUpdate(attrs, AUDIO_FORMAT_TYPE_PCM_24_BIT, SINGLE_CHANNEL_COUNT, SAMPLE_RATE_32000); - - ret = AudioRenderSetGetSampleAttributes(attrs, attrsValue, render); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(channelCountExp, attrs.channelCount); - - ret = render->attr.GetCurrentChannelId(render, &channelId); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(channelIdExp, channelId); -} -#endif -/** - * @tc.name AudioRenderGetRenderPosition_009 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define format to AUDIO_FORMAT_TYPE_PCM_16_BIT -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_009, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = DOUBLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_EQ(DOUBLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioRenderGetRenderPosition_011 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define channelCount as different values -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_010, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = SINGLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_16_BIT, attrsValue.format); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -/** - * @tc.name AudioRenderGetRenderPosition_012 - * @tc.desc Test GetRenderPosition interface,return 0 if get framesize define channelCount to 1 -* @tc.type: FUNC -*/ -HWTEST_F(AudioHdiRenderHardwareDependenceTest, AudioRenderGetRenderPosition_011, TestSize.Level1) -{ - int32_t ret = HDF_FAILURE; - uint64_t frames = 0; - int64_t timeExp = 0; - struct AudioSampleAttributes attrs = {}; - struct AudioSampleAttributes attrsValue = {}; - struct AudioTimeStamp time = { - .tvSec = 0, - .tvNSec = 0, - }; - ASSERT_NE(nullptr, render); - InitAttrs(attrs); - attrs.type = AUDIO_IN_MEDIA; - attrs.interleaved = false; - attrs.format = AUDIO_FORMAT_TYPE_PCM_24_BIT; - attrs.sampleRate = SAMPLE_RATE_48000; - attrs.channelCount = SINGLE_CHANNEL_COUNT; - ret = render->attr.SetSampleAttributes(render, &attrs); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->attr.GetSampleAttributes(render, &attrsValue); - EXPECT_EQ(HDF_SUCCESS, ret); - EXPECT_NE(AUDIO_FORMAT_TYPE_PCM_24_BIT, attrsValue.format); - EXPECT_EQ(SAMPLE_RATE_48000, attrsValue.sampleRate); - EXPECT_NE(SINGLE_CHANNEL_COUNT, attrsValue.channelCount); - ret = AudioRenderStartAndOneFrame(render); - EXPECT_EQ(HDF_SUCCESS, ret); - ret = render->GetRenderPosition(render, &frames, &time); - EXPECT_NE(HDF_SUCCESS, ret); - EXPECT_EQ((time.tvSec) * SECTONSEC + (time.tvNSec), timeExp); - EXPECT_EQ(frames, INITIAL_VALUE); - ret = render->control.Stop((AudioHandle)render); - EXPECT_EQ(HDF_SUCCESS, ret); -} -} \ No newline at end of file diff --git a/audio/test/systemtest/supportlibs/common/capture/src/audio_alsa_libcapture_test.cpp b/audio/test/systemtest/supportlibs/common/capture/src/audio_alsa_libcapture_test.cpp index 5a687cd1d07cf23b37c992be63e56978edef1205..cb04a63b66a9d9c56243f7eb91f8ea9fc59b55d4 100644 --- a/audio/test/systemtest/supportlibs/common/capture/src/audio_alsa_libcapture_test.cpp +++ b/audio/test/systemtest/supportlibs/common/capture/src/audio_alsa_libcapture_test.cpp @@ -48,7 +48,7 @@ struct DevHandle *(*AudioAlsaLibCaptureTest::AudioBindService)(const char *) = n void (*AudioAlsaLibCaptureTest::CloseServiceCapture)(struct DevHandle *) = nullptr; void AudioAlsaLibCaptureTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); ASSERT_NE(nullptr, ptrHandle); InterfaceLibOutputCapture = (int32_t (*)(struct DevHandle *, int, diff --git a/audio/test/systemtest/supportlibs/common/capture/src/audio_libcapture_test.cpp b/audio/test/systemtest/supportlibs/common/capture/src/audio_libcapture_test.cpp index 8025f04fed7cf1d422044f11978861b5fae76dbf..674b9abe2d1e292defd4cdf33d37010be85b3a5c 100644 --- a/audio/test/systemtest/supportlibs/common/capture/src/audio_libcapture_test.cpp +++ b/audio/test/systemtest/supportlibs/common/capture/src/audio_libcapture_test.cpp @@ -52,7 +52,7 @@ void *AudioLibCaptureTest::ptrHandle = nullptr; void AudioLibCaptureTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { return; diff --git a/audio/test/systemtest/supportlibs/common/render/src/audio_alsa_librender_test.cpp b/audio/test/systemtest/supportlibs/common/render/src/audio_alsa_librender_test.cpp index 18aaf677cd27b15df8440391858c11e3b59682c6..304a1470cba241350c637158c3de237278f6cdbf 100644 --- a/audio/test/systemtest/supportlibs/common/render/src/audio_alsa_librender_test.cpp +++ b/audio/test/systemtest/supportlibs/common/render/src/audio_alsa_librender_test.cpp @@ -53,7 +53,7 @@ struct DevHandle *(*AudioAlsaLibRenderTest::BindServiceRender)(const char *serve void (*AudioAlsaLibRenderTest::CloseServiceRender)(struct DevHandle *handle) = nullptr; void AudioAlsaLibRenderTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); ASSERT_NE(nullptr, ptrHandle); InterfaceLibOutputRender = (int32_t (*)(struct DevHandle *, int, diff --git a/audio/test/systemtest/supportlibs/common/render/src/audio_librender_test.cpp b/audio/test/systemtest/supportlibs/common/render/src/audio_librender_test.cpp index b91ea54e6444f816c8ccbe5493b2a0a47556daaa..0309a4f1598062e66c179cefbb0f85fb3c326dd7 100644 --- a/audio/test/systemtest/supportlibs/common/render/src/audio_librender_test.cpp +++ b/audio/test/systemtest/supportlibs/common/render/src/audio_librender_test.cpp @@ -57,7 +57,7 @@ void *AudioLibRenderTest::ptrHandle = nullptr; void AudioLibRenderTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { return; diff --git a/audio/test/systemtest/supportlibs/hardwaredependence/capture/src/audio_libcapture_hardwaredependence_test.cpp b/audio/test/systemtest/supportlibs/hardwaredependence/capture/src/audio_libcapture_hardwaredependence_test.cpp index 4e56a48496d4d5ef3d1cd9c7c62e3fa8699f819d..0d84ff53c0e03fb3a49b43e1c7a71ea2c0b43a03 100644 --- a/audio/test/systemtest/supportlibs/hardwaredependence/capture/src/audio_libcapture_hardwaredependence_test.cpp +++ b/audio/test/systemtest/supportlibs/hardwaredependence/capture/src/audio_libcapture_hardwaredependence_test.cpp @@ -63,7 +63,7 @@ void *AudioLibCaptureHardwareDependenceTest::ptrHandle = nullptr; void AudioLibCaptureHardwareDependenceTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_capture"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_capture_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { return; diff --git a/audio/test/systemtest/supportlibs/hardwaredependence/render/src/audio_librender_hardwaredependence_test.cpp b/audio/test/systemtest/supportlibs/hardwaredependence/render/src/audio_librender_hardwaredependence_test.cpp index 4bc4f021eafc469a0ab9d9bafbd2a0a1e13cfe41..e8d4b82412edc91869b5ac0204e124c4f1ed20ac 100644 --- a/audio/test/systemtest/supportlibs/hardwaredependence/render/src/audio_librender_hardwaredependence_test.cpp +++ b/audio/test/systemtest/supportlibs/hardwaredependence/render/src/audio_librender_hardwaredependence_test.cpp @@ -65,7 +65,7 @@ void *AudioLibRenderHardwareDependenceTest::ptrHandle = nullptr; void AudioLibRenderHardwareDependenceTest::SetUpTestCase(void) { - char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libhdi_audio_interface_lib_render"); + char resolvedPath[] = HDF_LIBRARY_FULL_PATH("libaudio_render_adapter"); ptrHandle = dlopen(resolvedPath, RTLD_LAZY); if (ptrHandle == nullptr) { return; diff --git a/audio/test/unittest/BUILD.gn b/audio/test/unittest/BUILD.gn index 842d92ae52ec4ee03c90441251e3d1e190aaec0a..d0a52c1630e3a78e1b926dffb1e97df29f9f1d16 100644 --- a/audio/test/unittest/BUILD.gn +++ b/audio/test/unittest/BUILD.gn @@ -25,14 +25,7 @@ group("audiotest") { deps = [ "common:hdi_base_common" ] # hal ut - if (drivers_peripheral_audio_feature_rich_device) { - # deps += [ "hdi/client_advance:hdi_client_advance" ] - } if (drivers_peripheral_audio_feature_full_test_suite) { - deps += [ - # "hdi/client:hdi_client", - "hdi/passthrough:hdi_passthrough", - "supportlibs:interface_lib", - ] + deps += [ "supportlibs:interface_lib" ] } } diff --git a/audio/test/unittest/hdi/client/BUILD.gn b/audio/test/unittest/hdi/client/BUILD.gn deleted file mode 100644 index 5fefa20ff7f6dab9fb83cfc6dbec11c4cef3276a..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/BUILD.gn +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/test.gni") -import("./../../../../audio.gni") - -group("hdi_client") { - if (!defined(ohos_lite) && !drivers_peripheral_audio_feature_user_mode) { - testonly = true - deps = [ - # "adapter:hdf_audio_proxy_adapter_test", - "capture:hdf_audio_proxy_capture_test", - "common:hdf_audio_proxy_common_test", - "manager:hdf_audio_proxy_manager_test", - "render:hdf_audio_proxy_render_test", - ] - } -} diff --git a/audio/test/unittest/hdi/client/adapter/BUILD.gn b/audio/test/unittest/hdi/client/adapter/BUILD.gn deleted file mode 100644 index 6b77267f370e3e2ee2cbb14697cb9ea77b0841e1..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/adapter/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_adapter_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/adapter/src/audio_proxy_adapter_test.cpp", - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client/adapter/src/audio_proxy_adapter_test.cpp b/audio/test/unittest/hdi/client/adapter/src/audio_proxy_adapter_test.cpp deleted file mode 100644 index dfedb95bd4a9ba9793c0cf4f74ff60689bb83515..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/adapter/src/audio_proxy_adapter_test.cpp +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" -#include "audio_proxy_internal.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioProxyAdapterTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioManager *(*getAudioManager)(void) = NULL; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioCapture *capture = nullptr; - void *clientHandle = nullptr; - struct AudioDeviceDescriptor devDescRender = {}; - struct AudioSampleAttributes attrsRender = {}; - struct AudioDeviceDescriptor devDescCapture = {}; - struct AudioSampleAttributes attrsCapture = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyAdapterTest::SetUp() -{ - clientHandle = GetDynamicLibHandle(RESOLVED_PATH); - ASSERT_NE(clientHandle, nullptr); - getAudioManager = (struct AudioManager *(*)())(dlsym(clientHandle, FUNCTION_NAME.c_str())); - ASSERT_NE(getAudioManager, nullptr); - managerFuncs = getAudioManager(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDesc(devDescRender)); - ASSERT_EQ(HDF_SUCCESS, InitAttrs(attrsRender)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateRender(adapter, &devDescRender, &attrsRender, &render)); - - ASSERT_EQ(HDF_SUCCESS, InitDevDescCapture(devDescCapture)); - ASSERT_EQ(HDF_SUCCESS, InitAttrsCapture(attrsCapture)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateCapture(adapter, &devDescCapture, &attrsCapture, &capture)); -} - -void AudioProxyAdapterTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyRender(adapter, render); - render = nullptr; - adapter->DestroyCapture(adapter, capture); - capture = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } - if (clientHandle != nullptr) { - dlclose(clientHandle); - clientHandle = nullptr; - } -} - -HWTEST_F(AudioProxyAdapterTest, AdapterInitAllPorts_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterInitAllPorts(nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterInitAllPorts_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - const char *tempPtr = hwAdapter->adapterDescriptor.adapterName; - hwAdapter->adapterDescriptor.adapterName = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterInitAllPorts(adapter)); - hwAdapter->adapterDescriptor.adapterName = tempPtr; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterInitAllPorts_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct AudioPort *ports = hwAdapter->adapterDescriptor.ports; - hwAdapter->adapterDescriptor.ports = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterInitAllPorts(adapter)); - hwAdapter->adapterDescriptor.ports = ports; - ports = nullptr; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterInitAllPorts_004, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - uint32_t portNum = hwAdapter->adapterDescriptor.portNum; - hwAdapter->adapterDescriptor.portNum = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterInitAllPorts(adapter)); - hwAdapter->adapterDescriptor.portNum = portNum; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterInitAllPorts_005, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterInitAllPorts(adapter)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterCreateRender_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioRender *render = nullptr; - const struct AudioDeviceDescriptor *descTemp = nullptr; - const struct AudioSampleAttributes *attrsTemp = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateRender(nullptr, descTemp, attrsTemp, &render)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateRender(adapter, nullptr, attrsTemp, &render)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateRender(adapter, descTemp, nullptr, &render)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateRender(adapter, descTemp, attrsTemp, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterCreateRender_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateRender(adapter, &devDescRender, &attrsRender, - &render)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyRender_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioRender render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyRender(nullptr, &render)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyRender(adapter, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyRender_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyRender(adapter, render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyRender_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterDestroyRender(adapter, render)); - render = nullptr; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterCreateCapture_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioCapture *capture = nullptr; - const struct AudioDeviceDescriptor *descTemp = nullptr; - const struct AudioSampleAttributes *attrsTemp = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateCapture(nullptr, descTemp, attrsTemp, &capture)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateCapture(adapter, nullptr, attrsTemp, &capture)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateCapture(adapter, descTemp, nullptr, &capture)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateCapture(adapter, descTemp, attrsTemp, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterCreateCapture_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterCreateCapture(adapter, &devDescCapture, &attrsCapture, - &capture)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyCapture_001, TestSize.Level1) -{ - struct AudioAdapter adapter; - struct AudioCapture capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyCapture(nullptr, &capture)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyCapture(&adapter, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyCapture_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterDestroyCapture(adapter, capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterDestroyCapture_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterDestroyCapture(adapter, capture)); - capture = nullptr; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - const struct AudioPort *port = nullptr; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPortCapability(nullptr, port, &capability)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPortCapability(adapter, nullptr, &capability)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPortCapability(adapter, port, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterGetPortCapability(adapter, &port, &capability)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct AudioPortAndCapability *hwAdapterPortCapabilitys = hwAdapter->portCapabilitys; - hwAdapter->portCapabilitys = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterGetPortCapability(adapter, &port, &capability)); - hwAdapter->portCapabilitys = hwAdapterPortCapabilitys; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_004, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - int32_t portNum = hwAdapter->adapterDescriptor.portNum; - hwAdapter->adapterDescriptor.portNum = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterGetPortCapability(adapter, &port, &capability)); - hwAdapter->adapterDescriptor.portNum = portNum; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - int32_t ret = AudioProxyAdapterSetPassthroughMode(nullptr, &port, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = AudioProxyAdapterSetPassthroughMode(adapter, nullptr, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = AudioProxyAdapterSetPassthroughMode(adapter, &port, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_IN; - port.portName = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterSetPassthroughMode(adapter, &port, mode)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - int32_t ret = AudioProxyAdapterInitAllPorts(adapter); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); - struct AudioPort port; - port.dir = PORT_OUT; - port.portId = 0; - port.portName = "AOP"; - ret = AudioProxyAdapterSetPassthroughMode(adapter, &port, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_SUCCESS, ret); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_004, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_OUT; - port.portId = 1; - port.portName = "abc"; - int32_t ret = AudioProxyAdapterSetPassthroughMode(adapter, &port, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, ret); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_005, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_OUT; - port.portId = 1; - port.portName = "AOP"; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterSetPassthroughMode(adapter, &port, PORT_PASSTHROUGH_LPCM)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPassthroughMode(nullptr, &port, nullptr)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPassthroughMode(adapter, nullptr, nullptr)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPassthroughMode(adapter, &port, nullptr)); - port.portName = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetPassthroughMode(adapter, &port, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_IN; - port.portId = 1; - port.portName = "abc"; - AudioPortPassthroughMode mode; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterGetPassthroughMode(adapter, &port, &mode)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort *port = new AudioPort; - port->dir = PORT_OUT; - port->portId = 0; - port->portName = "AOP"; - AudioPortPassthroughMode mode; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterInitAllPorts(adapter)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyAdapterGetPassthroughMode(adapter, port, &mode)); - delete port; - port = nullptr; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_004, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_OUT; - port.portId = 1; - port.portName = "abc"; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterGetPassthroughMode(adapter, &port, &mode)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_005, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_OUT; - port.portId = 1; - port.portName = "AOP"; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterGetPassthroughMode(adapter, &port, &mode)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - enum AudioExtParamKey key = AUDIO_EXT_PARAM_KEY_NONE; - const char *condition = nullptr; - char value[AUDIO_ADAPTER_BUF_TEST]; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterSetExtraParams(nullptr, key, condition, value)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterSetExtraParams(adapter, key, condition, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - enum AudioExtParamKey key = AUDIO_EXT_PARAM_KEY_NONE; - const char *condition = nullptr; - char value[AUDIO_ADAPTER_BUF_TEST]; - struct AudioHwAdapter *hwAdapter = reinterpret_cast(adapter); - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterSetExtraParams(adapter, key, condition, value)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - enum AudioExtParamKey key = AUDIO_EXT_PARAM_KEY_NONE; - char condition[AUDIO_ADAPTER_BUF_TEST]; - char value[AUDIO_ADAPTER_BUF_TEST]; - int32_t length = AUDIO_ADAPTER_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetExtraParams(nullptr, key, condition, value, length)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetExtraParams(adapter, key, condition, nullptr, length)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetExtraParams(adapter, key, condition, value, 0)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - enum AudioExtParamKey key = AUDIO_EXT_PARAM_KEY_NONE; - char condition[AUDIO_ADAPTER_BUF_TEST]; - char value[AUDIO_ADAPTER_BUF_TEST]; - int32_t length = AUDIO_ADAPTER_BUF_TEST; - struct AudioHwAdapter *hwAdapter = reinterpret_cast(adapter); - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterGetExtraParams(adapter, key, condition, value, length)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetVoiceVolume_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterSetVoiceVolume(adapter, volume)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetMicMute_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioProxyAdapterSetMicMute(adapter, mute)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetMicMute_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyAdapterGetMicMute(adapter, &mute)); -} -} diff --git a/audio/test/unittest/hdi/client/capture/BUILD.gn b/audio/test/unittest/hdi/client/capture/BUILD.gn deleted file mode 100644 index 6a61b012a84553f3493acaaee856a1f1eb88944e..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/capture/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_capture_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/capture/src/audio_proxy_capture_test.cpp", - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client/capture/src/audio_proxy_capture_test.cpp b/audio/test/unittest/hdi/client/capture/src/audio_proxy_capture_test.cpp deleted file mode 100644 index 505497d882a83eab8d5346ab7b0520916e35734b..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/capture/src/audio_proxy_capture_test.cpp +++ /dev/null @@ -1,660 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" - -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioProxyCaptureTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioManager *(*getAudioManager)(void) = NULL; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioPort *audioPort = nullptr; - void *clientHandle = nullptr; - struct AudioDeviceDescriptor devDescCapture = {}; - struct AudioSampleAttributes attrsCapture = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyCaptureTest::SetUp() -{ - clientHandle = GetDynamicLibHandle(RESOLVED_PATH); - ASSERT_NE(clientHandle, nullptr); - getAudioManager = (struct AudioManager *(*)())(dlsym(clientHandle, FUNCTION_NAME.c_str())); - ASSERT_NE(getAudioManager, nullptr); - managerFuncs = getAudioManager(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDescCapture(devDescCapture)); - ASSERT_EQ(HDF_SUCCESS, InitAttrsCapture(attrsCapture)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateCapture(adapter, &devDescCapture, &attrsCapture, &capture)); -} - -void AudioProxyCaptureTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyCapture(adapter, capture); - capture = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } - if (clientHandle != nullptr) { - dlclose(clientHandle); - clientHandle = nullptr; - } -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureStart(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureStart((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureStart((AudioHandle)capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureStop((AudioHandle)capture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStop_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureStop(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStop_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureStop((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CapturePause_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCapturePause(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CapturePause_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCapturePause((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureResume_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureResume(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureResume_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureResume((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureFlush_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureFlush(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureFlush_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyCaptureFlush((AudioHandle)capture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t size = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameSize(nullptr, &size)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameSize((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t size = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameSize((AudioHandle)capture, &size)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t size = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureGetFrameSize((AudioHandle)capture, &size)); - EXPECT_NE(size, 0); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameCount_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t count = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameCount(nullptr, &count)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameCount((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameCount_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t count = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetFrameCount((AudioHandle)capture, &count)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetSampleAttributes_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetSampleAttributes(nullptr, &attrsCapture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetSampleAttributes((AudioHandle)capture, &attrsCapture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetSampleAttributes_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetSampleAttributes(nullptr, &attrsCapture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetSampleAttributes((AudioHandle)capture, &attrsCapture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCurrentChannelId_001, TestSize.Level1) -{ - uint32_t channelId = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCurrentChannelId(nullptr, &channelId)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCurrentChannelId((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCurrentChannelId_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint32_t channelId = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCurrentChannelId((AudioHandle)capture, &channelId)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureCheckSceneCapability_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCheckSceneCapability(nullptr, &scene, &supported)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCheckSceneCapability((AudioHandle)capture, nullptr, - &supported)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCheckSceneCapability((AudioHandle)capture, &scene, - nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureCheckSceneCapability_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCheckSceneCapability((AudioHandle)capture, &scene, - &supported)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSelectScene(nullptr, &scene)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSelectScene((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSelectScene((AudioHandle)capture, &scene)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor *scene = new AudioSceneDescriptor; - scene->scene.id = 0; // 0 is Media - scene->desc.pins = PIN_IN_HS_MIC; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureSelectScene((AudioHandle)capture, scene)); - scene->desc.pins = PIN_IN_MIC; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureSelectScene((AudioHandle)capture, scene)); - delete scene; - scene = nullptr; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetMute_001, TestSize.Level1) -{ - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetMute(nullptr, mute)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetMute_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetMute((AudioHandle)capture, mute)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetMute_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - bool mute; - mute = true; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureSetMute((AudioHandle)capture, mute)); - mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureSetMute((AudioHandle)capture, mute)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetMute_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMute(nullptr, &mute)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMute((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetMute_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMute((AudioHandle)capture, &mute)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetMute_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - bool mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureGetMute((AudioHandle)capture, &mute)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetVolume_001, TestSize.Level1) -{ - float volume = HALF_OF_NORMAL_VALUE; // Adjust the volume to half - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetVolume(nullptr, volume)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetVolume_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - float volume = HALF_OF_NORMAL_VALUE; // Adjust the volume to half - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetVolume((AudioHandle)capture, volume)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetVolume_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - float volume = MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetVolume((AudioHandle)capture, volume)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetVolume_004, TestSize.Level1) -{ - float volume = MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetVolume((AudioHandle)capture, volume)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetVolume_001, TestSize.Level1) -{ - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetVolume(nullptr, &volume)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetVolume_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetVolume((AudioHandle)capture, &volume)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetVolume_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - float volume = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureGetVolume((AudioHandle)capture, &volume)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetGainThreshold_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - float min = 0; - float max = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGainThreshold(nullptr, &min, &max)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGainThreshold((AudioHandle)capture, nullptr, &max)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGainThreshold((AudioHandle)capture, &min, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetGainThreshold_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - float min = 0; - float max = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGainThreshold((AudioHandle)capture, &min, &max)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetGain_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGain(nullptr, &gain)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGain((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetGain_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetGain((AudioHandle)capture, &gain)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetGain_001, TestSize.Level1) -{ - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetGain(nullptr, gain)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetGain_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - float gain = HALF_OF_NORMAL_VALUE; // The parameter is adjusted to half the threshold of 1 - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetGain((AudioHandle)capture, gain)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetGain_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - float gain = MIN_VALUE_OUT_OF_BOUNDS; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetGain((AudioHandle)capture, gain)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureFrame_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - int8_t frame[AUDIO_CAPTURE_BUF_TEST]; - uint64_t frameLen = AUDIO_CAPTURE_BUF_TEST; - uint64_t requestBytes = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCaptureFrame(nullptr, &frame, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCaptureFrame(capture, nullptr, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCaptureFrame(capture, &frame, frameLen, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureFrame_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - int8_t frame[AUDIO_CAPTURE_BUF_TEST]; - uint64_t frameLen = AUDIO_CAPTURE_BUF_TEST; - uint64_t requestBytes = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureCaptureFrame(capture, &frame, frameLen, &requestBytes)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureFrame_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - int8_t frame[AUDIO_CAPTURE_BUF_TEST ]; - uint64_t frameLen = AUDIO_CAPTURE_BUF_TEST; - uint64_t requestBytes = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureStart((AudioHandle)capture)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureCaptureFrame(capture, &frame, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyCaptureStop((AudioHandle)capture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCapturePosition_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCapturePosition(nullptr, &frames, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCapturePosition(capture, nullptr, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCapturePosition(capture, &frames, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCapturePosition_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetCapturePosition(capture, &frames, &time)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetExtraParams(nullptr, keyValueList)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetExtraParams((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureSetExtraParams((AudioHandle)capture, keyValueList)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - int32_t listLenth = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetExtraParams(nullptr, keyValueList, listLenth)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetExtraParams((AudioHandle)capture, nullptr, listLenth)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetExtraParams((AudioHandle)capture, keyValueList, 0)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - int32_t listLenth = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetExtraParams((AudioHandle)capture, keyValueList, - listLenth)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureReqMmapBuffer_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureReqMmapBuffer(nullptr, reqSize, &desc)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureReqMmapBuffer((AudioHandle)capture, reqSize, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureReqMmapBuffer_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureReqMmapBuffer((AudioHandle)capture, reqSize, &desc)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetMmapPosition_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMmapPosition(nullptr, &frames, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMmapPosition((AudioHandle)capture, nullptr, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMmapPosition((AudioHandle)capture, &frames, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetMmapPosition_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureGetMmapPosition((AudioHandle)capture, &frames, &time)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureTurnStandbyMode_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureTurnStandbyMode(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureTurnStandbyMode_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureTurnStandbyMode((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureAudioDevDump_001, TestSize.Level1) -{ - int32_t range = 0; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureAudioDevDump(nullptr, range, fd)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureAudioDevDump_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - int32_t range = 0; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCaptureAudioDevDump((AudioHandle)capture, range, fd)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} -} diff --git a/audio/test/unittest/hdi/client/common/BUILD.gn b/audio/test/unittest/hdi/client/common/BUILD.gn deleted file mode 100644 index 7fb0d8569bdc0930c25fad40b396016a02163a57..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/common/BUILD.gn +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_common_test") { - module_out_path = "hdf/audio" - sources = [ "./../common/src/audio_proxy_common_test.cpp" ] - - include_dirs = [ - "./../common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client/common/include/audio_proxy_common_fun_test.h b/audio/test/unittest/hdi/client/common/include/audio_proxy_common_fun_test.h deleted file mode 100644 index ffa4926d468a78d0612232553b89a9d4e538e927..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/common/include/audio_proxy_common_fun_test.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PROXY_COMMON_FUN_TEST_H -#define AUDIO_PROXY_COMMON_FUN_TEST_H - -#include -#include "hdf_base.h" -#include "audio_types.h" -#include "audio_internal.h" -#include "audio_proxy_internal.h" -#include "audio_proxy_manager.h" -#include "audio_render.h" -#include "audio_capture.h" - -#ifdef __LITEOS__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/usr/lib/libhdi_audio_client.z.so" -#else -#ifdef __aarch64__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib64/libhdi_audio_client.z.so" -#else -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib/libhdi_audio_client.z.so" -#endif -#endif - -namespace comfun { - const int32_t PORTNUM = 1; - const int32_t AUDIO_CHANNELCOUNT = 2; - const int32_t AUDIO_SAMPLE_RATE_48K = 48000; - const int32_t DEEP_BUFFER_RENDER_PERIOD_SIZE = 4096; - const int32_t INT_32_MAX = 0x7fffffff; - const int32_t SILENCE_THRESHOLD = 16 * 1024; - const int32_t DEFAULT_RENDER_SAMPLING_RATE = 48000; - const int32_t DEEP_BUFFER_RENDER_PERIOD_COUNT = 8; - const int32_t AUDIO_FORMAT_PCM_BIT = 16; - const int32_t MANAGER_ADAPTER_NAME_LEN = 32; - const int32_t AUDIO_CAPTURE_BUF_TEST = 8192 * 2; - const int32_t AUDIO_RENDER_BUF_TEST = 1024; - const int32_t AUDIO_ADAPTER_BUF_TEST = 1024; - const int32_t ADAPTER_COUNT = 32; - const int32_t DYNAMIC_LIB_PATH_MAX = 256; - const float HALF_OF_NORMAL_VALUE = 0.5; - const float MIN_VALUE_OUT_OF_BOUNDS = -1; - const float MAX_VALUE_OUT_OF_BOUNDS = 2; - using TestAudioManager = struct AudioManager; - const std::string ADAPTER_NAME_USB = "usb"; - const std::string FUNCTION_NAME = "GetAudioManagerFuncs"; - const std::string RESOLVED_PATH = HDF_AUDIO_CLIENT_FULL_PATH_LIB; - - void *GetDynamicLibHandle(const std::string path); - int32_t InitPort(struct AudioPort &portIndex); - int32_t InitHwRender(struct AudioHwRender &hwRender, - const struct AudioDeviceDescriptor &desc, const struct AudioSampleAttributes &attrs); - int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs); - int32_t InitAttrs(struct AudioSampleAttributes &attrs); - int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc); - int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc, const uint32_t portId, int pins); - int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs); - int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc); - int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie); - int32_t GetLoadAdapter(TestAudioManager *manager, int portType, - const std::string &adapterName, struct AudioAdapter **adapter, struct AudioPort *&audioPort); - int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size); - int32_t SwitchAdapter(struct AudioAdapterDescriptor *descs, const std::string &adapterNameCase, - int portFlag, struct AudioPort *&audioPort, int size); -} -#endif diff --git a/audio/test/unittest/hdi/client/common/src/audio_proxy_common_fun_test.cpp b/audio/test/unittest/hdi/client/common/src/audio_proxy_common_fun_test.cpp deleted file mode 100644 index 1ea3b7a9c90ecf246079c3afc654d9803f10d901..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/common/src/audio_proxy_common_fun_test.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_proxy_common_fun_test.h" -#include -#include -#include -#include "hdf_remote_service.h" - -namespace comfun { -void *GetDynamicLibHandle(const std::string path) -{ - char absPath[DYNAMIC_LIB_PATH_MAX] = {0}; - if (realpath(path.c_str(), absPath) == nullptr) { - return nullptr; - } - void *handleSo = dlopen(absPath, RTLD_LAZY); - if (handleSo == nullptr) { - return nullptr; - } - return handleSo; -} - -int32_t InitPort(struct AudioPort &portIndex) -{ - portIndex.dir = PORT_OUT; - portIndex.portId = 1; - portIndex.portName = "usb"; - return HDF_SUCCESS; -} - -int32_t InitHwRender(struct AudioHwRender &hwRender, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs) -{ - hwRender.renderParam.renderMode.hwInfo.deviceDescript = desc; - hwRender.renderParam.frameRenderMode.attrs = attrs; - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMin = 0; - hwRender.renderParam.frameRenderMode.frames = 0; - hwRender.renderParam.frameRenderMode.time.tvNSec = 0; - hwRender.renderParam.frameRenderMode.time.tvSec = 0; - hwRender.renderParam.frameRenderMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwRender.renderParam.frameRenderMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwRender.renderParam.frameRenderMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwRender.renderParam.frameRenderMode.attrs.period = attrs.period; - hwRender.renderParam.frameRenderMode.attrs.frameSize = attrs.frameSize; - hwRender.renderParam.frameRenderMode.attrs.startThreshold = attrs.startThreshold; - hwRender.renderParam.frameRenderMode.attrs.stopThreshold = attrs.stopThreshold; - hwRender.renderParam.frameRenderMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwRender.renderParam.frameRenderMode.attrs.isBigEndian = attrs.isBigEndian; - hwRender.renderParam.frameRenderMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs) -{ - hwCapture.captureParam.captureMode.hwInfo.deviceDescript = desc; - hwCapture.captureParam.frameCaptureMode.attrs = attrs; - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMin = 0; - hwCapture.captureParam.frameCaptureMode.frames = 0; - hwCapture.captureParam.frameCaptureMode.time.tvNSec = 0; - hwCapture.captureParam.frameCaptureMode.time.tvSec = 0; - hwCapture.captureParam.frameCaptureMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwCapture.captureParam.frameCaptureMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwCapture.captureParam.frameCaptureMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwCapture.captureParam.frameCaptureMode.attrs.period = attrs.period; - hwCapture.captureParam.frameCaptureMode.attrs.frameSize = attrs.frameSize; - hwCapture.captureParam.frameCaptureMode.attrs.startThreshold = attrs.startThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.stopThreshold = attrs.stopThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.isBigEndian = attrs.isBigEndian; - hwCapture.captureParam.frameCaptureMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -void InitAttrsCommon(struct AudioSampleAttributes &attrs) -{ - /* Initialization of audio parameters for playback */ - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.channelCount = AUDIO_CHANNELCOUNT; - attrs.sampleRate = AUDIO_SAMPLE_RATE_48K; - attrs.interleaved = 0; - attrs.type = AUDIO_IN_MEDIA; - attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; - attrs.frameSize = AUDIO_FORMAT_PCM_BIT * AUDIO_CHANNELCOUNT / 8; /* divide 8 is for bit to byte */ - attrs.isBigEndian = false; - attrs.isSignedData = true; - /* DEEP_BUFFER_RENDER_PERIOD_SIZE / (16 * attrs->channelCount / 8) divide 8 is for bit to byte */ - attrs.startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (AUDIO_FORMAT_PCM_BIT * AUDIO_CHANNELCOUNT / 8); - attrs.stopThreshold = INT_32_MAX; -} - -int32_t InitAttrs(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - attrs.silenceThreshold = 0; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_OUT_SPEAKER; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc, const uint32_t portId, int pins) -{ - devDesc.portId = portId; - devDesc.pins = (enum AudioPortPin)pins; - devDesc.desc = nullptr; - return HDF_SUCCESS; -} - -int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - attrs.silenceThreshold = SILENCE_THRESHOLD; - return HDF_SUCCESS; -} - -int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_IN_MIC; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie) -{ - (void)reserved; - (void)cookie; - switch (type) { - case AUDIO_NONBLOCK_WRITE_COMPLETED: - return HDF_SUCCESS; - case AUDIO_RENDER_FULL: - return HDF_SUCCESS; - case AUDIO_FLUSH_COMPLETED: - return HDF_SUCCESS; - case AUDIO_ERROR_OCCUR: - return HDF_FAILURE; - case AUDIO_DRAIN_COMPLETED: - return HDF_FAILURE; - default: - return HDF_FAILURE; - } - return HDF_FAILURE; -} - -int32_t SwitchAdapter(struct AudioAdapterDescriptor *descs, const std::string &adapterNameCase, - int portFlag, struct AudioPort *&audioPort, int size) -{ - if (descs == nullptr || size > ADAPTER_COUNT) { - return HDF_FAILURE; - } - - for (int index = 0; index < size; index++) { - struct AudioAdapterDescriptor *desc = &descs[index]; - if (desc == nullptr || desc->adapterName == nullptr) { - continue; - } - if (strcmp(desc->adapterName, adapterNameCase.c_str())) { - continue; - } - for (uint32_t port = 0; port < desc->portNum; port++) { - if (desc->ports[port].dir == portFlag) { - audioPort = &desc->ports[port]; - return index; - } - } - } - return HDF_FAILURE; -} - -int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size) -{ - int32_t ret = -1; - if (descs == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = manager->GetAllAdapters(manager, descs, &size); - if (ret < 0) { - return ret; - } - if (*descs == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} - -int32_t GetLoadAdapter(TestAudioManager *manager, int portType, - const std::string &adapterName, struct AudioAdapter **adapter, struct AudioPort *&audioPort) -{ - int32_t ret = -1; - int size = 0; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - if (adapter == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = GetAdapters(manager, &descs, size); - if (ret < 0) { - return ret; - } - if (descs == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - - int index = SwitchAdapter(descs, adapterName, portType, audioPort, size); - if (index < 0) { - return AUDIO_HAL_ERR_INTERNAL; - } - desc = &descs[index]; - if (desc == nullptr) { - return AUDIO_HAL_ERR_INVALID_PARAM; - } - ret = manager->LoadAdapter(manager, desc, adapter); - if (ret < 0) { - return ret; - } - if (*adapter == nullptr) { - return AUDIO_HAL_ERR_INTERNAL; - } - return AUDIO_HAL_SUCCESS; -} -} diff --git a/audio/test/unittest/hdi/client/common/src/audio_proxy_common_test.cpp b/audio/test/unittest/hdi/client/common/src/audio_proxy_common_test.cpp deleted file mode 100644 index 2f133b14adb992e96bb3d3fa17746e357a68d302..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/common/src/audio_proxy_common_test.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include "audio_proxy_common.h" -#include "audio_proxy_common_fun_test.h" -#include "hdf_remote_service.h" -#include "hdf_sbuf.h" - -using namespace std; -using namespace testing::ext; -namespace { -class AudioProxyCommonTest : public testing::Test { -public: - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyCommonTest::SetUp() {} - -void AudioProxyCommonTest::TearDown() {} - -HWTEST_F(AudioProxyCommonTest, AudioProxyObtainHdfSBufWhenNormal, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - EXPECT_NE(nullptr, data); - HdfSbufRecycle(data); - data = nullptr; -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyObtainHdfSBuf_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessSBuf(nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessSBuf(&data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyDispatchCall_001, TestSize.Level1) -{ - int32_t id = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct HdfRemoteService self; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyDispatchCall(nullptr, id, data, reply)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyDispatchCall(&self, id, nullptr, reply)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyDispatchCall(&self, id, data, nullptr)); - HdfSbufRecycle(data); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyDispatchCall_002, TestSize.Level1) -{ - int32_t id = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct HdfRemoteService self; - self.dispatcher = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyDispatchCall(nullptr, id, data, reply)); - HdfSbufRecycle(data); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, AdapterGetRemoteHandle_001, TestSize.Level1) -{ - char adapterName[NAME_LEN]; - struct AudioHwAdapter hwAdapter; - struct AudioProxyManager proxyManager; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(nullptr, &hwAdapter, adapterName)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(&proxyManager, nullptr, adapterName)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(&proxyManager, &hwAdapter, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AdapterGetRemoteHandle_002, TestSize.Level1) -{ - const char *adapterName = "abc"; - struct AudioHwAdapter hwAdapter; - struct AudioProxyManager proxyManager; - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyAdapterGetRemoteHandle(&proxyManager, &hwAdapter, adapterName)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyPreprocessRender_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - struct AudioHwRender render; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(nullptr, &data, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(&render, nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(&render, &data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyPreprocessCapture_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - struct AudioHwCapture capture; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(nullptr, &data, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(&capture, nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(&capture, &data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyWriteSampleAttributes_001, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, AudioProxyWriteSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(HDF_FAILURE, AudioProxyWriteSampleAttributes(data, nullptr)); - HdfSbufRecycle(data); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyReadSapmleAttrbutes_001, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, AudioProxyReadSapmleAttrbutes(nullptr, &attrs)); - EXPECT_EQ(HDF_FAILURE, AudioProxyReadSapmleAttrbutes(data, nullptr)); - HdfSbufRecycle(data); -} - -HWTEST_F(AudioProxyCommonTest, SetRenderCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = comfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwRender hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, nullptr, param)); - - hwRender.proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), param)); -} - -HWTEST_F(AudioProxyCommonTest, SetRenderCtrlParam_002, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float volume = comfun::MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - struct AudioHwRender hwRender; - struct HdfRemoteService remoteHandle; - hwRender.proxyRemoteHandle = &remoteHandle; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), volume)); - volume = comfun::MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), volume)); -} - -HWTEST_F(AudioProxyCommonTest, GetRenderCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = comfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwRender hwRender; - int32_t ret = AudioProxyCommonGetRenderCtrlParam(cmId, nullptr, ¶m); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = AudioProxyCommonGetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - hwRender.proxyRemoteHandle = nullptr; - ret = AudioProxyCommonGetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), ¶m); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - - -HWTEST_F(AudioProxyCommonTest, SetCaptureCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = comfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwCapture hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonSetCaptureCtrlParam(cmId, nullptr, param)); - - hwCapture.proxyRemoteHandle = nullptr; - int32_t ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), param); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, SetCaptureCtrlParam_002, TestSize.Level1) -{ - int cmId = AUDIO_HDI_CAPTURE_SET_VOLUME; - float volume = comfun::MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1]. - struct AudioHwCapture hwCapture; - struct HdfRemoteService remoteHandle; - hwCapture.proxyRemoteHandle = &remoteHandle; - int32_t ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), volume); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), volume); - volume = comfun::MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1]. - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, GetCaptureCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_CAPTURE_SET_VOLUME; - float param = comfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwCapture hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyCommonGetCaptureCtrlParam(cmId, nullptr, ¶m)); - int32_t ret = AudioProxyCommonGetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - hwCapture.proxyRemoteHandle = nullptr; - ret = AudioProxyCommonGetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), ¶m); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, GetMmapPositionRead_001, TestSize.Level1) -{ - uint64_t frames = 0; - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct AudioTimeStamp time; - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(nullptr, &frames, &time)); - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(reply, nullptr, &time)); - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(reply, &frames, nullptr)); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, ReqMmapBufferWrite_001, TestSize.Level1) -{ - int32_t reqSize = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(HDF_FAILURE, AudioProxyReqMmapBufferWrite(nullptr, reqSize, &desc)); - EXPECT_EQ(HDF_FAILURE, AudioProxyReqMmapBufferWrite(data, reqSize, nullptr)); - HdfSbufRecycle(data); -} -} diff --git a/audio/test/unittest/hdi/client/manager/BUILD.gn b/audio/test/unittest/hdi/client/manager/BUILD.gn deleted file mode 100644 index 97f1c09c455cf3522652ee950cd30bfbbc7d4624..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/manager/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_manager_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - "$hdf_audio_test_path/manager/src/audio_proxy_manager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client/manager/src/audio_proxy_manager_test.cpp b/audio/test/unittest/hdi/client/manager/src/audio_proxy_manager_test.cpp deleted file mode 100644 index 12dd4d94ac57425738ad6b4367f08d89a42d30bc..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/manager/src/audio_proxy_manager_test.cpp +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "hdf_dlist.h" -#include "audio_proxy_common_fun_test.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioProxyManagerTest : public testing::Test { -public: - uint32_t audioCheck = 0xAAAAAAAA; - struct AudioManager *manager = nullptr; - struct AudioManager *(*getAudioManager)(void) = NULL; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - void *clientHandle = nullptr; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyManagerTest::SetUp() -{ - clientHandle = GetDynamicLibHandle(RESOLVED_PATH); - ASSERT_NE(clientHandle, nullptr); - getAudioManager = (struct AudioManager *(*)())(dlsym(clientHandle, FUNCTION_NAME.c_str())); - ASSERT_NE(getAudioManager, nullptr); - manager = getAudioManager(); - ASSERT_NE(manager, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, manager->GetAllAdapters(manager, &descs, &size)); - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, manager->LoadAdapter(manager, desc, &adapter)); -} - -void AudioProxyManagerTest::TearDown() -{ - if (manager != nullptr) { - manager->UnloadAdapter(manager, adapter); - adapter = nullptr; - manager->ReleaseAudioManagerObject(manager); - manager = nullptr; - } - if (clientHandle != nullptr) { - dlclose(clientHandle); - clientHandle = nullptr; - } -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_001, TestSize.Level1) -{ - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor *descs = nullptr; - int size = 0; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(nullptr, &descs, &size)); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(&managerFuncs, nullptr, &size)); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(&managerFuncs, &descs, nullptr)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_002, TestSize.Level1) -{ - struct AudioProxyManager proxyMgr; - struct AudioManager *managerFuncs = &proxyMgr.impl; - struct AudioAdapterDescriptor *descs = nullptr; - int size = 0; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(managerFuncs, &descs, &size)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_003, TestSize.Level1) -{ - ASSERT_NE(manager, nullptr); - int size = 0; - struct HdfRemoteService *remoteService = nullptr; - struct HdfRemoteService *usbRemoteService = nullptr; - struct HdfRemoteService *a2dpRemoteService = nullptr; - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - remoteService = proxyManager->remote; - usbRemoteService = proxyManager->usbRemote; - a2dpRemoteService = proxyManager->a2dpRemote; - proxyManager->remote = nullptr; - proxyManager->usbRemote = nullptr; - proxyManager->a2dpRemote = nullptr; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(manager, &descs, &size)); - proxyManager->remote = remoteService; - proxyManager->usbRemote = usbRemoteService; - proxyManager->a2dpRemote = a2dpRemoteService; - - uint32_t audioMagic = proxyManager->audioMagic; - proxyManager->audioMagic = audioCheck - 1; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerGetAllAdapters(manager, &descs, &size)); - proxyManager->audioMagic = audioMagic; - - remoteService = nullptr; - audioMagic = 0; -} - -HWTEST_F(AudioProxyManagerTest, ManagerLoadAdapter_001, TestSize.Level1) -{ - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor descObject; - const struct AudioAdapterDescriptor *desc = &descObject; - struct AudioAdapter adapterObject; - struct AudioAdapter *adapter = &adapterObject; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(nullptr, desc, &adapter)); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(&managerFuncs, nullptr, &adapter)); - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(&managerFuncs, desc, nullptr)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerLoadAdapter_002, TestSize.Level1) -{ - ASSERT_NE(manager, nullptr); - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor descObject; - const struct AudioAdapterDescriptor *desc = &descObject; - struct AudioAdapter adapterObject; - struct AudioAdapter *adapter = &adapterObject; - - struct HdfRemoteService *remoteService = nullptr; - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(&managerFuncs, desc, &adapter)); - - remoteService = proxyManager->remote; - proxyManager->remote = nullptr; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(manager, desc, &adapter)); - proxyManager->remote = remoteService; - - uint32_t audioMagic = proxyManager->audioMagic; - proxyManager->audioMagic = audioCheck - 1; - ASSERT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyManagerLoadAdapter(manager, desc, &adapter)); - proxyManager->audioMagic = audioMagic; - - remoteService = nullptr; - audioMagic = 0; -} -} - diff --git a/audio/test/unittest/hdi/client/render/BUILD.gn b/audio/test/unittest/hdi/client/render/BUILD.gn deleted file mode 100644 index 9c863eb1ad04b9985127eb4325657da45791a4d1..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/render/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_render_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - "$hdf_audio_test_path/render/src/audio_proxy_render_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client/render/src/audio_proxy_render_test.cpp b/audio/test/unittest/hdi/client/render/src/audio_proxy_render_test.cpp deleted file mode 100644 index dc9667ebbd39ad512a1bc8c7db66bdf76d08dbc2..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client/render/src/audio_proxy_render_test.cpp +++ /dev/null @@ -1,750 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioProxyRenderTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioManager *(*getAudioManager)(void) = NULL; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - void *clientHandle = nullptr; - struct AudioDeviceDescriptor devDescRender = {}; - struct AudioSampleAttributes attrsRender = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyRenderTest::SetUp() -{ - clientHandle = GetDynamicLibHandle(RESOLVED_PATH); - ASSERT_NE(clientHandle, nullptr); - getAudioManager = (struct AudioManager *(*)())(dlsym(clientHandle, FUNCTION_NAME.c_str())); - ASSERT_NE(getAudioManager, nullptr); - managerFuncs = getAudioManager(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - ASSERT_NE(descs, nullptr); - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDesc(devDescRender)); - ASSERT_EQ(HDF_SUCCESS, InitAttrs(attrsRender)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateRender(adapter, &devDescRender, &attrsRender, &render)); -} - -void AudioProxyRenderTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyRender(adapter, render); - render = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } - if (clientHandle != nullptr) { - dlclose(clientHandle); - clientHandle = nullptr; - } -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderStart(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderStart((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderStart((AudioHandle)render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderStop((AudioHandle)render)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStop_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderStop(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStop_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderStop((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderPause_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderPause(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderPause_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderPause((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderResume_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderResume(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderResume_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderResume((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderFlush_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderFlush(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderFlush_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyRenderFlush((AudioHandle)render)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameSize_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t size = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameSize(nullptr, &size)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameSize((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameSize_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t size = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameSize((AudioHandle)render, &size)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameCount_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t count = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameCount(nullptr, &count)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameCount((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameCount_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t count = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetFrameCount((AudioHandle)render, &count)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetSampleAttributes_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetSampleAttributes((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetSampleAttributes((AudioHandle)render, &attrs)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetSampleAttributes_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetSampleAttributes((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetSampleAttributes((AudioHandle)render, &attrs)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetCurrentChannelId_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t channelId = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetCurrentChannelId(nullptr, &channelId)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetCurrentChannelId((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetCurrentChannelId_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t channelId = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetCurrentChannelId((AudioHandle)render, &channelId)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderCheckSceneCapability_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderCheckSceneCapability(nullptr, &scene, &supported)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderCheckSceneCapability((AudioHandle)render, nullptr, - &supported)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderCheckSceneCapability((AudioHandle)render, &scene, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderCheckSceneCapability_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - bool supported = false; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderCheckSceneCapability((AudioHandle)render, &scene, - &supported)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSelectScene(nullptr, &scene)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSelectScene((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSelectScene((AudioHandle)render, &scene)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioSceneDescriptor scene; - scene.scene.id = 0; // 0 is Media - scene.desc.pins = PIN_OUT_HEADSET; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderSelectScene((AudioHandle)render, &scene)); - scene.desc.pins = PIN_OUT_SPEAKER; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderSelectScene((AudioHandle)render, &scene)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetMute_001, TestSize.Level1) -{ - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetMute(nullptr, mute)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetMute_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - bool mute = false; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetMute((AudioHandle)render, mute)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetMute_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMute(nullptr, &mute)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMute((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetMute_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - bool mute = false; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMute((AudioHandle)render, &mute)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetVolume_001, TestSize.Level1) -{ - float volume = HALF_OF_NORMAL_VALUE; // Adjust the volume to half - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetVolume(nullptr, volume)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetVolume_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float volume = HALF_OF_NORMAL_VALUE; // Adjust the volume to half - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetVolume((AudioHandle)render, volume)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetVolume_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float volume = MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetVolume((AudioHandle)render, volume)); - volume = MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetVolume((AudioHandle)render, volume)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetVolume_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetVolume(nullptr, &volume)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetVolume((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetVolume_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float volume = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetVolume((AudioHandle)render, &volume)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetGainThreshold_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float min = 0; - float max = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGainThreshold(nullptr, &min, &max)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGainThreshold((AudioHandle)render, nullptr, &max)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGainThreshold((AudioHandle)render, &min, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetGainThreshold_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float min = 0; - float max = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGainThreshold((AudioHandle)render, &min, &max)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetGain_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGain(nullptr, &gain)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGain((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetGain_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float gain = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetGain((AudioHandle)render, &gain)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetGain_001, TestSize.Level1) -{ - float gain = HALF_OF_NORMAL_VALUE; // Adjust the gain to half - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetGain(nullptr, gain)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetGain_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float gain = HALF_OF_NORMAL_VALUE; // Adjust the gain to half - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetGain((AudioHandle)render, gain)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetGain_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float gain = MIN_VALUE_OUT_OF_BOUNDS; // The gain value is not within the threshold range [0,1] - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetGain((AudioHandle)render, gain)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_001, TestSize.Level1) -{ - uint32_t ms = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetLatency(nullptr, &ms)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t ms = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetLatency(render, &ms)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t ms = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderGetLatency(render, &ms)); -} - -HWTEST_F(AudioProxyRenderTest, RenderFrame_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - int8_t frame[AUDIO_RENDER_BUF_TEST]; - uint64_t frameLen = AUDIO_RENDER_BUF_TEST; - uint64_t requestBytes = AUDIO_RENDER_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRenderFrame(nullptr, &frame, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRenderFrame(render, nullptr, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRenderFrame(render, &frame, frameLen, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderFrame_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - int8_t frame[AUDIO_RENDER_BUF_TEST]; - uint64_t frameLen = AUDIO_RENDER_BUF_TEST; - uint64_t requestBytes = AUDIO_RENDER_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRenderFrame(render, &frame, frameLen, &requestBytes)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderFrame_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - int8_t frame[AUDIO_RENDER_BUF_TEST] = {0}; - uint64_t frameLen = AUDIO_RENDER_BUF_TEST; - uint64_t requestBytes = AUDIO_RENDER_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderStart((AudioHandle)render)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderRenderFrame(render, &frame, frameLen, &requestBytes)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioProxyRenderStop((AudioHandle)render)); -} - - -HWTEST_F(AudioProxyRenderTest, RenderGetRenderPosition_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames = 0; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderPosition(nullptr, &frames, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderPosition(render, nullptr, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderPosition(render, &frames, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetRenderPosition_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames = 0; - struct AudioTimeStamp time; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderPosition(render, &frames, &time)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetRenderSpeed_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float speed = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetRenderSpeed(nullptr, speed)); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyRenderSetRenderSpeed(render, speed)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetRenderSpeed_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - float speed = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderSpeed(nullptr, &speed)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetRenderSpeed(render, nullptr)); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioProxyRenderGetRenderSpeed(render, &speed)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetChannelMode_001, TestSize.Level1) -{ - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetChannelMode(nullptr, mode)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetChannelMode_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetChannelMode(render, mode)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetChannelMode_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetChannelMode(nullptr, &mode)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetChannelMode(render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetChannelMode_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetChannelMode(render, &mode)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetExtraParams(nullptr, keyValueList)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetExtraParams((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderSetExtraParams((AudioHandle)render, keyValueList)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - int32_t listLenth = AUDIO_RENDER_BUF_TEST; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetExtraParams(nullptr, keyValueList, listLenth)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetExtraParams((AudioHandle)render, nullptr, listLenth)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - int32_t listLenth = AUDIO_RENDER_BUF_TEST; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - int32_t ret = AudioProxyRenderGetExtraParams((AudioHandle)render, keyValueList, listLenth); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderReqMmapBuffer_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderReqMmapBuffer(nullptr, reqSize, &desc)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderReqMmapBuffer((AudioHandle)render, reqSize, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderReqMmapBuffer_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderReqMmapBuffer((AudioHandle)render, reqSize, &desc)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetMmapPosition_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMmapPosition(nullptr, &frames, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMmapPosition((AudioHandle)render, nullptr, &time)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMmapPosition((AudioHandle)render, &frames, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetMmapPosition_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames; - struct AudioTimeStamp time; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderGetMmapPosition((AudioHandle)render, &frames, &time)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderTurnStandbyMode_001, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderTurnStandbyMode(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderTurnStandbyMode_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderTurnStandbyMode((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderAudioDevDump_001, TestSize.Level1) -{ - int32_t range = 0; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderAudioDevDump(nullptr, range, fd)); -} - -HWTEST_F(AudioProxyRenderTest, RenderAudioDevDump_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - int32_t range = 0; - int32_t fd = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderAudioDevDump((AudioHandle)render, range, fd)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderRegCallback_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t tempAddr = 1; - void *cookie = (void *)(uintptr_t)tempAddr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRegCallback(nullptr, AudioRenderCallbackUtTest, cookie)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRegCallback(render, nullptr, cookie)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRegCallback(render, AudioRenderCallbackUtTest, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderRegCallback_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t tempAddr = 1; - void *cookie = (void *)(uintptr_t)tempAddr; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderRegCallback(render, AudioRenderCallbackUtTest, cookie)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderDrainBuffer_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioDrainNotifyType type = AUDIO_DRAIN_NORMAL_MODE; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderDrainBuffer(nullptr, &type)); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderDrainBuffer(render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderDrainBuffer_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioDrainNotifyType type = AUDIO_DRAIN_NORMAL_MODE; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioProxyRenderDrainBuffer(render, &type)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} -} diff --git a/audio/test/unittest/hdi/client_advance/BUILD.gn b/audio/test/unittest/hdi/client_advance/BUILD.gn deleted file mode 100644 index bb664e41fd09f56b39e9ebccb7f7b5e2ca397ab3..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/BUILD.gn +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//build/test.gni") -import("./../../../../audio.gni") - -group("hdi_client_advance") { - if (!defined(ohos_lite) && !drivers_peripheral_audio_feature_user_mode) { - testonly = true - deps = [ - "adapter:hdf_audio_proxy_adapter_advance_test", - "capture:hdf_audio_proxy_capture_advance_test", - "common:hdf_audio_proxy_common_advance_test", - "manager:hdf_audio_proxy_manager_advance_test", - "render:hdf_audio_proxy_render_advance_test", - ] - } -} diff --git a/audio/test/unittest/hdi/client_advance/adapter/BUILD.gn b/audio/test/unittest/hdi/client_advance/adapter/BUILD.gn deleted file mode 100644 index ebd61fae2b5c9c2a50914d075da199159aef7f3d..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/adapter/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_adapter_advance_test") { - module_out_path = "hdf/drivers_peripheral_audio" - sources = [ - "$hdf_audio_test_path/adapter/src/audio_proxy_adapter_test.cpp", - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client_advance/adapter/src/audio_proxy_adapter_test.cpp b/audio/test/unittest/hdi/client_advance/adapter/src/audio_proxy_adapter_test.cpp deleted file mode 100644 index 7e3acddb2f85718b72cb82782632f4d8255a2688..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/adapter/src/audio_proxy_adapter_test.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" -#include "audio_proxy_internal.h" -#include "osal_mem.h" - -using namespace std; -using namespace commonfun; -using namespace testing::ext; -namespace { -class AudioProxyAdapterTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioDeviceDescriptor devDescRender = {}; - struct AudioSampleAttributes attrsRender = {}; - struct AudioDeviceDescriptor devDescCapture = {}; - struct AudioSampleAttributes attrsCapture = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyAdapterTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, GetAdapters(managerFuncs, &descs, size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDesc(devDescRender)); - ASSERT_EQ(HDF_SUCCESS, InitAttrs(attrsRender)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateRender(adapter, &devDescRender, &attrsRender, &render)); - - ASSERT_EQ(HDF_SUCCESS, InitDevDescCapture(devDescCapture)); - ASSERT_EQ(HDF_SUCCESS, InitAttrsCapture(attrsCapture)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateCapture(adapter, &devDescCapture, &attrsCapture, &capture)); -} - -void AudioProxyAdapterTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyRender(adapter, render); - render = nullptr; - adapter->DestroyCapture(adapter, capture); - capture = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - const struct AudioPort *port = nullptr; - struct AudioPortCapability capability; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPortCapability(nullptr, port, &capability)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPortCapability(adapter, nullptr, &capability)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPortCapability(adapter, port, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct HdfRemoteService *proxyRemoteHandle = hwAdapter->proxyRemoteHandle; - hwAdapter->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_FAILURE, adapter->GetPortCapability(adapter, &port, &capability)); - hwAdapter->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_003, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct AudioPortAndCapability *hwAdapterPortCapabilitys = hwAdapter->portCapabilitys; - hwAdapter->portCapabilitys = nullptr; - EXPECT_EQ(HDF_FAILURE, adapter->GetPortCapability(adapter, &port, &capability)); - hwAdapter->portCapabilitys = hwAdapterPortCapabilitys; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPortCapability_004, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - struct AudioPortCapability capability; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - int32_t portNum = hwAdapter->adapterDescriptor.portNum; - hwAdapter->adapterDescriptor.portNum = 0; - EXPECT_EQ(HDF_FAILURE, adapter->GetPortCapability(adapter, &port, &capability)); - hwAdapter->adapterDescriptor.portNum = portNum; -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port = { - .dir = PORT_OUT, - .portId = 0, - .portName = "AOP", - }; - int32_t ret = adapter->SetPassthroughMode(nullptr, &port, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - ret = adapter->SetPassthroughMode(adapter, nullptr, PORT_PASSTHROUGH_LPCM); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterSetPassthroughMode_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_IN; - port.portId = 1; - port.portName = "abc"; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(HDF_FAILURE, adapter->SetPassthroughMode(adapter, &port, mode)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_001, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPassthroughMode(nullptr, &port, nullptr)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPassthroughMode(adapter, nullptr, nullptr)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, adapter->GetPassthroughMode(adapter, &port, nullptr)); -} - -HWTEST_F(AudioProxyAdapterTest, AdapterGetPassthroughMode_002, TestSize.Level1) -{ - ASSERT_NE(adapter, nullptr); - struct AudioPort port; - port.dir = PORT_IN; - port.portId = 1; - port.portName = "abc"; - AudioPortPassthroughMode mode; - EXPECT_EQ(HDF_FAILURE, adapter->GetPassthroughMode(adapter, &port, &mode)); -} -} diff --git a/audio/test/unittest/hdi/client_advance/capture/BUILD.gn b/audio/test/unittest/hdi/client_advance/capture/BUILD.gn deleted file mode 100644 index 2359b4c82d9b536a8d0509195692ca43c6857a84..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/capture/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_capture_advance_test") { - module_out_path = "hdf/drivers_peripheral_audio" - sources = [ - "$hdf_audio_test_path/capture/src/audio_proxy_capture_test.cpp", - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client_advance/capture/src/audio_proxy_capture_test.cpp b/audio/test/unittest/hdi/client_advance/capture/src/audio_proxy_capture_test.cpp deleted file mode 100644 index 35d3764e227025f45bc075ee253f506a9d6c4c65..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/capture/src/audio_proxy_capture_test.cpp +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" -#include "osal_mem.h" - -using namespace commonfun; -using namespace testing::ext; -namespace { -class AudioProxyCaptureTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioCapture *capture = nullptr; - struct AudioPort *audioPort = nullptr; - struct AudioDeviceDescriptor devDescCapture = {}; - struct AudioSampleAttributes attrsCapture = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyCaptureTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, GetAdapters(managerFuncs, &descs, size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDescCapture(devDescCapture)); - ASSERT_EQ(HDF_SUCCESS, InitAttrsCapture(attrsCapture)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateCapture(adapter, &devDescCapture, &attrsCapture, &capture)); -} - -void AudioProxyCaptureTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyCapture(adapter, capture); - capture = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.Start(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.Start((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStart_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - EXPECT_EQ(HDF_SUCCESS, capture->control.Start((AudioHandle)capture)); - EXPECT_EQ(HDF_SUCCESS, capture->control.Stop((AudioHandle)capture)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStop_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.Stop(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureStop_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.Stop((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t size = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameSize(nullptr, &size)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameSize((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t size = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameSize((AudioHandle)capture, &size)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameSize_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t size = 0; - EXPECT_EQ(HDF_SUCCESS, capture->attr.GetFrameSize((AudioHandle)capture, &size)); - EXPECT_NE(size, 0); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameCount_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t count = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameCount(nullptr, &count)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameCount((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetFrameCount_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t count = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetFrameCount((AudioHandle)capture, &count)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCurrentChannelId_001, TestSize.Level1) -{ - uint32_t channelId = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetCurrentChannelId(nullptr, &channelId)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetCurrentChannelId((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCurrentChannelId_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint32_t channelId = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetCurrentChannelId((AudioHandle)capture, &channelId)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureCheckSceneCapability_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - bool supported = false; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.CheckSceneCapability(nullptr, &scene, &supported)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.CheckSceneCapability((AudioHandle)capture, nullptr, - &supported)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.CheckSceneCapability((AudioHandle)capture, &scene, - nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureCheckSceneCapability_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - bool supported = false; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.CheckSceneCapability((AudioHandle)capture, &scene, - &supported)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.SelectScene(nullptr, &scene)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.SelectScene((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_IN_MIC; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->scene.SelectScene((AudioHandle)capture, &scene)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSelectScene_003, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioSceneDescriptor *scene = new AudioSceneDescriptor; - scene->scene.id = 0; // 0 is Media - scene->desc.pins = PIN_IN_HS_MIC; - EXPECT_EQ(HDF_SUCCESS, capture->scene.SelectScene((AudioHandle)capture, scene)); - scene->desc.pins = PIN_IN_MIC; - EXPECT_EQ(HDF_SUCCESS, capture->scene.SelectScene((AudioHandle)capture, scene)); - delete scene; - scene = nullptr; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCapturePosition_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->GetCapturePosition(nullptr, &frames, &time)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->GetCapturePosition(capture, nullptr, &time)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->GetCapturePosition(capture, &frames, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetCapturePosition_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - uint64_t frames; - struct AudioTimeStamp time; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->GetCapturePosition(capture, &frames, &time)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.SetExtraParams(nullptr, keyValueList)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.SetExtraParams((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureSetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.SetExtraParams((AudioHandle)capture, keyValueList)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - int32_t listLenth = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetExtraParams(nullptr, keyValueList, listLenth)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetExtraParams((AudioHandle)capture, nullptr, listLenth)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetExtraParams((AudioHandle)capture, keyValueList, 0)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureGetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - char keyValueList[AUDIO_CAPTURE_BUF_TEST]; - int32_t listLenth = AUDIO_CAPTURE_BUF_TEST; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->attr.GetExtraParams((AudioHandle)capture, keyValueList, - listLenth)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyCaptureTest, CaptureTurnStandbyMode_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.TurnStandbyMode(nullptr)); -} - -HWTEST_F(AudioProxyCaptureTest, CaptureTurnStandbyMode_002, TestSize.Level1) -{ - ASSERT_NE(capture, nullptr); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct HdfRemoteService *proxyRemoteHandle = hwCapture->proxyRemoteHandle; - hwCapture->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, capture->control.TurnStandbyMode((AudioHandle)capture)); - hwCapture->proxyRemoteHandle = proxyRemoteHandle; -} -} diff --git a/audio/test/unittest/hdi/client_advance/common/BUILD.gn b/audio/test/unittest/hdi/client_advance/common/BUILD.gn deleted file mode 100644 index 0447dfcb08c1c4f47c3fc3ebffe8d5ff827b4294..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/common/BUILD.gn +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_common_advance_test") { - module_out_path = "hdf/drivers_peripheral_audio" - sources = [ "./../common/src/audio_proxy_common_test.cpp" ] - - include_dirs = [ - "./../common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_host", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client_advance/common/include/audio_proxy_common_fun_test.h b/audio/test/unittest/hdi/client_advance/common/include/audio_proxy_common_fun_test.h deleted file mode 100644 index efc94dfede1b67e7e3b0b53381df32bec36245be..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/common/include/audio_proxy_common_fun_test.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_PROXY_COMMON_FUN_TEST_H -#define AUDIO_PROXY_COMMON_FUN_TEST_H - -#include -#include "hdf_base.h" -#include "audio_types.h" -#include "audio_internal.h" -#include "audio_proxy_internal.h" -#include "audio_proxy_manager.h" -#include "audio_render.h" -#include "audio_capture.h" - -#ifdef __LITEOS__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/usr/lib/libhdi_audio_client.z.so" -#else -#ifdef __aarch64__ -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib64/libhdi_audio_client.z.so" -#else -#define HDF_AUDIO_CLIENT_FULL_PATH_LIB "/system/lib/libhdi_audio_client.z.so" -#endif -#endif - -namespace commonfun { - const int32_t PORTNUM = 1; - const int32_t AUDIO_CAPTURE_CHANNELCOUNT = 1; - const int32_t AUDIO_CHANNELCOUNT = 2; - const int32_t AUDIO_SAMPLE_RATE_48K = 48000; - const int32_t DEEP_BUFFER_RENDER_PERIOD_SIZE = 4096; - const int32_t INT_32_MAX = 0x7fffffff; - const int32_t SILENCE_THRESHOLD = 16 * 1024; - const int32_t DEFAULT_RENDER_SAMPLING_RATE = 48000; - const int32_t DEEP_BUFFER_RENDER_PERIOD_COUNT = 8; - const int32_t AUDIO_FORMAT_PCM_BIT = 16; - const int32_t MANAGER_ADAPTER_NAME_LEN = 32; - const int32_t AUDIO_CAPTURE_BUF_TEST = 8192 * 2; - const int32_t AUDIO_RENDER_BUF_TEST = 1024; - const int32_t AUDIO_ADAPTER_BUF_TEST = 1024; - const int32_t ADAPTER_COUNT = 32; - const float HALF_OF_NORMAL_VALUE = 0.5; - const float MIN_VALUE_OUT_OF_BOUNDS = -1; - const float MAX_VALUE_OUT_OF_BOUNDS = 2; - using TestAudioManager = struct AudioManager; - const std::string ADAPTER_NAME_USB = "usb"; - const std::string FUNCTION_NAME = "GetAudioManagerFuncs"; - const std::string RESOLVED_PATH = HDF_AUDIO_CLIENT_FULL_PATH_LIB; - - void *GetDynamicLibHandle(const std::string path); - int32_t InitPort(struct AudioPort &portIndex); - int32_t InitHwRender(struct AudioHwRender &hwRender, - const struct AudioDeviceDescriptor &desc, const struct AudioSampleAttributes &attrs); - int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs); - int32_t InitAttrs(struct AudioSampleAttributes &attrs); - int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc); - int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc, const uint32_t portId, int pins); - int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs); - int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc); - int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie); - int32_t GetLoadAdapter(TestAudioManager *manager, int portType, - const std::string &adapterName, struct AudioAdapter **adapter, struct AudioPort *&audioPort); - int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size); - int32_t SwitchAdapter(struct AudioAdapterDescriptor *descs, const std::string &adapterNameCase, - int portFlag, struct AudioPort *&audioPort, int size); -} -#endif diff --git a/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_fun_test.cpp b/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_fun_test.cpp deleted file mode 100644 index 02f5934742df9ded5c4ae156d4ab15d1f4fdc465..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_fun_test.cpp +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_proxy_common_fun_test.h" -#include -#include -#include -#include -#include "hdf_remote_service.h" -#include "osal_mem.h" - -namespace commonfun { -void *GetDynamicLibHandle(const std::string path) -{ - char absPath[PATH_MAX] = {0}; - if (realpath(path.c_str(), absPath) == nullptr) { - return nullptr; - } - void *handleSo = dlopen(absPath, RTLD_LAZY); - if (handleSo == nullptr) { - return nullptr; - } - return handleSo; -} - -int32_t InitPort(struct AudioPort &portIndex) -{ - portIndex.dir = PORT_OUT; - portIndex.portId = 1; - portIndex.portName = "usb"; - return HDF_SUCCESS; -} - -int32_t InitHwRender(struct AudioHwRender &hwRender, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs) -{ - hwRender.renderParam.renderMode.hwInfo.deviceDescript = desc; - hwRender.renderParam.frameRenderMode.attrs = attrs; - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMin = 0; - hwRender.renderParam.frameRenderMode.frames = 0; - hwRender.renderParam.frameRenderMode.time.tvNSec = 0; - hwRender.renderParam.frameRenderMode.time.tvSec = 0; - hwRender.renderParam.frameRenderMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwRender.renderParam.frameRenderMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwRender.renderParam.frameRenderMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwRender.renderParam.frameRenderMode.attrs.period = attrs.period; - hwRender.renderParam.frameRenderMode.attrs.frameSize = attrs.frameSize; - hwRender.renderParam.frameRenderMode.attrs.startThreshold = attrs.startThreshold; - hwRender.renderParam.frameRenderMode.attrs.stopThreshold = attrs.stopThreshold; - hwRender.renderParam.frameRenderMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwRender.renderParam.frameRenderMode.attrs.isBigEndian = attrs.isBigEndian; - hwRender.renderParam.frameRenderMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs) -{ - hwCapture.captureParam.captureMode.hwInfo.deviceDescript = desc; - hwCapture.captureParam.frameCaptureMode.attrs = attrs; - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMin = 0; - hwCapture.captureParam.frameCaptureMode.frames = 0; - hwCapture.captureParam.frameCaptureMode.time.tvNSec = 0; - hwCapture.captureParam.frameCaptureMode.time.tvSec = 0; - hwCapture.captureParam.frameCaptureMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwCapture.captureParam.frameCaptureMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwCapture.captureParam.frameCaptureMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwCapture.captureParam.frameCaptureMode.attrs.period = attrs.period; - hwCapture.captureParam.frameCaptureMode.attrs.frameSize = attrs.frameSize; - hwCapture.captureParam.frameCaptureMode.attrs.startThreshold = attrs.startThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.stopThreshold = attrs.stopThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.isBigEndian = attrs.isBigEndian; - hwCapture.captureParam.frameCaptureMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -void InitAttrsCommon(struct AudioSampleAttributes &attrs) -{ - /* Initialization of audio parameters for playback */ - attrs.sampleRate = AUDIO_SAMPLE_RATE_48K; -} - -int32_t InitAttrs(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - attrs.format = AUDIO_FORMAT_TYPE_PCM_32_BIT; - attrs.channelCount = AUDIO_CHANNELCOUNT; - attrs.interleaved = 1; - attrs.type = AUDIO_IN_MEDIA; - attrs.silenceThreshold = 0; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_OUT_SPEAKER; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc, const uint32_t portId, int pins) -{ - devDesc.portId = portId; - devDesc.pins = (enum AudioPortPin)pins; - devDesc.desc = nullptr; - return HDF_SUCCESS; -} - -int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.channelCount = AUDIO_CAPTURE_CHANNELCOUNT; - attrs.silenceThreshold = SILENCE_THRESHOLD; - return HDF_SUCCESS; -} - -int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_IN_MIC; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie) -{ - (void)reserved; - (void)cookie; - switch (type) { - case AUDIO_NONBLOCK_WRITE_COMPLETED: - return HDF_SUCCESS; - case AUDIO_RENDER_FULL: - return HDF_SUCCESS; - case AUDIO_FLUSH_COMPLETED: - return HDF_SUCCESS; - case AUDIO_ERROR_OCCUR: - return HDF_FAILURE; - case AUDIO_DRAIN_COMPLETED: - return HDF_FAILURE; - default: - return HDF_FAILURE; - } - return HDF_FAILURE; -} - -int32_t SwitchAdapter(struct AudioAdapterDescriptor *descs, const std::string &adapterNameCase, - int portFlag, struct AudioPort *&audioPort, int size) -{ - if (descs == nullptr || size > ADAPTER_COUNT) { - return HDF_FAILURE; - } - - for (int index = 0; index < size; index++) { - struct AudioAdapterDescriptor *desc = &descs[index]; - if (desc == nullptr || desc->adapterName == nullptr) { - continue; - } - if (strcmp(desc->adapterName, adapterNameCase.c_str())) { - continue; - } - for (uint32_t port = 0; port < desc->portNum; port++) { - if (desc->ports[port].dir == portFlag) { - audioPort = &desc->ports[port]; - return index; - } - } - } - return HDF_FAILURE; -} - -int32_t GetAdapters(TestAudioManager *manager, struct AudioAdapterDescriptor **descs, int &size) -{ - if (descs == nullptr) { - return HDF_ERR_INVALID_PARAM; - } - size = 1; - uint32_t portNum = 2; - struct AudioPort *ports = reinterpret_cast(OsalMemCalloc(sizeof(struct AudioPort) * - (portNum))); - ports[0] = { - .dir = PORT_OUT, - .portId = 0, - }; - ports[1] = { - .dir = PORT_IN, - .portId = 11, - }; - *descs = reinterpret_cast(OsalMemCalloc(sizeof(struct AudioAdapterDescriptor) * - (size))); - if (*descs == nullptr) { - return HDF_FAILURE; - } - - **descs = { - .adapterName = "primary", - .portNum = portNum, - .ports = ports, - }; - - return HDF_SUCCESS; -} - -int32_t GetLoadAdapter(TestAudioManager *manager, int portType, - const std::string &adapterName, struct AudioAdapter **adapter, struct AudioPort *&audioPort) -{ - int size = 0; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - if (adapter == nullptr) { - return HDF_ERR_INVALID_PARAM; - } - int32_t ret = GetAdapters(manager, &descs, size); - if (ret < 0) { - return ret; - } - if (descs == nullptr) { - return HDF_FAILURE; - } - - int index = SwitchAdapter(descs, adapterName, portType, audioPort, size); - if (index < 0) { - return HDF_FAILURE; - } - desc = &descs[index]; - if (desc == nullptr) { - return HDF_ERR_INVALID_PARAM; - } - ret = manager->LoadAdapter(manager, desc, adapter); - if (ret < 0) { - return ret; - } - if (*adapter == nullptr) { - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -} diff --git a/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_test.cpp b/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_test.cpp deleted file mode 100644 index 27f0993bfb51f13f9f6b4efe50bcd8cce2dfee53..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/common/src/audio_proxy_common_test.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include "audio_proxy_common.h" -#include "audio_proxy_common_fun_test.h" -#include "hdf_remote_service.h" -#include "hdf_sbuf.h" - -using namespace std; -using namespace testing::ext; -namespace { -class AudioProxyCommonTest : public testing::Test { -public: - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyCommonTest::SetUp() {} - -void AudioProxyCommonTest::TearDown() {} - -HWTEST_F(AudioProxyCommonTest, AudioProxyObtainHdfSBufWhenNormal, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - EXPECT_NE(nullptr, data); - HdfSbufRecycle(data); - data = nullptr; -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyObtainHdfSBuf_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessSBuf(nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessSBuf(&data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyDispatchCall_001, TestSize.Level1) -{ - int32_t id = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct HdfRemoteService self; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyDispatchCall(nullptr, id, data, reply)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyDispatchCall(&self, id, nullptr, reply)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyDispatchCall(&self, id, data, nullptr)); - HdfSbufRecycle(data); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyDispatchCall_002, TestSize.Level1) -{ - int32_t id = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct HdfRemoteService self; - self.dispatcher = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyDispatchCall(nullptr, id, data, reply)); - HdfSbufRecycle(data); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, AdapterGetRemoteHandle_001, TestSize.Level1) -{ - char adapterName[NAME_LEN]; - struct AudioHwAdapter hwAdapter; - struct AudioProxyManager proxyManager; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(nullptr, &hwAdapter, adapterName)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(&proxyManager, nullptr, adapterName)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyAdapterGetRemoteHandle(&proxyManager, &hwAdapter, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AdapterGetRemoteHandle_002, TestSize.Level1) -{ - const char *adapterName = "abc"; - struct AudioHwAdapter hwAdapter; - struct AudioProxyManager proxyManager; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioProxyAdapterGetRemoteHandle(&proxyManager, &hwAdapter, adapterName)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyPreprocessRender_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - struct AudioHwRender render; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(nullptr, &data, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(&render, nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessRender(&render, &data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyPreprocessCapture_001, TestSize.Level1) -{ - struct HdfSBuf *data = nullptr; - struct HdfSBuf *reply = nullptr; - struct AudioHwCapture capture; - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(nullptr, &data, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(&capture, nullptr, &reply)); - EXPECT_EQ(HDF_FAILURE, AudioProxyPreprocessCapture(&capture, &data, nullptr)); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyWriteSampleAttributes_001, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, AudioProxyWriteSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(HDF_FAILURE, AudioProxyWriteSampleAttributes(data, nullptr)); - HdfSbufRecycle(data); -} - -HWTEST_F(AudioProxyCommonTest, AudioProxyReadSapmleAttrbutes_001, TestSize.Level1) -{ - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, AudioProxyReadSapmleAttrbutes(nullptr, &attrs)); - EXPECT_EQ(HDF_FAILURE, AudioProxyReadSapmleAttrbutes(data, nullptr)); - HdfSbufRecycle(data); -} - -HWTEST_F(AudioProxyCommonTest, SetRenderCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = commonfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, nullptr, param)); - - hwRender.proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), param)); -} - -HWTEST_F(AudioProxyCommonTest, SetRenderCtrlParam_002, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float volume = commonfun::MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - struct AudioHwRender hwRender; - struct HdfRemoteService remoteHandle; - hwRender.proxyRemoteHandle = &remoteHandle; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), volume)); - volume = commonfun::MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1] - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonSetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), volume)); -} - -HWTEST_F(AudioProxyCommonTest, GetRenderCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = commonfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwRender hwRender; - int32_t ret = AudioProxyCommonGetRenderCtrlParam(cmId, nullptr, ¶m); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - ret = AudioProxyCommonGetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), nullptr); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - hwRender.proxyRemoteHandle = nullptr; - ret = AudioProxyCommonGetRenderCtrlParam(cmId, (AudioHandle)(&hwRender), ¶m); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); -} - - -HWTEST_F(AudioProxyCommonTest, SetCaptureCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_RENDER_SET_VOLUME; - float param = commonfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonSetCaptureCtrlParam(cmId, nullptr, param)); - - hwCapture.proxyRemoteHandle = nullptr; - int32_t ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), param); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, SetCaptureCtrlParam_002, TestSize.Level1) -{ - int cmId = AUDIO_HDI_CAPTURE_SET_VOLUME; - float volume = commonfun::MIN_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1]. - struct AudioHwCapture hwCapture; - struct HdfRemoteService remoteHandle; - hwCapture.proxyRemoteHandle = &remoteHandle; - int32_t ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), volume); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - ret = AudioProxyCommonSetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), volume); - volume = commonfun::MAX_VALUE_OUT_OF_BOUNDS; // The volume value is not within the threshold range [0,1]. - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, GetCaptureCtrlParam_001, TestSize.Level1) -{ - int cmId = AUDIO_HDI_CAPTURE_SET_VOLUME; - float param = commonfun::HALF_OF_NORMAL_VALUE; // normal value - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, AudioProxyCommonGetCaptureCtrlParam(cmId, nullptr, ¶m)); - int32_t ret = AudioProxyCommonGetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), nullptr); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - hwCapture.proxyRemoteHandle = nullptr; - ret = AudioProxyCommonGetCaptureCtrlParam(cmId, (AudioHandle)(&hwCapture), ¶m); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioProxyCommonTest, GetMmapPositionRead_001, TestSize.Level1) -{ - uint64_t frames = 0; - struct HdfSBuf *reply = AudioProxyObtainHdfSBuf(); - struct AudioTimeStamp time; - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(nullptr, &frames, &time)); - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(reply, nullptr, &time)); - EXPECT_EQ(HDF_FAILURE, AudioProxyGetMmapPositionRead(reply, &frames, nullptr)); - HdfSbufRecycle(reply); -} - -HWTEST_F(AudioProxyCommonTest, ReqMmapBufferWrite_001, TestSize.Level1) -{ - int32_t reqSize = 0; - struct HdfSBuf *data = AudioProxyObtainHdfSBuf(); - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(HDF_FAILURE, AudioProxyReqMmapBufferWrite(nullptr, reqSize, &desc)); - EXPECT_EQ(HDF_FAILURE, AudioProxyReqMmapBufferWrite(data, reqSize, nullptr)); - HdfSbufRecycle(data); -} -} diff --git a/audio/test/unittest/hdi/client_advance/manager/BUILD.gn b/audio/test/unittest/hdi/client_advance/manager/BUILD.gn deleted file mode 100644 index d9603129b8ae57a340d61744d114967f5c29cc35..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/manager/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_manager_advance_test") { - module_out_path = "hdf/drivers_peripheral_audio" - sources = [ - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - "$hdf_audio_test_path/manager/src/audio_proxy_manager_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client_advance/manager/src/audio_proxy_manager_test.cpp b/audio/test/unittest/hdi/client_advance/manager/src/audio_proxy_manager_test.cpp deleted file mode 100644 index 981939edb90c115a53a48c680c8c86cb9ce1fac2..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/manager/src/audio_proxy_manager_test.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "hdf_dlist.h" -#include "audio_proxy_common_fun_test.h" -#include "osal_mem.h" - -using namespace std; -using namespace commonfun; -using namespace testing::ext; -namespace { -class AudioProxyManagerTest : public testing::Test { -public: - uint32_t audioCheck = 0xAAAAAAAA; - struct AudioManager *manager = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - void *clientHandle = nullptr; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyManagerTest::SetUp() -{ - manager = GetAudioManagerFuncs(); - ASSERT_NE(manager, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, GetAdapters(manager, &descs, size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, manager->LoadAdapter(manager, desc, &adapter)); -} - -void AudioProxyManagerTest::TearDown() -{ - if (manager != nullptr) { - manager->UnloadAdapter(manager, adapter); - adapter = nullptr; - manager->ReleaseAudioManagerObject(manager); - manager = nullptr; - } -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_001, TestSize.Level1) -{ - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor *descs = nullptr; - int size = 0; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(nullptr, &descs, &size)); - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(&managerFuncs, nullptr, &size)); - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(&managerFuncs, &descs, nullptr)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_002, TestSize.Level1) -{ - struct AudioProxyManager proxyMgr; - struct AudioManager *managerFuncs = &proxyMgr.impl; - struct AudioAdapterDescriptor *descs = nullptr; - int size = 0; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(managerFuncs, &descs, &size)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerGetAllAdapters_003, TestSize.Level1) -{ - ASSERT_NE(manager, nullptr); - int size = 0; - struct HdfRemoteService *remoteService = nullptr; - struct HdfRemoteService *usbRemoteService = nullptr; - struct HdfRemoteService *a2dpRemoteService = nullptr; - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - remoteService = proxyManager->remote; - usbRemoteService = proxyManager->usbRemote; - a2dpRemoteService = proxyManager->a2dpRemote; - proxyManager->remote = nullptr; - proxyManager->usbRemote = nullptr; - proxyManager->a2dpRemote = nullptr; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(manager, &descs, &size)); - proxyManager->remote = remoteService; - proxyManager->usbRemote = usbRemoteService; - proxyManager->a2dpRemote = a2dpRemoteService; - - uint32_t audioMagic = proxyManager->audioMagic; - proxyManager->audioMagic = audioCheck - 1; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->GetAllAdapters(manager, &descs, &size)); - proxyManager->audioMagic = audioMagic; - - remoteService = nullptr; - audioMagic = 0; -} - -HWTEST_F(AudioProxyManagerTest, ManagerLoadAdapter_001, TestSize.Level1) -{ - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor descObject; - const struct AudioAdapterDescriptor *desc = &descObject; - struct AudioAdapter adapterObject; - struct AudioAdapter *adapter = &adapterObject; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(nullptr, desc, &adapter)); - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(&managerFuncs, nullptr, &adapter)); - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(&managerFuncs, desc, nullptr)); -} - -HWTEST_F(AudioProxyManagerTest, ManagerLoadAdapter_002, TestSize.Level1) -{ - ASSERT_NE(manager, nullptr); - struct AudioManager managerFuncs; - struct AudioAdapterDescriptor descObject; - const struct AudioAdapterDescriptor *desc = &descObject; - struct AudioAdapter adapterObject; - struct AudioAdapter *adapter = &adapterObject; - - struct HdfRemoteService *remoteService = nullptr; - struct AudioProxyManager *proxyManager = CONTAINER_OF(manager, struct AudioProxyManager, impl); - - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(&managerFuncs, desc, &adapter)); - - remoteService = proxyManager->remote; - proxyManager->remote = nullptr; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(manager, desc, &adapter)); - proxyManager->remote = remoteService; - - uint32_t audioMagic = proxyManager->audioMagic; - proxyManager->audioMagic = audioCheck - 1; - ASSERT_EQ(HDF_ERR_INVALID_PARAM, manager->LoadAdapter(manager, desc, &adapter)); - proxyManager->audioMagic = audioMagic; - - remoteService = nullptr; - audioMagic = 0; -} -} - diff --git a/audio/test/unittest/hdi/client_advance/render/BUILD.gn b/audio/test/unittest/hdi/client_advance/render/BUILD.gn deleted file mode 100644 index 55ab357d75f80da57ac8d6c877f3cf2d6430a547..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/render/BUILD.gn +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -import("//build/test.gni") -import("$hdf_audio_path/audio.gni") - -ohos_unittest("hdf_audio_proxy_render_advance_test") { - module_out_path = "hdf/drivers_peripheral_audio" - sources = [ - "$hdf_audio_test_path/common/src/audio_proxy_common_fun_test.cpp", - "$hdf_audio_test_path/render/src/audio_proxy_render_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/hal/hdi_binder/proxy/include", - "$hdf_audio_path/hal/hdi_binder/server/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_binder/proxy:hdi_audio_client", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_ipc_adapter", - "hdf_core:libhdf_utils", - "hdf_core:libhdi", - ] -} diff --git a/audio/test/unittest/hdi/client_advance/render/src/audio_proxy_render_test.cpp b/audio/test/unittest/hdi/client_advance/render/src/audio_proxy_render_test.cpp deleted file mode 100644 index 5718c2392bb544acf73881880b96d887391950f9..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/client_advance/render/src/audio_proxy_render_test.cpp +++ /dev/null @@ -1,363 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_proxy_common_fun_test.h" -#include "osal_mem.h" - -using namespace std; -using namespace commonfun; -using namespace testing::ext; -namespace { -class AudioProxyRenderTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioRender *render = nullptr; - struct AudioDeviceDescriptor devDescRender = {}; - struct AudioSampleAttributes attrsRender = {}; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioProxyRenderTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, GetAdapters(managerFuncs, &descs, size)); - - ASSERT_NE(descs, nullptr); - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_NE(adapter, nullptr); - ASSERT_EQ(HDF_SUCCESS, InitDevDesc(devDescRender)); - ASSERT_EQ(HDF_SUCCESS, InitAttrs(attrsRender)); - ASSERT_EQ(HDF_SUCCESS, adapter->CreateRender(adapter, &devDescRender, &attrsRender, &render)); -} - -void AudioProxyRenderTest::TearDown() -{ - if (adapter != nullptr) { - adapter->DestroyRender(adapter, render); - render = nullptr; - } - if (managerFuncs != nullptr) { - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - managerFuncs->ReleaseAudioManagerObject(managerFuncs); - managerFuncs = nullptr; - } -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.Start(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.Start((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderStart_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - EXPECT_EQ(HDF_SUCCESS, render->control.Start((AudioHandle)render)); - EXPECT_EQ(HDF_SUCCESS, render->control.Stop((AudioHandle)render)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStop_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.Stop(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderStop_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.Stop((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameSize_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t size = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameSize(nullptr, &size)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameSize((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameSize_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t size = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameSize((AudioHandle)render, &size)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameCount_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t count = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameCount(nullptr, &count)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameCount((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetFrameCount_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t count = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetFrameCount((AudioHandle)render, &count)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetSampleAttributes_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetSampleAttributes((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetSampleAttributes((AudioHandle)render, &attrs)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetSampleAttributes_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetSampleAttributes(nullptr, &attrs)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetSampleAttributes((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetSampleAttributes_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSampleAttributes attrs; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetSampleAttributes((AudioHandle)render, &attrs)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetCurrentChannelId_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t channelId = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetCurrentChannelId(nullptr, &channelId)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetCurrentChannelId((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetCurrentChannelId_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t channelId = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetCurrentChannelId((AudioHandle)render, &channelId)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderCheckSceneCapability_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - bool supported = false; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.CheckSceneCapability(nullptr, &scene, &supported)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.CheckSceneCapability((AudioHandle)render, nullptr, - &supported)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.CheckSceneCapability((AudioHandle)render, &scene, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderCheckSceneCapability_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - bool supported = false; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.CheckSceneCapability((AudioHandle)render, &scene, - &supported)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.SelectScene(nullptr, &scene)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.SelectScene((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioSceneDescriptor scene; - scene.scene.id = 0; - scene.desc.pins = PIN_OUT_SPEAKER; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->scene.SelectScene((AudioHandle)render, &scene)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSelectScene_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - AudioSceneDescriptor scene; - scene.scene.id = 0; // 0 is Media - scene.desc.pins = PIN_OUT_HEADSET; - EXPECT_EQ(HDF_SUCCESS, render->scene.SelectScene((AudioHandle)render, &scene)); - scene.desc.pins = PIN_OUT_SPEAKER; - EXPECT_EQ(HDF_SUCCESS, render->scene.SelectScene((AudioHandle)render, &scene)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_001, TestSize.Level1) -{ - uint32_t ms = 0; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetLatency(nullptr, &ms)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t ms = 0; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetLatency(render, &ms)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetLatency_003, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint32_t ms = 0; - EXPECT_EQ(HDF_SUCCESS, render->GetLatency(render, &ms)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetRenderPosition_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames = 0; - struct AudioTimeStamp time; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetRenderPosition(nullptr, &frames, &time)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetRenderPosition(render, nullptr, &time)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetRenderPosition(render, &frames, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetRenderPosition_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - uint64_t frames = 0; - struct AudioTimeStamp time; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->GetRenderPosition(render, &frames, &time)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderSetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetExtraParams(nullptr, keyValueList)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetExtraParams((AudioHandle)render, nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderSetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.SetExtraParams((AudioHandle)render, keyValueList)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderGetExtraParams_001, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - int32_t listLenth = AUDIO_RENDER_BUF_TEST; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetExtraParams(nullptr, keyValueList, listLenth)); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->attr.GetExtraParams((AudioHandle)render, nullptr, listLenth)); -} - -HWTEST_F(AudioProxyRenderTest, RenderGetExtraParams_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - char keyValueList[AUDIO_RENDER_BUF_TEST]; - int32_t listLenth = AUDIO_RENDER_BUF_TEST; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - int32_t ret = render->attr.GetExtraParams((AudioHandle)render, keyValueList, listLenth); - EXPECT_EQ(HDF_ERR_INVALID_PARAM, ret); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} - -HWTEST_F(AudioProxyRenderTest, RenderTurnStandbyMode_001, TestSize.Level1) -{ - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.TurnStandbyMode(nullptr)); -} - -HWTEST_F(AudioProxyRenderTest, RenderTurnStandbyMode_002, TestSize.Level1) -{ - ASSERT_NE(render, nullptr); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct HdfRemoteService *proxyRemoteHandle = hwRender->proxyRemoteHandle; - hwRender->proxyRemoteHandle = nullptr; - EXPECT_EQ(HDF_ERR_INVALID_PARAM, render->control.TurnStandbyMode((AudioHandle)render)); - hwRender->proxyRemoteHandle = proxyRemoteHandle; -} -} diff --git a/audio/test/unittest/hdi/jack/BUILD.gn b/audio/test/unittest/hdi/jack/BUILD.gn deleted file mode 100644 index c3d347b38e76f216741da654f901b45fbe8c031d..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/jack/BUILD.gn +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../.." -hdf_audio_test_path = "./../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/component/lite_component.gni") - import("//build/lite/config/test.gni") - import("$hdf_audio_path/audio.gni") -} else { - import("//build/ohos.gni") - import("//build/test.gni") - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - unittest("hdf_audio_hdi_headset_test") { - sources = [ "./src/analog_headset_test.cpp" ] - - include_dirs = [ - "include", - "$hdf_audio_test_path/input/hal/include", - "$hdf_audio_test_path/input/interfaces/include", - "//third_party/bounds_checking_function/include", - "//third_party/FreeBSD/sys/dev/evdev", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_test_path/input/hal:hdi_input", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/platform:hdf_platform", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//drivers/hdf_core/adapter/uhdf/test/unittest/common:hdf_test_common", - "//third_party/bounds_checking_function:libsec_shared", - ] - - cflags = [ - "-Wall", - "-Wextra", - "-Werror", - "-fsigned-char", - "-fno-common", - "-fno-strict-aliasing", - "-std=c++11", - ] - if (ohos_build_compiler != "clang") { - cflags += [ - "-Wno-format", - "-Wno-format-extra-args", - ] - } - } -} else { - module_output_path = "hdf/audio/hal" - ohos_unittest("hdf_audio_hdi_headset_test") { - module_out_path = module_output_path - sources = [ "./src/analog_headset_test.cpp" ] - - include_dirs = [ "include" ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "$hdf_audio_test_path/input/hal:hdi_input", - "//drivers/hdf_core/adapter/build/test_common:libhdf_test_common", - ] - if (!drivers_peripheral_audio_feature_user_mode) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - } - - if (is_standard_system) { - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } else { - external_deps = [ - "hdf_core:libhdf_utils", - "hilog:libhilog", - ] - } - cflags = [ - "-Wall", - "-Wextra", - "-Werror", - "-fsigned-char", - "-fno-common", - "-fno-strict-aliasing", - ] - } -} diff --git a/audio/test/unittest/hdi/jack/include/analog_headset_ev.h b/audio/test/unittest/hdi/jack/include/analog_headset_ev.h deleted file mode 100644 index f9228da954b334889e1601c56e088ae2b00ac747..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/jack/include/analog_headset_ev.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANALOG_HEADSET_EV_H -#define ANALOG_HEADSET_EV_H - -#define HEADSET_JACK_INDEX 3 // 0, 1=touch, 2=no response, 3=jack, 4 not found -#define INDEV_TYPE_HEADSET 4 -#define KEY_JACK_HEADSET 20 // EXTCON_JACK_MICROPHONE(20) -#define KEY_JACK_HEADPHONE 21 // EXTCON_JACK_HEADPHONE(21) -#define KEY_JACK_HOOK 226 // KEY_MEDIA (226) - -enum JackType { - JACK_TYPE_HEADSET = 0, - JACK_TYPE_HEADPHONE, - JACK_TYPE_LINEOUT, - JACK_TYPE_UNKNOWN = 10, -}; - -enum JackInsertStatus { - JACK_STATUS_IN = 0, - JACK_STATUS_OUT, -}; - -enum JackState { - JACK_STATE_HEADSET_OUT = 0, - JACK_STATE_HEADPHONE_OUT, - JACK_STATE_HEADSET_IN, - JACK_STATE_HEADPHONE_IN, - JACK_STATE_UNKNOWN, -}; - -struct JackNotifyInfo { - uint16_t jackType; - bool jackStatus; - uint16_t jackState; -}; - -#endif \ No newline at end of file diff --git a/audio/test/unittest/hdi/jack/src/analog_headset_test.cpp b/audio/test/unittest/hdi/jack/src/analog_headset_test.cpp deleted file mode 100644 index a9b35435169661aa6e4a2d48dd01231c48d57f09..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/jack/src/analog_headset_test.cpp +++ /dev/null @@ -1,522 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @file analog_headset_test.cpp - * - * @brief The test equipment is an analog headset (headset_jack_index); - * First test the API of the input module called; - * Then test the headset plug-in recognition function, including four - * comprehensive tests: normal multiple plug-in, fast, slow, headset - * and headphone switching. - * - * @since 1.0 - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "analog_headset_ev.h" -#include "hdf_log.h" -#include "input_manager.h" -#include "osal_time.h" - -#define HDF_LOG_TAG HDF_AUDIO_DRIVER -namespace { -const int INIT_DEFAULT_VALUE = 255; -const int NAME_MAX_LEN = 10; -const int KEEP_ALIVE_TIME_MS = 15000; -using namespace testing::ext; -static IInputInterface *CommonGetInputInterface(void) -{ - int32_t ret; - static IInputInterface *inputIf = NULL; - - if (inputIf != NULL) { - return inputIf; - } - ret = GetInputInterface(&inputIf); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get input hdi failed, ret %d", __func__, ret); - } - - return inputIf; -} - -class HdfAnalogHeadsetTest : public testing::Test { -public: - static void SetUpTestCase(); - static void TearDownTestCase(); - void SetUp(); - void TearDown(); -}; - -void HdfAnalogHeadsetTest::SetUpTestCase() -{ - CommonGetInputInterface(); -} - -void HdfAnalogHeadsetTest::TearDownTestCase() -{ - IInputInterface *inputHdi = CommonGetInputInterface(); - ReleaseInputInterface(inputHdi); -} - -void HdfAnalogHeadsetTest::SetUp() -{ -} - -void HdfAnalogHeadsetTest::TearDown() -{ -} - -/** - * API test, start from here. - */ - -/** - * @tc.name: OpenInputDev001 - * @tc.desc: Open input device test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, OpenInputDev001, TestSize.Level1) -{ - int32_t ret; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputManager is NULL.", __func__); - return; - } - - ret = inputHdi->iInputManager->OpenInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: [OpenInputDevice] failed, ret %d.", __func__, ret); - return; - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: GetInputDevice001 - * @tc.desc: Get input device info test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, GetInputDevice001, TestSize.Level1) -{ - int32_t ret; - DeviceInfo *dev = NULL; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputManager is NULL.", __func__); - return; - } - ret = inputHdi->iInputManager->GetInputDevice(HEADSET_JACK_INDEX, &dev); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get device1 failed, ret %d", __func__, ret); - } else { - if (dev != NULL) { - HDF_LOGI("%s: devindex = %u, devType = %u", __func__, dev->devIndex, dev->devType); - HDF_LOGI("%s: chipInfo = %s, vendorName = %s, chipName = %s", - __func__, dev->chipInfo, dev->vendorName, dev->chipName); - } - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: GetVendorName001 - * @tc.desc: Get device vendor name test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, GetVendorName001, TestSize.Level1) -{ - int32_t ret; - char vendorName[NAME_MAX_LEN] = { 0 }; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputController == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputController is NULL.", __func__); - return; - } - ret = inputHdi->iInputController->GetVendorName(HEADSET_JACK_INDEX, vendorName, NAME_MAX_LEN); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get device1's vendor name failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: device1's vendor name is %s:", __func__, vendorName); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: GetChipName001 - * @tc.desc: Get device chip name test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, GetChipName001, TestSize.Level1) -{ - int32_t ret; - char chipName[NAME_MAX_LEN] = { 0 }; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputController == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputController is NULL.", __func__); - return; - } - ret = inputHdi->iInputController->GetChipName(HEADSET_JACK_INDEX, chipName, NAME_MAX_LEN); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get device1's chip name failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: device1's chip name is %s", __func__, chipName); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: GetDeviceType001 - * @tc.desc: Get input device type test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, GetDeviceType001, TestSize.Level1) -{ - int32_t ret; - uint32_t devType = INIT_DEFAULT_VALUE; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputController == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputController is NULL.", __func__); - return; - } - ret = inputHdi->iInputController->GetDeviceType(HEADSET_JACK_INDEX, &devType); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get device1's type failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: device1's type is %u", __func__, devType); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: GetChipInfo001 - * @tc.desc: Get input device chip info test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, GetChipInfo001, TestSize.Level1) -{ - int32_t ret; - char chipInfo[CHIP_INFO_LEN] = { 0 }; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputController == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputController is NULL.", __func__); - return; - } - ret = inputHdi->iInputController->GetChipInfo(HEADSET_JACK_INDEX, chipInfo, CHIP_INFO_LEN); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: get device1's chip info failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: device1's chip info is %s", __func__, chipInfo); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: CloseInputDevice001 - * @tc.desc: Close input device test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, CloseInputDevice001, TestSize.Level1) -{ - int32_t ret; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi or inputHdi->iInputManager is NULL.", __func__); - return; - } - ret = inputHdi->iInputManager->CloseInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: close device1 failed, ret %d", __func__, ret); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * Callback API test begin here. - */ -static void ReportHandleInputEvent(const EventPackage *pkg) -{ - bool in; - bool invalidBtn = false; - static struct JackNotifyInfo headsetHookBtn; - - if (pkg == nullptr) { - HDF_LOGE("%s: pkg is nullptr.", __func__); - return; - } - - if (pkg->type != EV_KEY) { - HDF_LOGE("%s: [pkg->type != EV_KEY] is true.", __func__); - return; - } - switch (pkg->code) { - case KEY_JACK_HEADSET: - invalidBtn = true; - break; - case KEY_JACK_HEADPHONE: - invalidBtn = true; - break; - default: - break; - } - if (invalidBtn) { - in = (!!pkg->value) ? true : false; - headsetHookBtn.jackStatus = in; - headsetHookBtn.jackType = pkg->code; - if (in) { - printf("%s plugs in.\n", (pkg->code == KEY_JACK_HEADSET) ? "headset" : "headphone"); - } else { - printf("jack plugs out.\n"); - } - } - - return; -} - -static void ReportEventPkgCallback(const EventPackage **pkgs, uint32_t count, uint32_t devIndex) -{ - int32_t i; - (void)devIndex; - - if (pkgs == NULL) { - HDF_LOGE("%s: pkgs is NULL.", __func__); - return; - } - for (i = 0; i < count; i++) { - if (pkgs[i]->type == EV_SYN) { - break; - } - printf("%s: pkgs[%d] = 0x%x, 0x%x, %d.\t", __func__, i, pkgs[i]->type, pkgs[i]->code, pkgs[i]->value); - ReportHandleInputEvent(pkgs[i]); - } -} - -static void ReportHotPlugEventPkgCallback(const HotPlugEvent *msg) -{ - if (msg == NULL) { - HDF_LOGE("%s: msg is NULL.", __func__); - return; - } - printf("%s: status =%d devId=%d type =%d", __func__, msg->status, msg->devIndex, msg->devType); -} - -/** - * @tc.name: RegisterReportCallback001 - * @tc.desc: Registers a callback for reporting subscribed data of specified input devices to test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, RegisterReportCallback001, TestSize.Level1) -{ - int32_t ret; - static InputEventCb eventCb; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputReporter == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi, iInputReporter or iInputManager is NULL.", __func__); - return; - } - ret = inputHdi->iInputManager->OpenInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: open device[%d] failed, ret %d", __func__, HEADSET_JACK_INDEX, ret); - } - EXPECT_EQ(ret, INPUT_SUCCESS); - - eventCb.EventPkgCallback = ReportEventPkgCallback; - ret = inputHdi->iInputReporter->RegisterReportCallback(HEADSET_JACK_INDEX, &eventCb); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: [RegisterReportCallback] failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: wait 15s for testing, pls touch the panel now", __func__); - HDF_LOGI("%s: The event data is as following:", __func__); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: UnregisterReportCallback001 - * @tc.desc: Unregisters the callback for reporting subscribed data of specified input devices to test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, UnregisterReportCallback001, TestSize.Level1) -{ - int32_t ret; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputReporter == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi, iInputReporter or iInputManager is NULL.", __func__); - return; - } - - ret = inputHdi->iInputReporter->UnregisterReportCallback(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: unregister callback failed for device1, ret %d", __func__, ret); - } - EXPECT_EQ(ret, INPUT_SUCCESS); - - ret = inputHdi->iInputManager->CloseInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: close device1 failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: Close the device1 successfully after all test", __func__); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: RegisterHotPlugCallback001 - * @tc.desc: Registers a hot plug callback to the HDIs for input devices to test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, RegisterHotPlugCallback001, TestSize.Level1) -{ - int32_t ret; - static InputHostCb hotPlugCb; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputReporter == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi, iInputReporter or iInputManager is NULL.", __func__); - return; - } - ret = inputHdi->iInputManager->OpenInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: open device[%d] failed, ret %d", __func__, HEADSET_JACK_INDEX, ret); - } - EXPECT_EQ(ret, INPUT_SUCCESS); - - hotPlugCb.HotPlugCallback = ReportHotPlugEventPkgCallback; - ret = inputHdi->iInputReporter->RegisterHotPlugCallback(&hotPlugCb); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: [RegisterHotPlugCallback] failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: wait 15s for testing, pls touch the panel now", __func__); - HDF_LOGI("%s: The event data is as following:", __func__); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * @tc.name: UnregisterHotPlugCallback001 - * @tc.desc: Unregisters the hot plug callback of input devices to test. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, UnregisterHotPlugCallback001, TestSize.Level1) -{ - int32_t ret; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputReporter == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi, iInputReporter or iInputManager is NULL.", __func__); - return; - } - - ret = inputHdi->iInputReporter->UnregisterHotPlugCallback(); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: unregister callback failed for device1, ret %d", __func__, ret); - } - EXPECT_EQ(ret, INPUT_SUCCESS); - - ret = inputHdi->iInputManager->CloseInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: close device1 failed, ret %d", __func__, ret); - } else { - HDF_LOGI("%s: Close the device1 successfully after all test", __func__); - } - EXPECT_EQ(ret, INPUT_SUCCESS); -} - -/** - * Comprehensive test, start from here. - * - */ -static int32_t AnalogHeadsetTestInit() -{ - int32_t ret; - static InputEventCb eventCb; - IInputInterface *inputHdi = CommonGetInputInterface(); - - if ((inputHdi == NULL) || (inputHdi->iInputReporter == NULL) || (inputHdi->iInputManager == NULL)) { - HDF_LOGE("%s: inputHdi, iInputReporter or iInputManager is NULL.", __func__); - return INPUT_FAILURE; - } - - ret = inputHdi->iInputManager->OpenInputDevice(HEADSET_JACK_INDEX); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: open device[%d] failed, ret %d", __func__, HEADSET_JACK_INDEX, ret); - ReleaseInputInterface(inputHdi); - return INPUT_FAILURE; - } - - eventCb.EventPkgCallback = ReportEventPkgCallback; - ret = inputHdi->iInputReporter->RegisterReportCallback(HEADSET_JACK_INDEX, &eventCb); - if (ret != INPUT_SUCCESS) { - HDF_LOGE("%s: [RegisterReportCallback] failed, ret %d", __func__, ret); - ReleaseInputInterface(inputHdi); - return INPUT_FAILURE; - } - - return INPUT_SUCCESS; -} - -/** - * @tc.name: AnalogHeadsetFunctionTest001 - * @tc.desc: Comprehensive test entrance of analog earphone. - * @tc.type: FUNC - * @tc.require: AR000GGUU3 - */ -HWTEST_F(HdfAnalogHeadsetTest, AnalogHeadsetFunctionTest001, TestSize.Level1) -{ - int32_t ret; - - ret = AnalogHeadsetTestInit(); - - printf("TEST1: Multiple plugging, wait 15s for testing, please hotplug now\n"); - printf("The event data is as following:\n"); - OsalMSleep(KEEP_ALIVE_TIME_MS); - - printf("\nTEST2: Switch HEADSET and HEADPHONE, wait 15s for testing, please hotplug now\n"); - printf("The event data is as following:\n"); - OsalMSleep(KEEP_ALIVE_TIME_MS); - - HDF_LOGI("%s: finished.", __func__); - EXPECT_EQ(ret, INPUT_SUCCESS); -} -} diff --git a/audio/test/unittest/hdi/passthrough/BUILD.gn b/audio/test/unittest/hdi/passthrough/BUILD.gn deleted file mode 100644 index d0688f74fe91ba7bf94df7b5d56ca62b3fac5f6f..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/BUILD.gn +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") - import("./../../../../audio.gni") -} else { - import("//build/test.gni") - import("./../../../../audio.gni") -} - -group("hdi_passthrough") { - if (!defined(ohos_lite)) { - testonly = true - } - deps = [ - "adapter:hdf_audio_hdi_adapter_test", - "capture:hdf_audio_hdi_capture_test", - "manager:hdf_audio_hdi_manager_test", - "render:hdf_audio_hdi_render_test", - ] -} diff --git a/audio/test/unittest/hdi/passthrough/adapter/BUILD.gn b/audio/test/unittest/hdi/passthrough/adapter/BUILD.gn deleted file mode 100644 index 9da86bb1008c103942aa911d4fef7613bd9eb046..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/adapter/BUILD.gn +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") - import("$hdf_audio_path/audio.gni") -} else { - import("//build/test.gni") - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - ###########################LITEOS########################### - ###########################hdf_audio_hdi_adapter_test########################### - unittest("hdf_audio_hdi_adapter_test") { - sources = [ - "$hdf_audio_test_path/adapter/src/audio_adapter_test.cpp", - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - } -} else { - ###########################hdf_audio_hdi_adapter_test########################### - ohos_unittest("hdf_audio_hdi_adapter_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/adapter/src/audio_adapter_test.cpp", - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - if (!drivers_peripheral_audio_feature_user_mode) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - } - } -} diff --git a/audio/test/unittest/hdi/passthrough/adapter/src/audio_adapter_test.cpp b/audio/test/unittest/hdi/passthrough/adapter/src/audio_adapter_test.cpp deleted file mode 100644 index a9a1dc99d1529d526426bfae47fb1bed38347247..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/adapter/src/audio_adapter_test.cpp +++ /dev/null @@ -1,1037 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_common_test.h" -#include "osal_mem.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioAdapterTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioAdapterTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); -} - -void AudioAdapterTest::TearDown() -{ - ASSERT_NE(managerFuncs, nullptr); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; -} - -HWTEST_F(AudioAdapterTest, GetAudioRenderFuncWhenHwRenderIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = nullptr; - EXPECT_EQ(HDF_FAILURE, GetAudioRenderFunc(hwRender)); -} - -HWTEST_F(AudioAdapterTest, GetAudioRenderFuncWhenParamIsValid, TestSize.Level1) -{ - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_SUCCESS, GetAudioRenderFunc(&hwRender)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenDescIsNull, TestSize.Level1) -{ - const struct AudioDeviceDescriptor *desc = nullptr; - const char *type = "Render"; - EXPECT_EQ(HDF_FAILURE, CheckParaDesc(desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenTypeIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - const char *type = nullptr; - EXPECT_EQ(HDF_FAILURE, CheckParaDesc(&desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenPortIdLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - const char *type = "Render"; - desc.portId = AUDIO_HAL_ERR_NOT_SUPPORT; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaDesc(&desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenPinsIsPinNone, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - const char *type = "Render"; - desc.pins = PIN_NONE; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaDesc(&desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenTypeIsError, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - const char *type = "123"; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaDesc(&desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaDescWhenParamIsValid, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - const char *type = "Render"; - EXPECT_EQ(HDF_SUCCESS, CheckParaDesc(&desc, type)); -} - -HWTEST_F(AudioAdapterTest, CheckParaAttrWhenAttrsIsNull, TestSize.Level1) -{ - const struct AudioSampleAttributes *attrs = nullptr; - EXPECT_EQ(HDF_FAILURE, CheckParaAttr(attrs)); -} - -HWTEST_F(AudioAdapterTest, CheckParaAttrWhenPeriodLessThanZero, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.period = AUDIO_HAL_ERR_NOT_SUPPORT; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaAttr(&attrs)); -} - -HWTEST_F(AudioAdapterTest, CheckParaAttrWhenTypeIsNotSupport, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.type = (enum AudioCategory)AUDIO_HAL_ERR_NOT_SUPPORT; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaAttr(&attrs)); -} - -HWTEST_F(AudioAdapterTest, CheckParaAttrWhenFormatIsNotSupport, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.format = AUDIO_FORMAT_TYPE_G726; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CheckParaAttr(&attrs)); -} - -HWTEST_F(AudioAdapterTest, CheckParaAttrWhenParamIsValid, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - EXPECT_EQ(HDF_SUCCESS, CheckParaAttr(&attrs)); -} - -HWTEST_F(AudioAdapterTest, AttrFormatToBitWhenAttrsIsNull, TestSize.Level1) -{ - const struct AudioSampleAttributes *attrs = nullptr; - int32_t format = -1; - EXPECT_EQ(HDF_FAILURE, AttrFormatToBit(attrs, &format)); -} - -HWTEST_F(AudioAdapterTest, AttrFormatToBitWhenFormatIsNull, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - int32_t *format = nullptr; - EXPECT_EQ(HDF_FAILURE, AttrFormatToBit(&attrs, format)); -} - -HWTEST_F(AudioAdapterTest, AttrFormatToBitWhenAttrsIsNotSupport, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - int32_t format = -1; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AttrFormatToBit(&attrs, &format)); -} - -HWTEST_F(AudioAdapterTest, AttrFormatToBitWhenParamIsValid, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - int32_t format = -1; - EXPECT_EQ(HDF_SUCCESS, AttrFormatToBit(&attrs, &format)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenHwRenderIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, InitHwRenderParam(nullptr, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenDescIsNull, TestSize.Level1) -{ - struct AudioHwRender hwRender; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, InitHwRenderParam(&hwRender, nullptr, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioHwRender hwRender; - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_FAILURE, InitHwRenderParam(&hwRender, &desc, nullptr)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenPortIdLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - desc.portId = AUDIO_HAL_ERR_NOT_SUPPORT; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_SUCCESS, InitHwRender(hwRender, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwRenderParam(&hwRender, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenPeriodLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.period = AUDIO_HAL_ERR_NOT_SUPPORT; - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_SUCCESS, InitHwRender(hwRender, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwRenderParam(&hwRender, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenFormatIsNotSupport, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_SUCCESS, InitHwRender(hwRender, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwRenderParam(&hwRender, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenChannelCountIsZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.channelCount = 0; - struct AudioHwRender hwRender; - EXPECT_EQ(HDF_SUCCESS, InitHwRender(hwRender, desc, attrs)); - EXPECT_EQ(HDF_FAILURE, InitHwRenderParam(&hwRender, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwRenderParamWhenParamIsValid, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwRender hwRender; - hwRender.renderParam.frameRenderMode.buffer = nullptr; - EXPECT_EQ(HDF_SUCCESS, InitHwRender(hwRender, desc, attrs)); - EXPECT_EQ(HDF_SUCCESS, InitHwRenderParam(&hwRender, &desc, &attrs)); - if (hwRender.renderParam.frameRenderMode.buffer != nullptr) { - OsalMemFree(hwRender.renderParam.frameRenderMode.buffer); - hwRender.renderParam.frameRenderMode.buffer = nullptr; - } -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenCapabilityIndexIsNull, TestSize.Level1) -{ - struct AudioPort portIndex; - EXPECT_EQ(HDF_SUCCESS, InitPort(portIndex)); - struct AudioPortCapability *capabilityIndex = nullptr; - EXPECT_EQ(HDF_FAILURE, InitForGetPortCapability(portIndex, capabilityIndex)); -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenDirIsPortIn, TestSize.Level1) -{ - struct AudioPort portIndex; - EXPECT_EQ(HDF_SUCCESS, InitPort(portIndex)); - portIndex.dir = PORT_IN; - struct AudioPortCapability capabilityIndex; - EXPECT_EQ(HDF_SUCCESS, InitForGetPortCapability(portIndex, &capabilityIndex)); -} - -void TestInitForGetPortCapability(uint32_t portId) -{ - struct AudioPort portIndex; - EXPECT_EQ(HDF_SUCCESS, InitPort(portIndex)); - portIndex.portId = portId; - struct AudioPortCapability capabilityIndex; - ASSERT_EQ(HDF_SUCCESS, InitForGetPortCapability(portIndex, &capabilityIndex)); - - EXPECT_NE(capabilityIndex.subPorts, nullptr); - if (capabilityIndex.subPorts != nullptr) { - EXPECT_EQ(capabilityIndex.subPorts->portId, portIndex.portId); - EXPECT_EQ(capabilityIndex.subPorts->desc, portIndex.portName); - EXPECT_EQ(capabilityIndex.subPorts->mask, PORT_PASSTHROUGH_LPCM); - } - if (capabilityIndex.subPorts != nullptr) { - free(capabilityIndex.subPorts); - capabilityIndex.subPorts = nullptr; - } -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenPortIdIsZero, TestSize.Level1) -{ - TestInitForGetPortCapability(0); -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenPortIdIsOne, TestSize.Level1) -{ - struct AudioPort portIndex; - EXPECT_EQ(HDF_SUCCESS, InitPort(portIndex)); - portIndex.portId = 1; - struct AudioPortCapability capabilityIndex; - EXPECT_EQ(HDF_SUCCESS, InitForGetPortCapability(portIndex, &capabilityIndex)); -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenPortIdIsHdmiPortId, TestSize.Level1) -{ - TestInitForGetPortCapability(12); // 12 as portID -} - -HWTEST_F(AudioAdapterTest, InitForGetPortCapabilityWhenPortIdIsTwo, TestSize.Level1) -{ - struct AudioPort portIndex; - EXPECT_EQ(HDF_SUCCESS, InitPort(portIndex)); - portIndex.dir = PORT_OUT; - portIndex.portId = AUDIO_PORT_ID; - struct AudioPortCapability capabilityIndex; - EXPECT_EQ(HDF_SUCCESS, InitForGetPortCapability(portIndex, &capabilityIndex)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterReleaseCapSubPortsWhenPortCapabilitysIsNull, TestSize.Level1) -{ - const struct AudioPortAndCapability *portCapabilitys = nullptr; - int32_t num = PORTNUM; - AudioAdapterReleaseCapSubPorts(portCapabilitys, num); - EXPECT_EQ(nullptr, portCapabilitys); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterReleaseCapSubPortsWhenParamIsValid, TestSize.Level1) -{ - struct AudioPortAndCapability portCapabilitys; - struct AudioSubPortCapability *subPorts = - (struct AudioSubPortCapability *)calloc(1, sizeof(struct AudioSubPortCapability)); - ASSERT_NE(subPorts, nullptr); - portCapabilitys.capability.subPorts = subPorts; - int32_t num = PORTNUM; - AudioAdapterReleaseCapSubPorts(&portCapabilitys, num); - EXPECT_EQ(nullptr, portCapabilitys.capability.subPorts); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInitAllPortsWhenAdapterIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterInitAllPorts(nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInitAllPortsWhenPortCapabilitysIsNotNull, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct AudioPortAndCapability capability; - struct AudioPortAndCapability *pCapability = hwAdapter->portCapabilitys; - hwAdapter->portCapabilitys = &capability; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts((struct AudioAdapter *)hwAdapter)); - hwAdapter->portCapabilitys = pCapability; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInitAllPortsWhenPortsIsNull, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - struct AudioPort *pPorts = hwAdapter->adapterDescriptor.ports; - hwAdapter->adapterDescriptor.ports = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterInitAllPorts((struct AudioAdapter *)hwAdapter)); - hwAdapter->adapterDescriptor.ports = pPorts; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInitAllPortsWhenPortNumIsZero, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterDescriptor.portNum = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterInitAllPorts((struct AudioAdapter *)hwAdapter)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInitAllPortsWhenParamIsValid, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); -} - -HWTEST_F(AudioAdapterTest, AudioReleaseRenderHandleWhenHwRenderIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = nullptr; - AudioReleaseRenderHandle(hwRender); - EXPECT_EQ(nullptr, hwRender); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenHwRenderIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = nullptr; - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateRenderPre(hwRender, &desc, &attrs, hwAdapter)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenDescIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor *desc = nullptr; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - int32_t ret = AudioAdapterCreateRenderPre(hwRender, desc, &attrs, hwAdapter); - EXPECT_EQ(HDF_FAILURE, ret); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes *attrs = nullptr; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - int32_t ret = AudioAdapterCreateRenderPre(hwRender, &desc, attrs, hwAdapter); - EXPECT_EQ(HDF_FAILURE, ret); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwAdapter *hwAdapter = nullptr; - int32_t ret = AudioAdapterCreateRenderPre(hwRender, &desc, &attrs, hwAdapter); - EXPECT_EQ(HDF_FAILURE, ret); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenPortIdLessThanZero, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - devDesc.portId = AUDIO_HAL_ERR_NOT_SUPPORT; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateRenderPre(hwRender, &devDesc, &attrs, (struct AudioHwAdapter *)adapter)); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenAdapterNameIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwAdapter *hwAdapter = reinterpret_cast(adapter); - hwAdapter->adapterDescriptor.adapterName = nullptr; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateRenderPre(hwRender, &devDesc, &attrs, hwAdapter)); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderPreWhenParamIsValid, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)calloc(1, sizeof(*hwRender)); - ASSERT_NE(hwRender, nullptr); - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioHwAdapter *hwAdapter = reinterpret_cast(adapter); - EXPECT_EQ(HDF_SUCCESS, AudioAdapterCreateRenderPre(hwRender, &devDesc, &attrs, hwAdapter)); - free(hwRender); - hwRender = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterBindServiceRenderWhenHwRenderIsNull, TestSize.Level1) -{ - EXPECT_EQ(HDF_FAILURE, AudioAdapterBindServiceRender(nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - struct AudioSampleAttributes attrs; - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateRender(nullptr, &desc, &attrs, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenDescIsNull, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateRender(adapter, nullptr, &attrs, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateRender(adapter, &devDesc, nullptr, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenRenderIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - struct AudioSampleAttributes attrs; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateRender(adapter, &devDesc, &attrs, nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenAdapterMgrRenderFlagIsGreaterThanOne, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterMgrRenderFlag = 1; - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioAdapterCreateRender((struct AudioAdapter *)hwAdapter, &devDesc, &attrs, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenPeriodIsLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - attrs.period = -1; - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterCreateRender(adapter, &devDesc, &attrs, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenParamIsValid, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioRender *render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterCreateRender(adapter, &devDesc, &attrs, &render)); - EXPECT_EQ(HDF_SUCCESS, AudioAdapterDestroyRender(adapter, render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioRender render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterDestroyRender(nullptr, &render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *render = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterDestroyRender(adapter, render)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenBufferIsNotNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - struct AudioRender *render; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterCreateRender(adapter, &devDesc, &attrs, &render)); - - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterDestroyRender(adapter, render)); -} - -HWTEST_F(AudioAdapterTest, GetAudioCaptureFuncWhenHwCaptureIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = nullptr; - EXPECT_EQ(HDF_FAILURE, GetAudioCaptureFunc(hwCapture)); -} - -HWTEST_F(AudioAdapterTest, GetAudioCaptureFuncWhenParamIsValid, TestSize.Level1) -{ - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, GetAudioCaptureFunc(&hwCapture)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenHwCaptureIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, InitHwCaptureParam(nullptr, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenDescIsNull, TestSize.Level1) -{ - struct AudioHwCapture hwCapture; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_FAILURE, InitHwCaptureParam(&hwCapture, nullptr, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioHwCapture hwCapture; - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_FAILURE, InitHwCaptureParam(&hwCapture, &desc, nullptr)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenPortIdLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - desc.portId = AUDIO_HAL_ERR_NOT_SUPPORT; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, InitHwCapture(hwCapture, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwCaptureParam(&hwCapture, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenPeriodLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - attrs.period = AUDIO_HAL_ERR_NOT_SUPPORT; - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, InitHwCapture(hwCapture, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwCaptureParam(&hwCapture, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenFormatIsNotSupport, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, InitHwCapture(hwCapture, desc, attrs)); - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, InitHwCaptureParam(&hwCapture, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenChannelCountIsZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - attrs.channelCount = 0; - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, InitHwCapture(hwCapture, desc, attrs)); - EXPECT_EQ(HDF_FAILURE, InitHwCaptureParam(&hwCapture, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, InitHwCaptureParamWhenParamIsValid, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioHwCapture hwCapture; - EXPECT_EQ(HDF_SUCCESS, InitHwCapture(hwCapture, desc, attrs)); - EXPECT_EQ(HDF_SUCCESS, InitHwCaptureParam(&hwCapture, &desc, &attrs)); -} - -HWTEST_F(AudioAdapterTest, AudioReleaseCaptureHandleWhenHwCaptureIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = nullptr; - AudioReleaseCaptureHandle(hwCapture); - EXPECT_EQ(nullptr, hwCapture); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCapturePreWhenHwCaptureIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = nullptr; - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateCapturePre(hwCapture, &desc, &attrs, hwAdapter)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCapturePreWhenDescIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)calloc(1, sizeof(*hwCapture)); - ASSERT_NE(hwCapture, nullptr); - struct AudioDeviceDescriptor *desc = nullptr; - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateCapturePre(hwCapture, desc, &attrs, hwAdapter)); - free(hwCapture); - hwCapture = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCapturePreWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)calloc(1, sizeof(*hwCapture)); - ASSERT_NE(hwCapture, nullptr); - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes *attrs = nullptr; - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateCapturePre(hwCapture, &desc, attrs, hwAdapter)); - free(hwCapture); - hwCapture = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCapturePreWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)calloc(1, sizeof(*hwCapture)); - ASSERT_NE(hwCapture, nullptr); - struct AudioDeviceDescriptor desc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(desc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioHwAdapter *hwAdapter = nullptr; - EXPECT_EQ(HDF_FAILURE, AudioAdapterCreateCapturePre(hwCapture, &desc, &attrs, hwAdapter)); - free(hwCapture); - hwCapture = nullptr; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterInterfaceLibModeCaptureWhenHwCaptureIsNull, TestSize.Level1) -{ - EXPECT_EQ(HDF_FAILURE, AudioAdapterInterfaceLibModeCapture(nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor desc; - struct AudioSampleAttributes attrs; - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateCapture(nullptr, &desc, &attrs, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenDescIsNull, TestSize.Level1) -{ - struct AudioSampleAttributes attrs; - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateCapture(adapter, nullptr, &attrs, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenAttrsIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateCapture(adapter, &devDesc, nullptr, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenCaptureIsNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - struct AudioSampleAttributes attrs; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterCreateCapture(adapter, &devDesc, &attrs, nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenAdapterMgrCaptureFlagIsGreaterThanOne, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterMgrCaptureFlag = 1; - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioAdapterCreateCapture((struct AudioAdapter *)adapter, &devDesc, &attrs, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenPeriodIsLessThanZero, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - attrs.period = -1; - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterCreateCapture(adapter, &devDesc, &attrs, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenParamIsValid, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioCapture *capture; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterCreateCapture(adapter, &devDesc, &attrs, &capture)); - EXPECT_EQ(HDF_SUCCESS, AudioAdapterDestroyCapture(adapter, capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioCapture capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterDestroyCapture(nullptr, &capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenCaptureIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterDestroyCapture(adapter, nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenBufferIsNotNull, TestSize.Level1) -{ - struct AudioDeviceDescriptor devDesc; - EXPECT_EQ(HDF_SUCCESS, InitDevDescCapture(devDesc)); - struct AudioSampleAttributes attrs; - EXPECT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - struct AudioCapture *capture; - /* to support different products */ - int32_t ret = AudioAdapterCreateCapture(adapter, &devDesc, &attrs, &capture); - if ((ret == AUDIO_HAL_SUCCESS) || (ret == AUDIO_HAL_ERR_INTERNAL)) { - EXPECT_TRUE(true); - } - - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterDestroyCapture(adapter, capture)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioPort port; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPortCapability(nullptr, &port, &capability)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenPortIsNull, TestSize.Level1) -{ - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPortCapability(adapter, nullptr, &capability)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenCapabilityIsNull, TestSize.Level1) -{ - struct AudioPort *port = desc->ports; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPortCapability(adapter, port, nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenPortCapabilitysIsNull, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->portCapabilitys = nullptr; - struct AudioPort *port = desc->ports; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioAdapterGetPortCapability((struct AudioAdapter *)hwAdapter, port, &capability)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenPortNumIsZero, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterDescriptor.portNum = 0; - struct AudioPort *port = desc->ports; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioAdapterGetPortCapability((struct AudioAdapter *)hwAdapter, port, &capability)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenParamIsValid, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterGetPortCapability(adapter, port, &capability)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPortCapabilityWhenPortIdIsError, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - uint32_t portId = port->portId; - port->portId = 1; - struct AudioPortCapability capability; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterGetPortCapability(adapter, port, &capability)); - port->portId = portId; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioPort port; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterSetPassthroughMode(nullptr, &port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenPortIsNull, TestSize.Level1) -{ - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterSetPassthroughMode(adapter, nullptr, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenPortDirIsPortIn, TestSize.Level1) -{ - struct AudioPort port; - port.portName = "usb"; - port.dir = PORT_IN; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode(adapter, &port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenPortCapabilitysIsNull, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->portCapabilitys = nullptr; - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode((struct AudioAdapter *)hwAdapter, port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenPortIdIsError, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - uint32_t portId = port->portId; - port->portId = 1; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode(adapter, port, mode)); - port->portId = portId; -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenPortNumIsZero, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterDescriptor.portNum = 0; - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode((struct AudioAdapter *)hwAdapter, port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenSubPortsIsNull, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - free(hwAdapter->portCapabilitys->capability.subPorts); - hwAdapter->portCapabilitys->capability.subPorts = nullptr; - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode((struct AudioAdapter *)hwAdapter, port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenParamIsValid, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterSetPassthroughMode(adapter, port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterSetPassthroughModeWhenModeIsError, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_RAW; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterSetPassthroughMode(adapter, port, mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioPort port; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPassthroughMode(nullptr, &port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenPortIsNull, TestSize.Level1) -{ - struct AudioPort *port = nullptr; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPassthroughMode(adapter, port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenModeIsNull, TestSize.Level1) -{ - struct AudioPort *port = desc->ports; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioAdapterGetPassthroughMode(adapter, port, nullptr)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenPortDirIsPortIn, TestSize.Level1) -{ - struct AudioPort port; - port.portName = "usb"; - port.dir = PORT_IN; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterGetPassthroughMode(adapter, &port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenPortCapabilitysIsNull, TestSize.Level1) -{ - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->portCapabilitys = nullptr; - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterGetPassthroughMode((AudioAdapter *)hwAdapter, port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenPortNumIsZero, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioHwAdapter *hwAdapter = (struct AudioHwAdapter *)adapter; - hwAdapter->adapterDescriptor.portNum = 0; - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterGetPassthroughMode((AudioAdapter *)hwAdapter, port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenParamIsValid, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterGetPassthroughMode(adapter, port, &mode)); -} - -HWTEST_F(AudioAdapterTest, AudioAdapterGetPassthroughModeWhenPortIdIsError, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterInitAllPorts(adapter)); - struct AudioPort *port = desc->ports; - uint32_t portId = port->portId; - port->portId = 1; - AudioPortPassthroughMode mode = PORT_PASSTHROUGH_LPCM; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioAdapterGetPassthroughMode(adapter, port, &mode)); - port->portId = portId; -} -} diff --git a/audio/test/unittest/hdi/passthrough/capture/BUILD.gn b/audio/test/unittest/hdi/passthrough/capture/BUILD.gn deleted file mode 100644 index 508d2df1d38d952b126bff235ef7cfe5ff81d7e1..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/capture/BUILD.gn +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") - import("$hdf_audio_path/audio.gni") -} else { - import("//build/test.gni") - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - ###########################LITEOS########################### - ###########################hdf_audio_hdi_capture_test########################### - unittest("hdf_audio_hdi_capture_test") { - sources = [ - "$hdf_audio_test_path/capture/src/audio_capture_test.cpp", - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - } -} else { - ###########################hdf_audio_hdi_capture_test########################### - ohos_unittest("hdf_audio_hdi_capture_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/capture/src/audio_capture_test.cpp", - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - - if (drivers_peripheral_audio_feature_alsa_lib) { - defines = [ "ALSA_LIB_MODE" ] - } - - if (!drivers_peripheral_audio_feature_user_mode) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - } - } -} diff --git a/audio/test/unittest/hdi/passthrough/capture/src/audio_capture_test.cpp b/audio/test/unittest/hdi/passthrough/capture/src/audio_capture_test.cpp deleted file mode 100644 index a780f5b54e3d677b1a5c23cab7609c3dbfe8829e..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/capture/src/audio_capture_test.cpp +++ /dev/null @@ -1,1283 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_common_test.h" -#include "hdf_io_service_if.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioCaptureTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - struct AudioCapture *capture = nullptr; - - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioCaptureTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_EQ(HDF_SUCCESS, InitDevDescCapture(devDesc)); - ASSERT_EQ(HDF_SUCCESS, InitAttrsCapture(attrs)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterCreateCapture(adapter, &devDesc, &attrs, &capture)); -} - -void AudioCaptureTest::TearDown() -{ - ASSERT_EQ(HDF_SUCCESS, AudioAdapterDestroyCapture(adapter, capture)); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStartWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureStart(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStartWhenBufferIsNotNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_ERR_AI_BUSY, AudioCaptureStart(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStartWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureStart(handle)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStartWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwCapture; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureStart(handle)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStartWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStopWhenHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureStop(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStopWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureStop(handle)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStopWhenBufferIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - hwCapture->captureParam.frameCaptureMode.buffer = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioCaptureStop(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStopWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStop(handle)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureStop(handle)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureStopWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStop(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCapturePause(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenBufferIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - hwCapture->captureParam.frameCaptureMode.buffer = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCapturePause(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenPauseIsTrue, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - hwCapture->captureParam.captureMode.ctlParam.pause = true; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioCapturePause(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCapturePause(handle)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCapturePause(handle)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCapturePause(handle)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCapturePauseWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCapturePause(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureResumeWhenHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureResume(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureResumeWhenPauseIsFalse, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - hwCapture->captureParam.captureMode.ctlParam.pause = false; - handle = (AudioHandle)hwCapture; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioCaptureResume(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureResumeWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCapturePause(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureResume(handle)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureResumeWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCapturePause(handle)); - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureResume(handle)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureResume(handle)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureResumeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCapturePause(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureResume(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureFlushWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureFlush(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureFlushWhenParamIsValid, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioCaptureFlush(capture)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameSizeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - uint64_t size = FRAME_DATA; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetFrameSize(handle, &size)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameSizeWhenSizeIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t *frameSize = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetFrameSize(handle, frameSize)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameSizeWhenParamIsNotSupport, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - hwCapture->captureParam.frameCaptureMode.attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - AudioHandle handle = (AudioHandle)hwCapture; - uint64_t frameSize = FRAME_DATA; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioCaptureGetFrameSize(handle, &frameSize)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameSizeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t frameSize = FRAME_DATA; - EXPECT_EQ(HDF_SUCCESS, AudioCaptureGetFrameSize(handle, &frameSize)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameCountWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - uint64_t count = FRAME_DATA; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetFrameCount(handle, &count)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameCountWhenCountIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t *count = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetFrameCount(handle, count)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetFrameCountWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t count = FRAME_DATA; - EXPECT_EQ(HDF_SUCCESS, AudioCaptureGetFrameCount(handle, &count)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenHandleIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetSampleAttributes(nullptr, &attrs)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenAttrsIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetSampleAttributes(handle, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetSampleAttributes(handle, &attrs)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenFormatIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - AudioFormat format = attrs.format; - attrs.format = AUDIO_FORMAT_TYPE_G711A; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioCaptureSetSampleAttributes(handle, &attrs)); - attrs.format = format; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwCapture; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetSampleAttributes(handle, &attrs)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetSampleAttributes(handle, &attrs)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetSampleAttributesWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetSampleAttributes(handle, &attrs)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetSampleAttributesWhenHandleIsNull, TestSize.Level1) -{ - AudioSampleAttributes *attrs = new AudioSampleAttributes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetSampleAttributes(nullptr, attrs)); - delete(attrs); - attrs = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetSampleAttributesWhenAttrsIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetSampleAttributes(handle, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetSampleAttributesWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(HDF_SUCCESS, AudioCaptureGetSampleAttributes(handle, &attrs)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCurrentChannelIdWhenHandleIsNull, TestSize.Level1) -{ - uint32_t channelIdOne = 1; - uint32_t *channelId = &channelIdOne; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetCurrentChannelId(nullptr, channelId)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCurrentChannelIdWhenChannelIdIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetCurrentChannelId(handle, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCurrentChannelIdWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint32_t channelId = 1; - EXPECT_EQ(HDF_SUCCESS, AudioCaptureGetCurrentChannelId(handle, &channelId)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCheckSceneCapabilityWhenHandleIsNull, TestSize.Level1) -{ - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCheckSceneCapability(nullptr, scene, &supported)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCheckSceneCapabilityWhenSceneIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCheckSceneCapability(handle, nullptr, &supported)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCheckSceneCapabilityWhenSupportedIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCheckSceneCapability(handle, scene, nullptr)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCheckSceneCapabilityWhenPinsIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_NONE; - bool supported = false; - /* to support different products */ - int32_t ret = AudioCaptureCheckSceneCapability(handle, &scene, &supported); - if ((ret == AUDIO_HAL_ERR_NOT_SUPPORT) || (ret == AUDIO_HAL_ERR_INTERNAL)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCheckSceneCapabilityWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_IN_MIC; - bool supported = false; - /* to support different products */ - int32_t ret = AudioCaptureCheckSceneCapability(handle, &scene, &supported); - if ((ret == AUDIO_HAL_SUCCESS) || (ret == AUDIO_HAL_ERR_NOT_SUPPORT)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSelectSceneWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSelectScene(handle, scene)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSelectSceneWhenSceneIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSelectScene(handle, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSelectSceneWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - struct AudioSceneDescriptor *scene = new AudioSceneDescriptor; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSelectScene(handle, scene)); - hwCapture->devCtlHandle = devCtlHandle; - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSelectSceneWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwCapture; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_IN_MIC; - /* to support different products */ - int32_t ret = AudioCaptureSelectScene(handle, &scene); - if ((ret == AUDIO_HAL_ERR_NOT_SUPPORT) || (ret == AUDIO_HAL_ERR_INTERNAL)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSelectSceneWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_IN_MIC; - /* to support different products */ - int32_t ret = AudioCaptureSelectScene(handle, &scene); - if ((ret == AUDIO_HAL_ERR_NOT_SUPPORT) || (ret == AUDIO_HAL_SUCCESS)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetMuteWhenHandleIsNull, TestSize.Level1) -{ - bool mute = true; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetMute(nullptr, mute)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetMuteWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - bool mute = true; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetMute(handle, mute)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetMuteWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwCapture; - bool mute = true; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetMute(handle, mute)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetMute(handle, mute)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetMuteWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - bool mute = true; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetMute(handle, mute)); - mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetMute(handle, mute)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMuteWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetMute(handle, &mute)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMuteWhenMuteIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetMute((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMuteWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetMute(handle, &mute)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMuteWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwCapture; - bool mute = false; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetMute(handle, &mute)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetMute(handle, &mute)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMuteWhenParamValid, TestSize.Level1) -{ - bool mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetMute((AudioHandle)capture, &mute)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenHandleIsNull, TestSize.Level1) -{ - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetVolume(nullptr, volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetVolume(handle, volume)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenVolumeLessThanZero, TestSize.Level1) -{ - float volume = -1; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetVolume((AudioHandle)capture, volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMax = 0; - hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMin = 1; - AudioHandle handle = (AudioHandle)capture; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetVolume(handle, volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwCapture; - float volume = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetVolume(handle, volume)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetVolume(handle, volume)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetVolumeWhenParamValid, TestSize.Level1) -{ - float volume = 0.0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetVolume((AudioHandle)capture, volume)); - volume = 0.6; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetVolume((AudioHandle)capture, volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenHandleIsNull, TestSize.Level1) -{ - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetVolume(nullptr, &volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenVolumeIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetVolume((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetVolume(handle, &volume)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwCapture; - float volume = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetVolume(handle, &volume)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetVolume(handle, &volume)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenVolumeIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMax = 1; - hwCapture->captureParam.captureMode.ctlParam.volThreshold.volMin = 1; - AudioHandle handle = (AudioHandle)capture; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetVolume(handle, &volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetVolumeWhenParamValid, TestSize.Level1) -{ - float volume = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetVolume((AudioHandle)capture, &volume)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenCaptureIsNull, TestSize.Level1) -{ - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetGainThreshold(nullptr, &min, &max)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenMinIsNull, TestSize.Level1) -{ - float *min = nullptr; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetGainThreshold((AudioHandle)capture, min, &max)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenMaxIsNull, TestSize.Level1) -{ - float min = GAIN_MIN; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetGainThreshold((AudioHandle)capture, &min, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetGainThreshold(handle, &min, &max)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwCapture *hwCapture = (AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwCapture; - float min = GAIN_MIN; - float max = GAIN_MAX; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetGainThreshold(handle, &min, &max)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetGainThreshold(handle, &min, &max)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainThresholdWhenParamValid, TestSize.Level1) -{ - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetGainThreshold((AudioHandle)capture, &min, &max)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainWhenHandleIsNull, TestSize.Level1) -{ - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetGain(nullptr, &gain)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainWhenGainIsNull, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetGain((AudioHandle)capture, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetGain(handle, &gain)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwCapture; - float gain = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetGain(handle, &gain)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetGain(handle, &gain)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetGainWhenParamValid, TestSize.Level1) -{ - float gain = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetGain((AudioHandle)capture, &gain)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetGainWhenHandleIsNull, TestSize.Level1) -{ - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetGain(nullptr, gain)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetGainWhenGainIsLessThanZero, TestSize.Level1) -{ - float gain = -1; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetGain((AudioHandle)capture, gain)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetGainWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - hwCapture->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetGain(handle, gain)); - hwCapture->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetGainWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devCtlHandle = hwCapture->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwCapture; - float gain = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetGain(handle, gain)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureSetGain(handle, gain)); -#endif - hwCapture->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetGainWhenParamValid, TestSize.Level1) -{ - float gain = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetGain((AudioHandle)capture, gain)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenCaptureIsNull, TestSize.Level1) -{ - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCaptureFrame(nullptr, frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenFrameIsNull, TestSize.Level1) -{ - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCaptureFrame(capture, nullptr, requestBytes, &replyBytes)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenReplyBytesIsNull, TestSize.Level1) -{ - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureCaptureFrame(capture, frame, requestBytes, nullptr)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenDevDataHandleIsNull, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart((AudioHandle)capture)); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes)); - hwCapture->devDataHandle = devDataHandle; - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenDevDataHandleIsError, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart((AudioHandle)capture)); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenRequestBytesLessThanBufferSize, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart((AudioHandle)capture)); - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA - 1; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenSampleRateIsZero, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart((AudioHandle)capture)); - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - hwCapture->captureParam.frameCaptureMode.attrs.sampleRate = 0; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureCaptureFrameWhenParamIsValid, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart((AudioHandle)capture)); - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - /* to support different products */ - int32_t ret = AudioCaptureCaptureFrame(capture, frame, requestBytes, &replyBytes); - if ((ret == AUDIO_HAL_SUCCESS) || (ret == AUDIO_HAL_ERR_INTERNAL)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCapturePositionWhenCaptureIsNull, TestSize.Level1) -{ - uint64_t frames = 1024; - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetCapturePosition(nullptr, &frames, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCapturePositionWhenFramesIsNull, TestSize.Level1) -{ - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetCapturePosition(capture, nullptr, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCapturePositionWhenTimeIsNull, TestSize.Level1) -{ - uint64_t frames = 1024; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetCapturePosition(capture, &frames, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetCapturePositionWhenParamIsValid, TestSize.Level1) -{ - uint64_t frames = 1024; - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(HDF_SUCCESS, AudioCaptureGetCapturePosition(capture, &frames, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureTurnStandbyModeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureTurnStandbyMode(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureTurnStandbyModeWhenStopIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureTurnStandbyMode(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureTurnStandbyModeWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureTurnStandbyMode(handle)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureAudioDevDumpWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t range = RANGE_MIN; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureAudioDevDump(handle, range, fd)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureAudioDevDumpWhenRangeOverMax, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - int32_t range = RANGE_MAX; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureAudioDevDump(handle, range, fd)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureAudioDevDumpWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - int32_t range = RANGE_MIN; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureAudioDevDump(handle, range, fd)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - uint64_t frames = 0; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetMmapPosition(handle, &frames, &time)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenFramesIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetMmapPosition(handle, nullptr, &time)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenTimeIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t frames = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetMmapPosition(handle, &frames, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - uint64_t frames = 0; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetMmapPosition(handle, &frames, &time)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwCapture->devDataHandle = reinterpret_cast(service); - uint64_t frames = 0; - struct AudioTimeStamp time; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetMmapPosition(handle, &frames, &time)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetMmapPosition(handle, &frames, &time)); -#endif - hwCapture->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetMmapPositionWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - uint64_t frames = 0; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetMmapPosition(handle, &frames, &time)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureReqMmapBufferWhenHandleIsNull, TestSize.Level1) -{ - AudioHwCapture *hwCapture = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureReqMmapBuffer(handle, reqSize, &desc)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureReqMmapBufferWhenDescIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t reqSize = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureReqMmapBuffer(handle, reqSize, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureReqMmapBufferWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - struct DevHandle *devDataHandle = hwCapture->devDataHandle; - hwCapture->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureReqMmapBuffer(handle, reqSize, &desc)); - hwCapture->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioCaptureTest, AudioCaptureReqMmapBufferWhenFormatIsError, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t reqSize = 0; - struct AudioMmapBufferDescriptor desc; - hwCapture->captureParam.frameCaptureMode.attrs.format = AUDIO_FORMAT_TYPE_G711A; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioCaptureReqMmapBuffer(handle, reqSize, &desc)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureReqMmapBufferWhenReqSizeOverThanFileSize, TestSize.Level1) -{ - struct AudioHwCapture *hwCapture = (struct AudioHwCapture *)capture; - AudioHandle handle = (AudioHandle)hwCapture; - int32_t reqSize = 1024; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureReqMmapBuffer(handle, reqSize, &desc)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetExtraParamsWhenHandleIsNull, TestSize.Level1) -{ - char keyValueList[PARAMS_LEN] = {0}; - int32_t listLenth = PARAMS_LEN; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetExtraParams(nullptr, keyValueList, listLenth)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetExtraParamsWhenKeyValueListIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - int32_t listLenth = PARAMS_LEN; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetExtraParams(handle, nullptr, listLenth)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetExtraParamsWhenListLenthIsZero, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - char keyValueList[PARAMS_LEN] = {0}; - int32_t listLenth = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureGetExtraParams(handle, keyValueList, listLenth)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetExtraParamsWhenListLenthLessThanBufferSize, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - char keyValueList[PARAMS_LEN] = {0}; - int32_t listLenth = 1; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioCaptureGetExtraParams(handle, keyValueList, listLenth)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureGetExtraParamsWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - char keyValueList[PARAMS_LEN] = {0}; - int32_t listLenth = PARAMS_LEN; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureGetExtraParams(handle, keyValueList, listLenth)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetExtraParamsWhenHandleIsNull, TestSize.Level1) -{ - char keyValueList[PARAMS_LEN] = "attr-frame-count=4096;"; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetExtraParams(nullptr, keyValueList)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetExtraParamsWhenKeyValueListIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioCaptureSetExtraParams(handle, nullptr)); -} - -HWTEST_F(AudioCaptureTest, AudioCaptureSetExtraParamsWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)capture; - char keyValueList[PARAMS_LEN] = "attr-frame-count=4096;"; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioCaptureSetExtraParams(handle, keyValueList)); -} -} diff --git a/audio/test/unittest/hdi/passthrough/common/include/audio_common_test.h b/audio/test/unittest/hdi/passthrough/common/include/audio_common_test.h deleted file mode 100644 index 4a2e947af092487b57798d2701892fba2eb6c90a..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/common/include/audio_common_test.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIO_COMMON_TEST_H -#define AUDIO_COMMON_TEST_H - -#include "audio_internal.h" -#include "audio_interface_lib_common.h" - -namespace comfun { -const float GAIN_MIN = 0; -const float GAIN_MAX = 15; -const int PORTNUM = 1; -const int AUDIO_CHANNELCOUNT = 2; -const int AUDIO_PORT_ID = 2; // portId -const int AUDIO_SAMPLE_RATE_48K = 48000; -const int DEEP_BUFFER_RENDER_PERIOD_SIZE = 4096; -const int INT_32_MAX = 0x7fffffff; -const int DEFAULT_RENDER_SAMPLING_RATE = 48000; -const int DEEP_BUFFER_RENDER_PERIOD_COUNT = 8; -const int PARAMS_LEN = 256; -const int PARAMS_ERR = 10; -const int REQ_SIZE = 1024; - -int32_t InitPort(struct AudioPort &portIndex); -int32_t InitHwRender(struct AudioHwRender &hwRender, - const struct AudioDeviceDescriptor &desc, const struct AudioSampleAttributes &attrs); -int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs); -int32_t InitAttrs(struct AudioSampleAttributes &attrs); -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc); -int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs); -int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc); -int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie); -} -#endif diff --git a/audio/test/unittest/hdi/passthrough/common/src/audio_common_test.cpp b/audio/test/unittest/hdi/passthrough/common/src/audio_common_test.cpp deleted file mode 100644 index 93cab8a4b4ad2ccb34a0d4ac5d7dc71ae02b7389..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/common/src/audio_common_test.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audio_common_test.h" -#include "audio_internal.h" - -namespace comfun { -int32_t InitPort(struct AudioPort &portIndex) -{ - portIndex.dir = PORT_OUT; - portIndex.portId = 1; - portIndex.portName = "usb"; - return HDF_SUCCESS; -} - -int32_t InitHwRender(struct AudioHwRender &hwRender, - const struct AudioDeviceDescriptor &desc, const struct AudioSampleAttributes &attrs) -{ - hwRender.renderParam.renderMode.hwInfo.deviceDescript = desc; - hwRender.renderParam.frameRenderMode.attrs = attrs; - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwRender.renderParam.renderMode.ctlParam.audioGain.gainMin = 0; - hwRender.renderParam.frameRenderMode.frames = 0; - hwRender.renderParam.frameRenderMode.time.tvNSec = 0; - hwRender.renderParam.frameRenderMode.time.tvSec = 0; - hwRender.renderParam.frameRenderMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwRender.renderParam.frameRenderMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwRender.renderParam.frameRenderMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwRender.renderParam.frameRenderMode.attrs.period = attrs.period; - hwRender.renderParam.frameRenderMode.attrs.frameSize = attrs.frameSize; - hwRender.renderParam.frameRenderMode.attrs.startThreshold = attrs.startThreshold; - hwRender.renderParam.frameRenderMode.attrs.stopThreshold = attrs.stopThreshold; - hwRender.renderParam.frameRenderMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwRender.renderParam.frameRenderMode.attrs.isBigEndian = attrs.isBigEndian; - hwRender.renderParam.frameRenderMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -int32_t InitHwCapture(struct AudioHwCapture &hwCapture, const struct AudioDeviceDescriptor &desc, - const struct AudioSampleAttributes &attrs) -{ - hwCapture.captureParam.captureMode.hwInfo.deviceDescript = desc; - hwCapture.captureParam.frameCaptureMode.attrs = attrs; - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMax = 15; // gainMax 15 - hwCapture.captureParam.captureMode.ctlParam.audioGain.gainMin = 0; - hwCapture.captureParam.frameCaptureMode.frames = 0; - hwCapture.captureParam.frameCaptureMode.time.tvNSec = 0; - hwCapture.captureParam.frameCaptureMode.time.tvSec = 0; - hwCapture.captureParam.frameCaptureMode.byteRate = DEFAULT_RENDER_SAMPLING_RATE; - hwCapture.captureParam.frameCaptureMode.periodSize = DEEP_BUFFER_RENDER_PERIOD_SIZE; - hwCapture.captureParam.frameCaptureMode.periodCount = DEEP_BUFFER_RENDER_PERIOD_COUNT; - hwCapture.captureParam.frameCaptureMode.attrs.period = attrs.period; - hwCapture.captureParam.frameCaptureMode.attrs.frameSize = attrs.frameSize; - hwCapture.captureParam.frameCaptureMode.attrs.startThreshold = attrs.startThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.stopThreshold = attrs.stopThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.silenceThreshold = attrs.silenceThreshold; - hwCapture.captureParam.frameCaptureMode.attrs.isBigEndian = attrs.isBigEndian; - hwCapture.captureParam.frameCaptureMode.attrs.isSignedData = attrs.isSignedData; - return HDF_SUCCESS; -} - -void InitAttrsCommon(struct AudioSampleAttributes &attrs) -{ - /* Initialization of audio parameters for playback */ - attrs.format = AUDIO_FORMAT_TYPE_PCM_16_BIT; - attrs.channelCount = AUDIO_CHANNELCOUNT; - attrs.sampleRate = AUDIO_SAMPLE_RATE_48K; - attrs.interleaved = 0; - attrs.type = AUDIO_IN_MEDIA; - attrs.period = DEEP_BUFFER_RENDER_PERIOD_SIZE; - /* PERIOD_SIZE * 16 * attrs.channelCount / 8 */ - attrs.frameSize = 16 * attrs.channelCount / 8; - attrs.isBigEndian = false; - attrs.isSignedData = true; - /* DEEP_BUFFER_RENDER_PERIOD_SIZE / (16 * attrs->channelCount / 8) */ - attrs.startThreshold = DEEP_BUFFER_RENDER_PERIOD_SIZE / (16 * attrs.channelCount / 8); - attrs.stopThreshold = INT_32_MAX; -} - -int32_t InitAttrs(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - attrs.silenceThreshold = 0; - return HDF_SUCCESS; -} - -int32_t InitDevDesc(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_OUT_SPEAKER; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t InitAttrsCapture(struct AudioSampleAttributes &attrs) -{ - InitAttrsCommon(attrs); - /* 16 * 1024 */ - attrs.silenceThreshold = 16 * 1024; - return HDF_SUCCESS; -} - -int32_t InitDevDescCapture(struct AudioDeviceDescriptor &devDesc) -{ - /* Initialization of audio parameters for playback */ - devDesc.portId = 0; - devDesc.pins = PIN_IN_MIC; - devDesc.desc = NULL; - return HDF_SUCCESS; -} - -int32_t AudioRenderCallbackUtTest(enum AudioCallbackType type, void *reserved, void *cookie) -{ - (void)reserved; - (void)cookie; - switch (type) { - case AUDIO_NONBLOCK_WRITE_COMPLETED: - return HDF_SUCCESS; - case AUDIO_RENDER_FULL: - return HDF_SUCCESS; - case AUDIO_FLUSH_COMPLETED: - return HDF_SUCCESS; - case AUDIO_ERROR_OCCUR: - return HDF_FAILURE; - case AUDIO_DRAIN_COMPLETED: - return HDF_FAILURE; - default: - return HDF_FAILURE; - } - return HDF_FAILURE; -} -} \ No newline at end of file diff --git a/audio/test/unittest/hdi/passthrough/manager/BUILD.gn b/audio/test/unittest/hdi/passthrough/manager/BUILD.gn deleted file mode 100644 index 34d5993ecc30eba470d1d093af30950eb1c14e5d..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/manager/BUILD.gn +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") - import("$hdf_audio_path/audio.gni") -} else { - import("//build/test.gni") - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - ###########################LITEOS########################### - ###########################hdf_audio_hdi_manager_test########################### - unittest("hdf_audio_hdi_manager_test") { - sources = [ "./../manager/src/audio_manager_test.cpp" ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - } -} else { - ###########################hdf_audio_hdi_manager_test########################### - ohos_unittest("hdf_audio_hdi_manager_test") { - module_out_path = "hdf/audio" - sources = [ "./../manager/src/audio_manager_test.cpp" ] - - include_dirs = [ - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - if (!drivers_peripheral_audio_feature_user_mode) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - } - } -} diff --git a/audio/test/unittest/hdi/passthrough/manager/src/audio_manager_test.cpp b/audio/test/unittest/hdi/passthrough/manager/src/audio_manager_test.cpp deleted file mode 100644 index 9118e5928a10ef863ba7a2db6e0c5a38fa10b9a9..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/manager/src/audio_manager_test.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_internal.h" - -using namespace std; -using namespace testing::ext; -namespace { -class AudioManagerTest : public testing::Test { -public: - static void SetUpTestCase(); - static void TearDownTestCase(); -}; - -void AudioManagerTest::SetUpTestCase() -{ -} - -void AudioManagerTest::TearDownTestCase() -{ -} - -HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenManagerIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - int32_t size = 0; - struct AudioManager *manager = nullptr; - struct AudioAdapterDescriptor *descs; - int32_t ret = managerFuncs->GetAllAdapters(manager, &descs, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenDescsIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - int32_t size = 0; - int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, nullptr, &size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenSizeIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - int32_t *size = nullptr; - struct AudioAdapterDescriptor *descs; - int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, size); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenParamIsValid, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - int32_t size = 0; - struct AudioAdapterDescriptor *descs; - int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size); - EXPECT_EQ(HDF_SUCCESS, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenManagerIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - struct AudioManager *manager = nullptr; - const struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor; - struct AudioAdapter *adapter; - int32_t ret = managerFuncs->LoadAdapter(manager, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - delete(desc); - desc = nullptr; -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenDescIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - const struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter; - int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterNameIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - struct AudioAdapterDescriptor descTemp; - descTemp.adapterName = nullptr; - const struct AudioAdapterDescriptor *desc = &descTemp; - struct AudioAdapter *adapter; - int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterIsNull, TestSize.Level1) -{ - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - const struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor; - int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, nullptr); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - delete(desc); - desc = nullptr; -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenDescIsError, TestSize.Level1) -{ - int32_t ret; - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - struct AudioAdapterDescriptor *descs; - ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size); - ASSERT_EQ(HDF_SUCCESS, ret); - struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor; - struct AudioPort ports; - desc->adapterName = " "; - desc->ports = &ports; - desc->portNum = 1; - struct AudioAdapter *adapter; - ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; - delete desc; - desc = nullptr; -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterNameIsError, TestSize.Level1) -{ - int32_t ret; - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - struct AudioAdapterDescriptor *descs; - ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size); - ASSERT_EQ(HDF_SUCCESS, ret); - - struct AudioAdapterDescriptor *desc = &descs[0]; - desc->adapterName = "abc"; - static struct AudioAdapter *adapter; - ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, ret); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; -} - -HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenParamIsValid, TestSize.Level1) -{ - int32_t ret; - struct AudioManager *managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - struct AudioAdapterDescriptor *descs; - ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size); - ASSERT_EQ(HDF_SUCCESS, ret); - - struct AudioAdapterDescriptor *desc = &descs[0]; - static struct AudioAdapter *adapter; - ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter); - EXPECT_EQ(HDF_SUCCESS, ret); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; -} -} diff --git a/audio/test/unittest/hdi/passthrough/render/BUILD.gn b/audio/test/unittest/hdi/passthrough/render/BUILD.gn deleted file mode 100644 index 5c3123290104af4c79c69692e20efb95b4a051a9..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/render/BUILD.gn +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (c) 2021-2023 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -hdf_audio_path = "./../../../../.." -hdf_audio_test_path = "./.." - -if (defined(ohos_lite)) { - import("//build/lite/config/test.gni") - import("$hdf_audio_path/audio.gni") -} else { - import("//build/test.gni") - import("$hdf_audio_path/audio.gni") -} - -if (defined(ohos_lite)) { - ###########################LITEOS########################### - ###########################hdf_audio_hdi_render_test########################### - unittest("hdf_audio_hdi_render_test") { - sources = [ - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - "$hdf_audio_test_path/render/src/audio_render_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - public_deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio", - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", - "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - } -} else { - ###########################hdf_audio_hdi_render_test########################### - ohos_unittest("hdf_audio_hdi_render_test") { - module_out_path = "hdf/audio" - sources = [ - "$hdf_audio_test_path/common/src/audio_common_test.cpp", - "$hdf_audio_test_path/render/src/audio_render_test.cpp", - ] - - include_dirs = [ - "$hdf_audio_test_path/common/include", - "$hdf_audio_path/hal/hdi_passthrough/include", - "$hdf_audio_path/interfaces/include", - "$hdf_audio_path/supportlibs/adm_adapter/include", - "//third_party/bounds_checking_function/include", - "//third_party/googletest/googletest/include/gtest", - ] - - deps = [ - "$hdf_audio_path/hal/hdi_passthrough:hdi_audio_common", - "//third_party/googletest:gmock_main", - "//third_party/googletest:gtest_main", - ] - - if (drivers_peripheral_audio_feature_alsa_lib) { - defines = [ "ALSA_LIB_MODE" ] - } - - if (!drivers_peripheral_audio_feature_user_mode) { - deps += [ "$hdf_audio_path/hal/hdi_passthrough:hdi_audio" ] - external_deps = [ - "c_utils:utils", - "hdf_core:libhdf_utils", - ] - } - } -} diff --git a/audio/test/unittest/hdi/passthrough/render/src/audio_render_test.cpp b/audio/test/unittest/hdi/passthrough/render/src/audio_render_test.cpp deleted file mode 100644 index 0a52e334b28abf80749959727a32277079478f62..0000000000000000000000000000000000000000 --- a/audio/test/unittest/hdi/passthrough/render/src/audio_render_test.cpp +++ /dev/null @@ -1,1519 +0,0 @@ -/* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "audio_common_test.h" -#include "hdf_io_service_if.h" - -using namespace std; -using namespace comfun; -using namespace testing::ext; -namespace { -class AudioRenderTest : public testing::Test { -public: - struct AudioManager *managerFuncs = nullptr; - struct AudioAdapterDescriptor *descs = nullptr; - struct AudioAdapterDescriptor *desc = nullptr; - struct AudioAdapter *adapter = nullptr; - struct AudioDeviceDescriptor devDesc = {}; - struct AudioSampleAttributes attrs = {}; - struct AudioRender *render = nullptr; - - virtual void SetUp(); - virtual void TearDown(); -}; - -void AudioRenderTest::SetUp() -{ - managerFuncs = GetAudioManagerFuncs(); - ASSERT_NE(managerFuncs, nullptr); - int32_t size = 0; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->GetAllAdapters(managerFuncs, &descs, &size)); - - desc = &descs[0]; - ASSERT_EQ(HDF_SUCCESS, managerFuncs->LoadAdapter(managerFuncs, desc, &adapter)); - ASSERT_EQ(HDF_SUCCESS, InitDevDesc(devDesc)); - ASSERT_EQ(HDF_SUCCESS, InitAttrs(attrs)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioAdapterCreateRender(adapter, &devDesc, &attrs, &render)); -} - -void AudioRenderTest::TearDown() -{ - ASSERT_EQ(HDF_SUCCESS, AudioAdapterDestroyRender(adapter, render)); - managerFuncs->UnloadAdapter(managerFuncs, adapter); - adapter = nullptr; -} - -HWTEST_F(AudioRenderTest, PcmBytesToFramesWhenFrameRenderModeIsNull, TestSize.Level1) -{ - const struct AudioFrameRenderMode *frameRenderMode = nullptr; - uint64_t bytes = FRAME_DATA; - uint32_t frameCount = 0; - EXPECT_EQ(HDF_FAILURE, PcmBytesToFrames(frameRenderMode, bytes, &frameCount)); -} - -HWTEST_F(AudioRenderTest, PcmBytesToFramesWhenFrameCountIsNull, TestSize.Level1) -{ - const struct AudioFrameRenderMode *frameRenderMode = new struct AudioFrameRenderMode; - uint64_t bytes = FRAME_DATA; - uint32_t *frameCount = nullptr; - EXPECT_EQ(HDF_FAILURE, PcmBytesToFrames(frameRenderMode, bytes, frameCount)); - delete(frameRenderMode); - frameRenderMode = nullptr; -} - -HWTEST_F(AudioRenderTest, PcmBytesToFramesWhenParamIsNotSupport, TestSize.Level1) -{ - struct AudioFrameRenderMode *frameRenderMode = new struct AudioFrameRenderMode; - frameRenderMode->attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - uint64_t bytes = FRAME_DATA; - uint32_t frameCount = 0; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, - PcmBytesToFrames((const struct AudioFrameRenderMode *)frameRenderMode, bytes, &frameCount)); - delete(frameRenderMode); - frameRenderMode = nullptr; -} - -HWTEST_F(AudioRenderTest, PcmBytesToFramesWhenChannelCountIsZero, TestSize.Level1) -{ - struct AudioFrameRenderMode *frameRenderMode = new struct AudioFrameRenderMode; - frameRenderMode->attrs.format = AUDIO_FORMAT_TYPE_PCM_8_BIT; - frameRenderMode->attrs.channelCount = 0; - uint64_t bytes = FRAME_DATA; - uint32_t frameCount = 0; - EXPECT_EQ(HDF_FAILURE, PcmBytesToFrames((const struct AudioFrameRenderMode *)frameRenderMode, bytes, &frameCount)); - delete(frameRenderMode); - frameRenderMode = nullptr; -} - -HWTEST_F(AudioRenderTest, PcmBytesToFramesWhenParamIsValid, TestSize.Level1) -{ - struct AudioFrameRenderMode *frameRenderMode = new struct AudioFrameRenderMode; - frameRenderMode->attrs.format = AUDIO_FORMAT_TYPE_PCM_8_BIT; - frameRenderMode->attrs.channelCount = 1; - uint64_t bytes = FRAME_DATA; - uint32_t frameCount = 0; - EXPECT_EQ(HDF_SUCCESS, PcmBytesToFrames((const struct AudioFrameRenderMode *)frameRenderMode, bytes, &frameCount)); - delete(frameRenderMode); - frameRenderMode = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderStartWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderStart(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderStartWhenBufferIsNotNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_ERR_AO_BUSY, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStop(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderStartWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderStart(handle)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderStartWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderStart(handle)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderStartWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStop(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderStopWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderStop(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderStopWhenBufferIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.buffer = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioRenderStop(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderStopWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderStop(handle)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderStopWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderStop(handle)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderStopWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStop(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderPause(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenBufferIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.buffer = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderPause(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenPauseIsTrue, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - hwRender->renderParam.renderMode.ctlParam.pause = true; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioRenderPause(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenDevDataHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderPause(handle)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderPause(handle)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderPauseWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderPause(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderResumeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderResume(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderResumeWhenPauseIsFalse, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.renderMode.ctlParam.pause = false; - handle = (AudioHandle)hwRender; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderResume(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderResumeWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderPause(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderResume(handle)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderResumeWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioHandle handle = (AudioHandle)hwRender; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderPause(handle)); - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderResume(handle)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderResumeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderPause(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderResume(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderFlushWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderFlush(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderFlushWhenParamIsValid, TestSize.Level1) -{ - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioRenderFlush(render)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameSizeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - uint64_t size = FRAME_DATA; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetFrameSize(handle, &size)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameSizeWhenSizeIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint64_t *frameSize = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetFrameSize(handle, frameSize)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameSizeWhenParamIsNotSupport, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - AudioHandle handle = (AudioHandle)hwRender; - uint64_t frameSize = FRAME_DATA; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderGetFrameSize(handle, &frameSize)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameSizeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint64_t frameSize = FRAME_DATA; - EXPECT_EQ(HDF_SUCCESS, AudioRenderGetFrameSize(handle, &frameSize)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameCountWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - uint64_t count = FRAME_DATA; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetFrameCount(handle, &count)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameCountWhenCountIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint64_t *count = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetFrameCount(handle, count)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetFrameCountWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint64_t count = FRAME_DATA; - EXPECT_EQ(HDF_SUCCESS, AudioRenderGetFrameCount(handle, &count)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - AudioSampleAttributes *attrs = new AudioSampleAttributes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetSampleAttributes(handle, attrs)); - delete(attrs); - attrs = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenAttrsIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetSampleAttributes(handle, nullptr)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenDevDataHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetSampleAttributes(handle, &attrs)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenFormatIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - attrs.format = AUDIO_FORMAT_TYPE_G711A; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderSetSampleAttributes(handle, &attrs)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenDevDataHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetSampleAttributes(handle, &attrs)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetSampleAttributesWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetSampleAttributes(handle, &attrs)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetSampleAttributesWhenHandleIsNull, TestSize.Level1) -{ - AudioSampleAttributes *attrs = new AudioSampleAttributes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetSampleAttributes(nullptr, attrs)); - delete(attrs); - attrs = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetSampleAttributesWhenAttrsIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetSampleAttributes(handle, nullptr)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetSampleAttributesWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(HDF_SUCCESS, AudioRenderGetSampleAttributes(handle, &attrs)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetCurrentChannelIdWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - uint32_t channelIdOne = 1; - uint32_t *channelId = &channelIdOne; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetCurrentChannelId(handle, channelId)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetCurrentChannelIdWhenChannelIdIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint32_t *channelId = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetCurrentChannelId(handle, channelId)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetCurrentChannelIdWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - uint32_t channelId = 1; - EXPECT_EQ(HDF_SUCCESS, AudioRenderGetCurrentChannelId(handle, &channelId)); -} - -HWTEST_F(AudioRenderTest, AudioRenderCheckSceneCapabilityWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderCheckSceneCapability(handle, scene, &supported)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderCheckSceneCapabilityWhenSceneIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - const struct AudioSceneDescriptor *scene = nullptr; - bool supported = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderCheckSceneCapability(handle, scene, &supported)); -} - -HWTEST_F(AudioRenderTest, AudioRenderCheckSceneCapabilityWhenSupportedIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - bool *supported = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderCheckSceneCapability(handle, scene, supported)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderCheckSceneCapabilityWhenPinsIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_NONE; - bool supported = false; - /* to support different products */ - int32_t ret = AudioRenderCheckSceneCapability(handle, &scene, &supported); - if ((ret == AUDIO_HAL_SUCCESS || ret == AUDIO_HAL_ERR_INTERNAL) || (ret == AUDIO_HAL_ERR_NOT_SUPPORT)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioRenderTest, AudioRenderCheckSceneCapabilityWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_OUT_SPEAKER; - bool supported = false; - /* to support different products */ - int32_t ret = AudioRenderCheckSceneCapability(handle, &scene, &supported); - if ((ret == AUDIO_HAL_SUCCESS) || (ret == AUDIO_HAL_ERR_NOT_SUPPORT)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioRenderTest, AudioRenderSelectSceneWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - const struct AudioSceneDescriptor *scene = new struct AudioSceneDescriptor; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSelectScene(handle, scene)); - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSelectSceneWhenSceneIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - const struct AudioSceneDescriptor *scene = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSelectScene(handle, scene)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSelectSceneWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - struct AudioSceneDescriptor *scene = new AudioSceneDescriptor; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSelectScene(handle, scene)); - hwRender->devCtlHandle = devCtlHandle; - delete(scene); - scene = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSelectSceneWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwRender; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_OUT_SPEAKER; - /* to support different products */ - int32_t ret = AudioRenderSelectScene(handle, &scene); - if ((ret == AUDIO_HAL_ERR_INTERNAL) || (ret == AUDIO_HAL_ERR_NOT_SUPPORT)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSelectSceneWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - struct AudioSceneDescriptor scene; - scene.scene.id = AUDIO_IN_MEDIA; - scene.desc.pins = PIN_OUT_SPEAKER; - /* to support different products */ - int32_t ret = AudioRenderSelectScene(handle, &scene); - if ((ret == AUDIO_HAL_SUCCESS) || (ret == AUDIO_HAL_ERR_NOT_SUPPORT)) { - EXPECT_TRUE(true); - } else { - EXPECT_TRUE(false); - } -} - -HWTEST_F(AudioRenderTest, AudioRenderSetMuteWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = true; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetMute(handle, mute)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetMuteWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = true; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetMute(handle, mute)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetMuteWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = true; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetMute(handle, mute)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetMute(handle, mute)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetMuteWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - bool mute = true; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetMute(handle, mute)); - mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetMute(handle, mute)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMuteWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetMute(handle, &mute)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMuteWhenMuteIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - bool *mute = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetMute(handle, mute)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMuteWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetMute(handle, &mute)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMuteWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwRender; - bool mute = true; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetMute(handle, &mute)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetMute(handle, &mute)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMuteWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - bool mute = false; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetMute(handle, &mute)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetVolume(handle, volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenVolumeLessThanZero, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float volume = -1; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetVolume(handle, volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetVolume(handle, volume)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax = 0; - hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin = 1; - AudioHandle handle = (AudioHandle)render; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetVolume(handle, volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 1.0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetVolume(handle, volume)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetVolume(handle, volume)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetVolumeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float volume = 0.8; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetVolume(handle, volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetVolume(handle, &volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenVolumeIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float *volume = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetVolume(handle, volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetVolume(handle, &volume)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwRender; - float volume = 1.0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetVolume(handle, &volume)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetVolume(handle, &volume)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenVolumeIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - hwRender->renderParam.renderMode.ctlParam.volThreshold.volMax = 1; - hwRender->renderParam.renderMode.ctlParam.volThreshold.volMin = 1; - AudioHandle handle = (AudioHandle)render; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetVolume(handle, &volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetVolumeWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float volume = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetVolume(handle, &volume)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetGainThreshold(handle, &min, &max)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenMinIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float *min = nullptr; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetGainThreshold(handle, min, &max)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenMaxIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float min = GAIN_MIN; - float *max = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetGainThreshold(handle, &min, max)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenDevCtlHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetGainThreshold(handle, &min, &max)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenDevCtlHandleIsError, TestSize.Level1) -{ - AudioHwRender *hwRender = (AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = (struct DevHandle *)service; - AudioHandle handle = (AudioHandle)hwRender; - float min = GAIN_MIN; - float max = GAIN_MAX; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetGainThreshold(handle, &min, &max)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetGainThreshold(handle, &min, &max)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainThresholdWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float min = GAIN_MIN; - float max = GAIN_MAX; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetGainThreshold(handle, &min, &max)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetGain(handle, &gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainWhenGainIsNull, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float *gain = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetGain(handle, gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetGain(handle, &gain)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetGain(handle, &gain)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetGain(handle, &gain)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetGainWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetGain(handle, &gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetGainWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetGain(handle, gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetGainWhenGainIsLessThanZero, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float gain = -1; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetGain(handle, gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetGainWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetGain(handle, gain)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetGainWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = reinterpret_cast(service); - AudioHandle handle = (AudioHandle)hwRender; - float gain = 0; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetGain(handle, gain)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetGain(handle, gain)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetGainWhenParamValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - float gain = 0; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetGain(handle, gain)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetLatencyWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - uint32_t ms = 96; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetLatency(utRender, &ms)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetLatencyWhenMsIsNull, TestSize.Level1) -{ - uint32_t *ms = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetLatency(render, ms)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetLatencyWhenByteRateIsZero, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.byteRate = 0; - uint32_t ms = 96; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetLatency((struct AudioRender *)hwRender, &ms)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetLatencyWhenParamValid, TestSize.Level1) -{ - uint32_t ms = 96; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetLatency(render, &ms)); -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, - AudioRenderRenderFrame(utRender, (const void*)frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenFrameIsNull, TestSize.Level1) -{ - void *frame = nullptr; - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, - AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenReplyBytesIsNull, TestSize.Level1) -{ - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t *replyBytes = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, - AudioRenderRenderFrame(render, (const void*)frame, requestBytes, replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenRequestBytesGreaterThan16K, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart((AudioHandle)render)); - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA + 1; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenFormatIsNotSupport, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart((AudioHandle)render)); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.attrs.format = AUDIO_FORMAT_TYPE_AAC_MAIN; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, - AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenDevDataHandleIsNull, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart((AudioHandle)render)); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, - AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); - hwRender->devDataHandle = devDataHandle; - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenSampleRateIsZero, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart((AudioHandle)render)); - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.attrs.sampleRate = 0; - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderRenderFrameWhenParamIsValid, TestSize.Level1) -{ - ASSERT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart((AudioHandle)render)); - void *frame = (void *)calloc(1, FRAME_DATA); - ASSERT_NE(nullptr, frame); - uint64_t requestBytes = FRAME_DATA; - uint64_t replyBytes; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderRenderFrame(render, (const void*)frame, requestBytes, &replyBytes)); - free(frame); - frame = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderPositionWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - uint64_t frames = 1024; - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetRenderPosition(utRender, &frames, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderPositionWhenFramesIsNull, TestSize.Level1) -{ - uint64_t *frames = nullptr; - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetRenderPosition(render, frames, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderPositionWhenTimeIsNull, TestSize.Level1) -{ - uint64_t frames = 1024; - struct AudioTimeStamp *time = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetRenderPosition(render, &frames, time)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderPositionWhenParamIsValid, TestSize.Level1) -{ - uint64_t frames = 1024; - struct AudioTimeStamp *time = new AudioTimeStamp; - EXPECT_EQ(HDF_SUCCESS, AudioRenderGetRenderPosition(render, &frames, time)); - delete(time); - time = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetRenderSpeedWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - float speed = 1.0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetRenderSpeed(utRender, speed)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetRenderSpeedWhenParamIsValid, TestSize.Level1) -{ - float speed = 1.0; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderSetRenderSpeed(render, speed)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderSpeedWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - float speed = 1.0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetRenderSpeed(utRender, &speed)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderSpeedWhenSpeedIsNull, TestSize.Level1) -{ - float *speed = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetRenderSpeed(render, speed)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetRenderSpeedWhenParamIsValid, TestSize.Level1) -{ - float speed = 1.0; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderGetRenderSpeed(render, &speed)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetChannelModeWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetChannelMode(utRender, mode)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetChannelModeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetChannelMode((struct AudioRender *)hwRender, mode)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetChannelModeWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = reinterpret_cast(service); - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetChannelMode((struct AudioRender *)hwRender, mode)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetChannelMode((struct AudioRender *)hwRender, mode)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderSetChannelModeWhenParamIsValid, TestSize.Level1) -{ - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetChannelMode(render, mode)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetChannelModeWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetChannelMode(utRender, &mode)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetChannelModeWhenModeIsNull, TestSize.Level1) -{ - AudioChannelMode *mode = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetChannelMode(render, mode)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetChannelModeWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - hwRender->devCtlHandle = nullptr; - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetChannelMode((struct AudioRender *)hwRender, &mode)); - hwRender->devCtlHandle = devCtlHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetChannelModeWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devCtlHandle = hwRender->devCtlHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devCtlHandle = reinterpret_cast(service); - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; -#ifdef ALSA_LIB_MODE - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetChannelMode((struct AudioRender *)hwRender, &mode)); -#else - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetChannelMode((struct AudioRender *)hwRender, &mode)); -#endif - hwRender->devCtlHandle = devCtlHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetChannelModeWhenParamIsValid, TestSize.Level1) -{ - AudioChannelMode mode = AUDIO_CHANNEL_NORMAL; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetChannelMode(render, &mode)); -} - -HWTEST_F(AudioRenderTest, AudioRenderDrainBufferWhenTypeIsNull, TestSize.Level1) -{ - AudioDrainNotifyType *type = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderDrainBuffer(render, type)); -} - -HWTEST_F(AudioRenderTest, AudioRenderDrainBufferWhenParamIsNotSupport, TestSize.Level1) -{ - AudioDrainNotifyType *type = new AudioDrainNotifyType; - EXPECT_EQ(AUDIO_HAL_ERR_NOT_SUPPORT, AudioRenderDrainBuffer(render, type)); - delete(type); - type = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderTurnStandbyModeWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderTurnStandbyMode(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderTurnStandbyModeWhenStopIsError, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderTurnStandbyMode(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderTurnStandbyModeWhenParamIsValid, TestSize.Level1) -{ - AudioHandle handle = (AudioHandle)render; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderStart(handle)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderTurnStandbyMode(handle)); -} - -HWTEST_F(AudioRenderTest, AudioRenderRegCallbackWhenRenderIsNull, TestSize.Level1) -{ - struct AudioRender *utRender = nullptr; - RenderCallback callback = AudioRenderCallbackUtTest; - void *cookie = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderRegCallback(utRender, callback, cookie)); -} - -HWTEST_F(AudioRenderTest, AudioRenderRegCallbackWhenParamIsValid, TestSize.Level1) -{ - RenderCallback callback = AudioRenderCallbackUtTest; - void *cookie = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderRegCallback(render, callback, cookie)); -} - -HWTEST_F(AudioRenderTest, CallbackProcessingWhenHandleIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - AudioCallbackType callBackType = AUDIO_ERROR_OCCUR; - EXPECT_EQ(HDF_FAILURE, CallbackProcessing(handle, callBackType)); -} - -HWTEST_F(AudioRenderTest, CallbackProcessingWhenCallbackIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - hwRender->renderParam.frameRenderMode.callback = NULL; - AudioHandle handle = (AudioHandle)hwRender; - AudioCallbackType callBackType = AUDIO_ERROR_OCCUR; - EXPECT_EQ(HDF_FAILURE, CallbackProcessing(handle, callBackType)); -} - -HWTEST_F(AudioRenderTest, CallbackProcessingWhenCallbackIsError, TestSize.Level1) -{ - RenderCallback callback = AudioRenderCallbackUtTest; - void *cookie = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderRegCallback(render, callback, cookie)); - AudioHandle handle = (AudioHandle)render; - int32_t callBackType = AUDIO_ERROR_OCCUR + 1; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, CallbackProcessing(handle, (enum AudioCallbackType)callBackType)); -} - -HWTEST_F(AudioRenderTest, CallbackProcessingWhenParamIsValid, TestSize.Level1) -{ - RenderCallback callback = AudioRenderCallbackUtTest; - void *cookie = nullptr; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderRegCallback(render, callback, cookie)); - AudioHandle handle = (AudioHandle)render; - AudioCallbackType callBackType = AUDIO_ERROR_OCCUR; - EXPECT_EQ(HDF_SUCCESS, CallbackProcessing(handle, callBackType)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetExtraParamsWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;attr-frame-count=82;attr-sampling-rate=48000"; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetExtraParams(handle, keyValueList)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetExtraParamsWhenParamIsNull, TestSize.Level1) -{ - char *keyValueList = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderSetExtraParams(render, keyValueList)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetExtraParamsWhenParamIsError, TestSize.Level1) -{ - char keyValueList[] = "attr-route=1;attr-format=32;attr-channels=2;\ -attr-frame-count=82;attr-sampling-rate=48000;attr-para=123"; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderSetExtraParams(render, keyValueList)); -} - -HWTEST_F(AudioRenderTest, AudioRenderSetExtraParamsWhenParamIsValid, TestSize.Level1) -{ - char keyValueListOne[] = "attr-frame-count=1024;"; - char keyValueListFour[] = "attr-format=32;attr-channels=2;attr-frame-count=4096;attr-sampling-rate=48000"; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetExtraParams(render, keyValueListOne)); - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderSetExtraParams(render, keyValueListFour)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetExtraParamsWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - int32_t listLenth = PARAMS_LEN; - char keyValueListValue[PARAMS_LEN] = {}; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetExtraParams(handle, keyValueListValue, listLenth)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetExtraParamsWhenParamIsNull, TestSize.Level1) -{ - int32_t listLenth = PARAMS_LEN; - char* keyValueListValue = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetExtraParams(render, keyValueListValue, listLenth)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetExtraParamsWhenParamIsError0, TestSize.Level1) -{ - int32_t listLenth = 0; - char keyValueListValue[PARAMS_LEN] = {}; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetExtraParams(render, keyValueListValue, listLenth)); - listLenth = PARAMS_ERR; - EXPECT_EQ(AUDIO_HAL_ERR_INTERNAL, AudioRenderGetExtraParams(render, keyValueListValue, listLenth)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetExtraParamsWhenParamIsValid, TestSize.Level1) -{ - int32_t listLenth = PARAMS_LEN; - char keyValueListValue[PARAMS_LEN] = {}; - EXPECT_EQ(AUDIO_HAL_SUCCESS, AudioRenderGetExtraParams(render, keyValueListValue, listLenth)); -} - -HWTEST_F(AudioRenderTest, AudioRenderReqMmapBufferWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - int32_t reqSize = REQ_SIZE; - struct AudioMmapBufferDescriptor desc; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderReqMmapBuffer(handle, reqSize, &desc)); -} - -HWTEST_F(AudioRenderTest, AudioRenderReqMmapBufferWhenDevCtlHandleIsNull, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - hwRender->devDataHandle = nullptr; - struct AudioMmapBufferDescriptor desc; - int32_t reqSize = REQ_SIZE; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderReqMmapBuffer((struct AudioRender *)hwRender, reqSize, &desc)); - hwRender->devDataHandle = devDataHandle; -} - -HWTEST_F(AudioRenderTest, AudioRenderReqMmapBufferWhenDevCtlHandleIsError, TestSize.Level1) -{ - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - struct DevHandle *devDataHandle = hwRender->devDataHandle; - struct HdfIoService *service = new HdfIoService; - (void)memset_s(service, sizeof(struct HdfIoService), 0, sizeof(struct HdfIoService)); - hwRender->devDataHandle = reinterpret_cast(service); - struct AudioMmapBufferDescriptor desc; - int32_t reqSize = REQ_SIZE; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderReqMmapBuffer((struct AudioRender *)hwRender, reqSize, &desc)); - hwRender->devDataHandle = devDataHandle; - delete(service); - service = nullptr; -} - -HWTEST_F(AudioRenderTest, AudioRenderReqMmapBufferWhenDescIsNull, TestSize.Level1) -{ - struct AudioMmapBufferDescriptor *desc = nullptr; - int32_t reqSize = REQ_SIZE; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderReqMmapBuffer(render, reqSize, desc)); -} - -HWTEST_F(AudioRenderTest, AudioRenderReqMmapBufferWhenFormatIsError, TestSize.Level1) -{ - struct AudioMmapBufferDescriptor desc; - int32_t reqSize = REQ_SIZE; - struct AudioHwRender *hwRender = (struct AudioHwRender *)render; - AudioFormat tempFormat = hwRender->renderParam.frameRenderMode.attrs.format; - hwRender->renderParam.frameRenderMode.attrs.format = AUDIO_FORMAT_TYPE_G726; - EXPECT_EQ(HDF_ERR_NOT_SUPPORT, AudioRenderReqMmapBuffer(render, reqSize, &desc)); - hwRender->renderParam.frameRenderMode.attrs.format = tempFormat; -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMmapPositionWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - uint64_t frames = REQ_SIZE; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetMmapPosition(handle, &frames, &time)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMmapPositionWhenFramesIsNull, TestSize.Level1) -{ - uint64_t *frames = nullptr; - struct AudioTimeStamp time; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetMmapPosition(render, frames, &time)); -} - -HWTEST_F(AudioRenderTest, AudioRenderGetMmapPositionWhenTimeIsNull, TestSize.Level1) -{ - uint64_t frames = REQ_SIZE; - struct AudioTimeStamp *time = nullptr; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderGetMmapPosition(render, &frames, time)); -} - -HWTEST_F(AudioRenderTest, AudioRenderAudioDevDumpWhenRenderIsNull, TestSize.Level1) -{ - AudioHwRender *hwRender = nullptr; - AudioHandle handle = (AudioHandle)hwRender; - int32_t range = 0; - int32_t fd = 0; - EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, AudioRenderAudioDevDump(handle, range, fd)); -} -} diff --git a/audio/test/unittest/supportlibs/interface_lib_capture/BUILD.gn b/audio/test/unittest/supportlibs/interface_lib_capture/BUILD.gn index e6392ca669cf28e4f24bdb38c3e6280553f83c2e..1ada97be1336cb8cede6dffdbe0cdd0aae3d6390 100644 --- a/audio/test/unittest/supportlibs/interface_lib_capture/BUILD.gn +++ b/audio/test/unittest/supportlibs/interface_lib_capture/BUILD.gn @@ -38,7 +38,7 @@ if (defined(ohos_lite)) { ] public_deps = [ - "$hdf_audio_path/supportlibs:hdi_audio_interface_lib_capture", + "$hdf_audio_path/hdi_service/supportlibs:audio_capture_adapter", "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", "//third_party/googletest:gmock_main", @@ -74,7 +74,7 @@ if (defined(ohos_lite)) { ] deps = [ - "$hdf_audio_path/supportlibs:hdi_audio_interface_lib_capture", + "$hdf_audio_path/hdi_service/supportlibs:audio_capture_adapter", "//third_party/googletest:gmock_main", "//third_party/googletest:gtest_main", ] diff --git a/audio/test/unittest/supportlibs/interface_lib_render/BUILD.gn b/audio/test/unittest/supportlibs/interface_lib_render/BUILD.gn index ac26f4382acfffb3458ddc53628fde2431f51d01..a75ad1d411506f7c4dedea610fb61147314c38e6 100644 --- a/audio/test/unittest/supportlibs/interface_lib_render/BUILD.gn +++ b/audio/test/unittest/supportlibs/interface_lib_render/BUILD.gn @@ -38,7 +38,7 @@ if (defined(ohos_lite)) { ] public_deps = [ - "$hdf_audio_path/supportlibs:hdi_audio_interface_lib_render", + "$hdf_audio_path/hdi_service/supportlibs:audio_render_adapter", "//drivers/hdf_core/adapter/uhdf/manager:hdf_core", "//drivers/hdf_core/adapter/uhdf/posix:hdf_posix_osal", "//third_party/googletest:gmock_main", @@ -74,7 +74,7 @@ if (defined(ohos_lite)) { ] deps = [ - "$hdf_audio_path/supportlibs:hdi_audio_interface_lib_render", + "$hdf_audio_path/hdi_service/supportlibs:audio_render_adapter", "//third_party/googletest:gmock_main", "//third_party/googletest:gtest_main", ]