diff --git a/services/audio_engine/node/src/hpae_sink_input_node.cpp b/services/audio_engine/node/src/hpae_sink_input_node.cpp index 786f52367f768e689bd2a30c36f23356b3ac7a13..671af99b67b81b2e8798f6a932ea96f2384f49df 100644 --- a/services/audio_engine/node/src/hpae_sink_input_node.cpp +++ b/services/audio_engine/node/src/hpae_sink_input_node.cpp @@ -91,7 +91,11 @@ int32_t HpaeSinkInputNode::GetDataFromSharedBuffer() .deviceNetId = GetDeviceNetId(), .needData = !(historyBuffer_ && historyBuffer_->GetCurFrames())}; GetCurrentPosition(streamInfo_.framePosition, streamInfo_.timestamp); - return writeCallback_.lock()->OnStreamData(streamInfo_); + if (writeCallback_.lock() != nullptr) { + return writeCallback_.lock()->OnStreamData(streamInfo_); + } + AUDIO_ERR_LOG("sessionId: %{public}d, writeCallback is nullptr", GetSessionId()); + return SUCCESS; } std::string HpaeSinkInputNode::GetTraceInfo()