diff --git a/audio/hal/pathselect/src/audio_pathselect.c b/audio/hal/pathselect/src/audio_pathselect.c index 0e985b7b616417658f8de7f886223a6060090545..08487a95dc82e5d919131603f446bd1a5e816f7b 100644 --- a/audio/hal/pathselect/src/audio_pathselect.c +++ b/audio/hal/pathselect/src/audio_pathselect.c @@ -224,7 +224,7 @@ static int32_t SetCapturePathDefaultValue(cJSON *captureSwObj, struct AudioHwCap } static int32_t SetRenderPathValue( - int32_t tpins, cJSON *renderObj, struct AudioHwRenderParam *renderParam, int32_t value) + uint32_t tpins, cJSON *renderObj, struct AudioHwRenderParam *renderParam, int32_t value) { if (renderObj == NULL || renderParam == NULL) { AUDIO_FUNC_LOGE("param Is NULL"); @@ -281,7 +281,7 @@ static int32_t SetRenderPathValue( } static int32_t SetMatchRenderDevicePath( - int32_t tpins, struct AudioHwRenderParam *renderParam, cJSON *cJsonObj, const char *deviceType, int32_t value) + uint32_t tpins, struct AudioHwRenderParam *renderParam, cJSON *cJsonObj, const char *deviceType, int32_t value) { if (cJsonObj == NULL || renderParam == NULL) { AUDIO_FUNC_LOGE("param Is NULL"); @@ -305,7 +305,7 @@ static int32_t SetMatchRenderDefaultDevicePath(struct AudioHwRenderParam *render return HDF_ERR_INVALID_PARAM; } for (uint32_t i = PIN_OUT_SPEAKER; i <= PIN_OUT_EARPIECE; i = i << 1) { - const char *deviceType = AudioPathSelGetDeviceType((int32_t)i); + const char *deviceType = AudioPathSelGetDeviceType(i); if (deviceType == NULL) { AUDIO_FUNC_LOGE("DeviceType not found."); return HDF_FAILURE; @@ -323,7 +323,7 @@ static int32_t SetMatchRenderDefaultDevicePath(struct AudioHwRenderParam *render } static int32_t SetMatchRenderOtherDevicePath( - int32_t tpins, struct AudioHwRenderParam *renderParam, cJSON *cJsonObj, int32_t value) + uint32_t tpins, struct AudioHwRenderParam *renderParam, cJSON *cJsonObj, int32_t value) { int32_t ret; if (cJsonObj == NULL || renderParam == NULL) { @@ -342,16 +342,14 @@ static int32_t SetMatchRenderOtherDevicePath( return HDF_SUCCESS; } -static int32_t AudioRenderParseDevice(struct AudioHwRenderParam *renderParam, cJSON *cJsonObj) +static int32_t ParseRenderDevice(const cJSON *cJsonObj, const struct AudioHwRenderParam *renderParam) { - int32_t ret; if (cJsonObj == NULL || renderParam == NULL) { AUDIO_FUNC_LOGE("param Is NULL"); return HDF_ERR_INVALID_PARAM; } - uint32_t pins = renderParam->renderMode.hwInfo.deviceDescript.pins; - int32_t tpins = pins & OUTPUT_MASK; + uint32_t pins = renderParam->renderMode.hwInfo.deviceDescript.pins; if ((pins >> OUTPUT_OFFSET) != 0) { AUDIO_FUNC_LOGE("pins: %d, error!\n", pins); return HDF_FAILURE; @@ -362,6 +360,17 @@ static int32_t AudioRenderParseDevice(struct AudioHwRenderParam *renderParam, cJ return HDF_SUCCESS; } + return HDF_SUCCESS; +} + +static int32_t AudioRenderParseDevice(struct AudioHwRenderParam *renderParam, cJSON *cJsonObj) +{ + int32_t ret = ParseRenderDevice(cJsonObj, renderParam); + if (ret != HDF_SUCCESS) { + return ret; + } + uint32_t pins = renderParam->renderMode.hwInfo.deviceDescript.pins; + uint32_t tpins = pins & OUTPUT_MASK; switch (tpins) { case PIN_NONE: /* pins = 0, parse default value */ @@ -373,7 +382,10 @@ static int32_t AudioRenderParseDevice(struct AudioHwRenderParam *renderParam, cJ ret = SetMatchRenderDevicePath(tpins, renderParam, cJsonObj, SPEAKER, AUDIO_DEV_ON); #ifndef ALSA_LIB_MODE /* 2.close headphones */ - ret |= SetMatchRenderDevicePath(PIN_OUT_HEADSET, renderParam, cJsonObj, HEADPHONES, AUDIO_DEV_OFF); + if (SetMatchRenderDevicePath(PIN_OUT_HEADSET, renderParam, cJsonObj, HEADPHONES, AUDIO_DEV_OFF) == + HDF_SUCCESS) { + ret = HDF_SUCCESS; + } #endif break; case PIN_OUT_HEADSET: @@ -381,7 +393,10 @@ static int32_t AudioRenderParseDevice(struct AudioHwRenderParam *renderParam, cJ ret = SetMatchRenderDevicePath(tpins, renderParam, cJsonObj, HEADPHONES, AUDIO_DEV_ON); #ifndef ALSA_LIB_MODE /* 2、close speaker */ - ret |= SetMatchRenderDevicePath(PIN_OUT_SPEAKER, renderParam, cJsonObj, SPEAKER, AUDIO_DEV_OFF); + if (SetMatchRenderDevicePath(PIN_OUT_SPEAKER, renderParam, cJsonObj, SPEAKER, AUDIO_DEV_OFF) == + HDF_SUCCESS) { + ret = HDF_SUCCESS; + } #endif break; case PIN_OUT_EARPIECE: @@ -460,7 +475,7 @@ static int32_t AudioPathSelGetPlanRender(struct AudioHwRenderParam *renderParam) } static int32_t SetCapturePathValue( - int32_t tpins, cJSON *captureSwitchObj, struct AudioHwCaptureParam *captureParam, int32_t value) + uint32_t tpins, cJSON *captureSwitchObj, struct AudioHwCaptureParam *captureParam, int32_t value) { if (captureParam == NULL || captureSwitchObj == NULL) { AUDIO_FUNC_LOGE("param Is NULL"); @@ -517,7 +532,7 @@ static int32_t SetCapturePathValue( } static int32_t SetMatchCaptureDevicePath( - struct AudioHwCaptureParam *captureParam, cJSON *cJsonObj, int32_t tpins, char *deviceType, int32_t value) + struct AudioHwCaptureParam *captureParam, cJSON *cJsonObj, uint32_t tpins, char *deviceType, int32_t value) { if (captureParam == NULL || cJsonObj == NULL) { AUDIO_FUNC_LOGE("param Is NULL"); @@ -561,7 +576,7 @@ static int32_t SetMatchCaptureDefaultDevicePath(struct AudioHwCaptureParam *capt } static int32_t SetMatchCaptureOtherDevicePath( - struct AudioHwCaptureParam *captureParam, cJSON *cJsonObj, int32_t tpins, int32_t value) + struct AudioHwCaptureParam *captureParam, cJSON *cJsonObj, uint32_t tpins, int32_t value) { int32_t ret; uint32_t i; @@ -600,7 +615,7 @@ static int32_t AudioCaptureParseDevice(struct AudioHwCaptureParam *captureParam, return HDF_SUCCESS; } - int32_t tpins = pins & INPUT_MASK; + uint32_t tpins = pins & INPUT_MASK; switch (tpins) { case (1 << INPUT_OFFSET): /* pins = 0, parse default value */ @@ -611,7 +626,10 @@ static int32_t AudioCaptureParseDevice(struct AudioHwCaptureParam *captureParam, ret = SetMatchCaptureDevicePath(captureParam, cJsonObj, tpins, MIC, AUDIO_DEV_ON); #ifndef ALSA_LIB_MODE /* 2.close headset mic */ - ret |= SetMatchCaptureDevicePath(captureParam, cJsonObj, PIN_IN_HS_MIC, HS_MIC, AUDIO_DEV_OFF); + if (SetMatchCaptureDevicePath(captureParam, cJsonObj, PIN_IN_HS_MIC, HS_MIC, AUDIO_DEV_OFF) == + HDF_SUCCESS) { + ret = HDF_SUCCESS; + } #endif break; case PIN_IN_HS_MIC: @@ -619,7 +637,10 @@ static int32_t AudioCaptureParseDevice(struct AudioHwCaptureParam *captureParam, ret = SetMatchCaptureDevicePath(captureParam, cJsonObj, tpins, HS_MIC, AUDIO_DEV_ON); #ifndef ALSA_LIB_MODE /* 2、close main mic */ - ret |= SetMatchCaptureDevicePath(captureParam, cJsonObj, PIN_IN_MIC, MIC, AUDIO_DEV_OFF); + if (SetMatchCaptureDevicePath(captureParam, cJsonObj, PIN_IN_MIC, MIC, AUDIO_DEV_OFF) == + HDF_SUCCESS) { + ret = HDF_SUCCESS; + } #endif break; case PIN_IN_BLUETOOTH_SCO_HEADSET: diff --git a/audio/hdi_service/primary_impl/src/audio_capture.c b/audio/hdi_service/primary_impl/src/audio_capture.c index 007c89bff608d03752b32dee05250b08899641dc..1227c4ff93e76f7a593f3a0dd9a99c5fdf4e5b16 100644 --- a/audio/hdi_service/primary_impl/src/audio_capture.c +++ b/audio/hdi_service/primary_impl/src/audio_capture.c @@ -722,7 +722,7 @@ static void LogErrorCapture(AudioHandle handle, int errorCode, int reason) } if (errorCode == WRITE_FRAME_ERROR_CODE) { hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].errorCode = errorCode; - hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].count = hwCapture->errorLog.iter; + hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].count = (uint32_t)hwCapture->errorLog.iter; hwCapture->errorLog.errorDump[hwCapture->errorLog.iter].frames = hwCapture->captureParam.frameCaptureMode.frames; hwCapture->errorLog.iter++; diff --git a/audio/hdi_service/primary_impl/src/audio_manager.c b/audio/hdi_service/primary_impl/src/audio_manager.c index ef92774a5990919295fb29a2655c65b9b73d5db4..8a8d0779bdda5c858583a5900633e68cd8d98d96 100644 --- a/audio/hdi_service/primary_impl/src/audio_manager.c +++ b/audio/hdi_service/primary_impl/src/audio_manager.c @@ -535,8 +535,8 @@ int32_t AudioManagerLoadAdapter( return AudioManagerIncreaseAdapterRef(manager, pos, adapter); } - pos = AudioManagerServiceGetFreeAdapterPos(manager, desc->adapterName); - if (pos >= SUPPORT_ADAPTER_NUM_MAX) { + int32_t freePos = AudioManagerServiceGetFreeAdapterPos(manager, desc->adapterName); + if (freePos < 0 || freePos >= SUPPORT_ADAPTER_NUM_MAX) { AUDIO_FUNC_LOGE("AudioManagerServiceGetFreeAdapterPos failed!"); return HDF_FAILURE; } @@ -548,11 +548,11 @@ int32_t AudioManagerLoadAdapter( return ret; } - ret = AudioManagerServiceAddAdapter(manager, *adapter, pos); + ret = AudioManagerServiceAddAdapter(manager, *adapter, freePos); if (ret != AUDIO_SUCCESS) { AUDIO_FUNC_LOGE("Add adapter to list failed."); - AudioManagerEnforceClearRef(manager, pos); - AudioManagerServiceRemvAdapter(manager, pos); + AudioManagerEnforceClearRef(manager, (uint32_t)freePos); + AudioManagerServiceRemvAdapter(manager, (uint32_t)freePos); return ret; } diff --git a/audio/hdi_service/primary_impl/src/audio_render.c b/audio/hdi_service/primary_impl/src/audio_render.c index af00ed2ddf410db1fbd5ed11565fd8fda9869875..1f1257a6b880ffe2453e8c8f6d3b7d8e5993960f 100644 --- a/audio/hdi_service/primary_impl/src/audio_render.c +++ b/audio/hdi_service/primary_impl/src/audio_render.c @@ -798,7 +798,7 @@ static void LogError(AudioHandle handle, int32_t errorCode, int reason) if (errorCode == WRITE_FRAME_ERROR_CODE) { hwRender->errorLog.errorDump[hwRender->errorLog.iter].errorCode = errorCode; - hwRender->errorLog.errorDump[hwRender->errorLog.iter].count = hwRender->errorLog.iter; + hwRender->errorLog.errorDump[hwRender->errorLog.iter].count = (uint32_t)hwRender->errorLog.iter; hwRender->errorLog.errorDump[hwRender->errorLog.iter].frames = hwRender->renderParam.frameRenderMode.frames; hwRender->errorLog.iter++; } diff --git a/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c b/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c index c71034f205e197ccd45214939e6bd1b72d422268..86179815f4eea8b328e1a2a0f180c1d2dc3f4a8a 100644 --- a/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c +++ b/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c @@ -360,7 +360,6 @@ static int32_t AudioReadCardPortToDesc(struct HdfSBuf *reply, struct AudioAdapte desc->ports[i].portName = strdup("AOIP"); } else { AudioMemFree((void **)&desc->ports); - AUDIO_FUNC_LOGE("desc->ports[i].dir = %{public}d", desc->ports[i].dir); return HDF_FAILURE; } desc->ports[i].portId = portId;