diff --git a/services/drm_service/server/src/drm_host_manager.cpp b/services/drm_service/server/src/drm_host_manager.cpp index e7efcab6..14ae1471 100644 --- a/services/drm_service/server/src/drm_host_manager.cpp +++ b/services/drm_service/server/src/drm_host_manager.cpp @@ -723,9 +723,17 @@ int32_t DrmHostManager::GetMediaKeySystemUuid(std::string &name, std::string &uu int32_t DrmHostManager::GetMediaKeySystems(std::map &mediaKeySystemDescription) { + DRM_INFO_LOG("GetMediaKeySystems enter."); mediaKeySystemDescription.clear(); + if (mediaKeySystemDescription_.empty()) { + int32_t ret = InitGetMediaKeySystems(); + if (ret != DRM_OK) { + DRM_ERR_LOG("GetMediaKeySystems return Code:%{public}d", ret); + return DRM_HOST_ERROR; + } + } mediaKeySystemDescription.insert(mediaKeySystemDescription_.begin(), mediaKeySystemDescription_.end()); - DRM_DEBUG_LOG("MetMediaKeySystems size:%{public}zu\n", mediaKeySystemDescription.size()); + DRM_DEBUG_LOG("GetMediaKeySystems size:%{public}zu\n", mediaKeySystemDescription.size()); return DRM_OK; }