Roll src/third_party/WebKit a26a5b9:5fc303f (svn 199161:199164)
[chromium-blink-merge.git] / media / mojo / services / mojo_cdm_factory.cc
blob2f55d9841e432ea479a342870c0388e4affe3e18
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/mojo/services/mojo_cdm_factory.h"
7 #include "media/mojo/services/mojo_cdm.h"
8 #include "mojo/application/public/cpp/connect.h"
10 namespace media {
12 MojoCdmFactory::MojoCdmFactory(mojo::ServiceProvider* service_provider)
13 : service_provider_(service_provider) {
14 DCHECK(service_provider_);
17 MojoCdmFactory::~MojoCdmFactory() {
20 void MojoCdmFactory::Create(
21 const std::string& key_system,
22 const GURL& security_origin,
23 const CdmConfig& cdm_config,
24 const SessionMessageCB& session_message_cb,
25 const SessionClosedCB& session_closed_cb,
26 const LegacySessionErrorCB& legacy_session_error_cb,
27 const SessionKeysChangeCB& session_keys_change_cb,
28 const SessionExpirationUpdateCB& session_expiration_update_cb,
29 const CdmCreatedCB& cdm_created_cb) {
30 DVLOG(2) << __FUNCTION__ << ": " << key_system;
31 DCHECK(service_provider_);
33 interfaces::ContentDecryptionModulePtr cdm_ptr;
34 mojo::ConnectToService(service_provider_, &cdm_ptr);
36 MojoCdm::Create(key_system, security_origin, cdm_config, cdm_ptr.Pass(),
37 session_message_cb, session_closed_cb,
38 legacy_session_error_cb, session_keys_change_cb,
39 session_expiration_update_cb, cdm_created_cb);
42 } // namespace media