Index: media/mojo/services/mojo_cdm.cc |
diff --git a/media/mojo/services/mojo_cdm.cc b/media/mojo/services/mojo_cdm.cc |
index 7822700e99bf89d767af1f84e75baa236608a150..ec993f689251f6c90efec9e07d08c8ae89e46fc9 100644 |
--- a/media/mojo/services/mojo_cdm.cc |
+++ b/media/mojo/services/mojo_cdm.cc |
@@ -6,7 +6,9 @@ |
#include "base/bind.h" |
#include "base/bind_helpers.h" |
+#include "media/base/cdm_key_information.h" |
#include "media/base/cdm_promise.h" |
+#include "media/mojo/services/media_type_converters.h" |
#include "mojo/public/cpp/application/connect.h" |
#include "mojo/public/cpp/bindings/interface_impl.h" |
#include "mojo/public/interfaces/application/service_provider.mojom.h" |
@@ -141,9 +143,15 @@ void MojoCdm::OnSessionError(const mojo::String& session_id, |
system_code, error_message); |
} |
-void MojoCdm::OnSessionKeysChange(const mojo::String& session_id, |
- bool has_additional_usable_key) { |
- session_keys_change_cb_.Run(session_id, has_additional_usable_key); |
+void MojoCdm::OnSessionKeysChange( |
+ const mojo::String& session_id, |
+ bool has_additional_usable_key, |
+ mojo::Array<mojo::CdmKeyInformationPtr> key_information) { |
+ media::CdmKeyInformationVector key_data; |
+ key_data.reserve(key_information.size()); |
+ for (size_t i = 0; i < key_information.size(); ++i) |
+ key_data.push_back(key_information[i].To<media::CdmKeyInformation>()); |
+ session_keys_change_cb_.Run(session_id, has_additional_usable_key, key_data); |
} |
void MojoCdm::OnSessionExpirationUpdate(const mojo::String& session_id, |