diff options
-rw-r--r-- | chromium/media/mojo/services/mojo_cdm_service.cc | 5 | ||||
-rw-r--r-- | chromium/media/mojo/services/mojo_cdm_service.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/chromium/media/mojo/services/mojo_cdm_service.cc b/chromium/media/mojo/services/mojo_cdm_service.cc index 1ccfd2f05a7..a3f8332768b 100644 --- a/chromium/media/mojo/services/mojo_cdm_service.cc +++ b/chromium/media/mojo/services/mojo_cdm_service.cc @@ -63,7 +63,9 @@ void MojoCdmService::Initialize(const std::string& key_system, const CdmConfig& cdm_config, InitializeCallback callback) { DVLOG(1) << __func__ << ": " << key_system; - DCHECK(!cdm_); + + CHECK(!has_initialize_been_called_) << "Initialize should only happen once"; + has_initialize_been_called_ = true; auto weak_this = weak_factory_.GetWeakPtr(); cdm_factory_->Create( @@ -157,6 +159,7 @@ void MojoCdmService::OnCdmCreated( return; } + CHECK(!cdm_) << "CDM should only be created once."; cdm_ = cdm; if (context_) { diff --git a/chromium/media/mojo/services/mojo_cdm_service.h b/chromium/media/mojo/services/mojo_cdm_service.h index fd265467859..1e575474f5b 100644 --- a/chromium/media/mojo/services/mojo_cdm_service.h +++ b/chromium/media/mojo/services/mojo_cdm_service.h @@ -101,6 +101,8 @@ class MEDIA_MOJO_EXPORT MojoCdmService : public mojom::ContentDecryptionModule { // Callback for when |decryptor_| loses connectivity. void OnDecryptorConnectionError(); + bool has_initialize_been_called_ = false; + CdmFactory* cdm_factory_; MojoCdmServiceContext* const context_ = nullptr; scoped_refptr<::media::ContentDecryptionModule> cdm_; |