From df27979eddf0d79df3ea414e22352b437d13847f Mon Sep 17 00:00:00 2001 From: pxd2022 Date: Sat, 6 Sep 2025 07:42:23 +0000 Subject: [PATCH 1/3] update audio/hdi_service/primary_impl/include/audio_internal.h. Signed-off-by: pxd2022 --- audio/hdi_service/primary_impl/include/audio_internal.h | 1 + 1 file changed, 1 insertion(+) diff --git a/audio/hdi_service/primary_impl/include/audio_internal.h b/audio/hdi_service/primary_impl/include/audio_internal.h index 80381902f8..025bef7f3b 100644 --- a/audio/hdi_service/primary_impl/include/audio_internal.h +++ b/audio/hdi_service/primary_impl/include/audio_internal.h @@ -264,6 +264,7 @@ struct AudioHwRender { struct DevHandle *devCtlHandle; // Bind Ctl handle struct HdfRemoteService *proxyRemoteHandle; // proxyPriRemoteHandle struct ErrorLog errorLog; + bool started; }; struct AudioHwCaptureMode { -- Gitee From 7edf7e3dc61da39c7ba60e6b05f854232b4c855f Mon Sep 17 00:00:00 2001 From: pxd2022 Date: Sat, 6 Sep 2025 07:45:36 +0000 Subject: [PATCH 2/3] update audio/hdi_service/primary_impl/src/audio_render.c. Signed-off-by: pxd2022 --- audio/hdi_service/primary_impl/src/audio_render.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/audio/hdi_service/primary_impl/src/audio_render.c b/audio/hdi_service/primary_impl/src/audio_render.c index 1f1257a6b8..06d3363a09 100644 --- a/audio/hdi_service/primary_impl/src/audio_render.c +++ b/audio/hdi_service/primary_impl/src/audio_render.c @@ -820,6 +820,10 @@ static int32_t AudioRenderRenderFramSplit(struct AudioHwRender *hwRender) AUDIO_FUNC_LOGE("hwRender->devDataHandle is null!"); return HDF_FAILURE; } + if (!hwRender->started) { + (void)(*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTRL_START); + hwRender->started = true; + } int32_t ret = (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTL_WRITE); -- Gitee From 0da9d90b82f7ba6c60371c70dd38e8cd91ff9564 Mon Sep 17 00:00:00 2001 From: pxd2022 Date: Sat, 6 Sep 2025 13:14:38 +0000 Subject: [PATCH 3/3] update audio/hdi_service/primary_impl/src/audio_render.c. Signed-off-by: pxd2022 --- audio/hdi_service/primary_impl/src/audio_render.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio/hdi_service/primary_impl/src/audio_render.c b/audio/hdi_service/primary_impl/src/audio_render.c index 06d3363a09..3ddd9d9b1c 100644 --- a/audio/hdi_service/primary_impl/src/audio_render.c +++ b/audio/hdi_service/primary_impl/src/audio_render.c @@ -104,7 +104,7 @@ int32_t AudioRenderStart(struct IAudioRender *handle) } int32_t ret = - (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTRL_START); + (*pInterfaceLibModeRender)(hwRender->devDataHandle, &hwRender->renderParam, AUDIO_DRV_PCM_IOCTRL_RESUME); if (ret < 0) { pthread_mutex_unlock(&hwRender->renderParam.frameRenderMode.mutex); AUDIO_FUNC_LOGE("AudioRenderStart SetParams FAIL"); -- Gitee