diff --git a/libwvdrmengine/cdm/core/src/device_files.cpp b/libwvdrmengine/cdm/core/src/device_files.cpp index 6c6c154e..923de336 100644 --- a/libwvdrmengine/cdm/core/src/device_files.cpp +++ b/libwvdrmengine/cdm/core/src/device_files.cpp @@ -139,6 +139,10 @@ bool DeviceFiles::RetrieveCertificate(bool atsc_mode_enabled, uint32_t* system_id) { RETURN_FALSE_IF_UNINITIALIZED(); + if (!HasCertificate(atsc_mode_enabled)) { + return false; + } + video_widevine_client::sdk::File file; if (RetrieveHashedFile(GetCertificateFileName(atsc_mode_enabled), &file) != kNoError) { @@ -1109,7 +1113,7 @@ DeviceFiles::ResponseType DeviceFiles::RetrieveHashedFile( path += name; if (!file_system_->Exists(path)) { - LOGE("File does not exist: path = %s", path.c_str()); + LOGW("File does not exist: path = %s", path.c_str()); return kFileNotFound; } diff --git a/libwvdrmengine/cdm/core/test/device_files_unittest.cpp b/libwvdrmengine/cdm/core/test/device_files_unittest.cpp index 09d3f383..1c8d6ed2 100644 --- a/libwvdrmengine/cdm/core/test/device_files_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/device_files_unittest.cpp @@ -2160,7 +2160,8 @@ TEST_P(DeviceCertificateTest, ReadCertificate) { // Call to Open will return a unique_ptr, freeing this object. MockFile* file = new MockFile(); EXPECT_CALL(file_system, Exists(StrEq(device_certificate_path))) - .WillOnce(Return(true)); + .Times(2) + .WillRepeatedly(Return(true)); EXPECT_CALL(file_system, FileSize(StrEq(device_certificate_path))) .WillOnce(Return(data.size())); EXPECT_CALL(file_system, DoOpen(StrEq(device_certificate_path), _))