diff --git a/ohos_adapter/media_adapter/include/media_codec_decoder_adapter_impl.h b/ohos_adapter/media_adapter/include/media_codec_decoder_adapter_impl.h index 8f4650c10207346321bfd64d564c84f9c13bb965..5dd28bdc8a8c9dafd1701f783b0d8d345995edab 100644 --- a/ohos_adapter/media_adapter/include/media_codec_decoder_adapter_impl.h +++ b/ohos_adapter/media_adapter/include/media_codec_decoder_adapter_impl.h @@ -91,7 +91,7 @@ private: OH_AVCodec* decoder_ = nullptr; std::shared_ptr callback_ = nullptr; std::map bufferMap_; - std::mutex bufferMutex_; + std::mutex bufferMutex_; // To manage the input buffer. bool isHardwareDecode_ = true; bool isSecure_ = false; OH_AVCapability *avCap_ = nullptr; diff --git a/ohos_adapter/media_adapter/src/media_codec_decoder_adapter_impl.cpp b/ohos_adapter/media_adapter/src/media_codec_decoder_adapter_impl.cpp index a49f1877d3aa826a058eddb24d7b283e2796dc5b..4257152aa78ae8d2d1a7f18d9218067b72fb0008 100644 --- a/ohos_adapter/media_adapter/src/media_codec_decoder_adapter_impl.cpp +++ b/ohos_adapter/media_adapter/src/media_codec_decoder_adapter_impl.cpp @@ -400,8 +400,7 @@ DecoderAdapterCode MediaCodecDecoderAdapterImpl::ReleaseOutputBufferDec(uint32_t WVLOG_E("MediaCodecDecoder release buffer[%{public}u] fail.", index); return DecoderAdapterCode::DECODER_ERROR; } - std::unique_lock lock(bufferMutex_); - bufferMap_.erase(index); + return DecoderAdapterCode::DECODER_OK; }