From 54409189b7aba1d882bf9aa57c4b8c97f06266b5 Mon Sep 17 00:00:00 2001 From: liyuhang Date: Sat, 12 Oct 2024 03:13:00 +0000 Subject: [PATCH] Use object ref map Signed-off-by: liyuhang Change-Id: If5338d888debe74bc6ddb38347c3f1eb27983b42 --- .../callback/napi_audio_renderer_write_data_callback.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frameworks/js/napi/audiorenderer/callback/napi_audio_renderer_write_data_callback.cpp b/frameworks/js/napi/audiorenderer/callback/napi_audio_renderer_write_data_callback.cpp index 67f472165c..c6640473d3 100644 --- a/frameworks/js/napi/audiorenderer/callback/napi_audio_renderer_write_data_callback.cpp +++ b/frameworks/js/napi/audiorenderer/callback/napi_audio_renderer_write_data_callback.cpp @@ -130,6 +130,8 @@ void NapiRendererWriteDataCallback::OnJsRendererWriteDataCallback(std::unique_pt AUDIO_ERR_LOG("OnJsRendererDaOnJsRendererWriteDataCallbacktaRequestCallback: jsCb.get() is null"); return; } + auto obj = static_cast(napiRenderer_); + ObjectRefMap::IncreaseRef(obj); RendererWriteDataJsCallback *event = jsCb.get(); auto task = [event]() { std::shared_ptr context( @@ -142,6 +144,8 @@ void NapiRendererWriteDataCallback::OnJsRendererWriteDataCallback(std::unique_pt CHECK_AND_RETURN_LOG(event != nullptr, "renderer write data event is nullptr"); CHECK_AND_RETURN_LOG(event->rendererNapiObj != nullptr, "NapiAudioRenderer object is nullptr"); event->rendererNapiObj->writeCallbackCv_.notify_all(); + auto napiObj = static_cast(event->rendererNapiObj); + ObjectRefMap::DecreaseRef(napiObj); }; if (napi_status::napi_ok != napi_send_event(env_, task, napi_eprio_immediate)) { AUDIO_ERR_LOG("OnJsRendererWriteDataCallback: Failed to SendEvent"); -- Gitee