1 // Copyright 2014 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. 4 5 #ifndef MEDIA_BASE_BROWSER_CDM_FACTORY_H_ 6 #define MEDIA_BASE_BROWSER_CDM_FACTORY_H_ 7 8 #include <string> 9 10 #include "base/memory/scoped_ptr.h" 11 #include "media/base/browser_cdm.h" 12 #include "media/base/media_export.h" 13 14 namespace media { 15 16 // Creates a BrowserCdm for |key_system|. Returns NULL if the CDM cannot be 17 // created. 18 // TODO(xhwang): Add ifdef for IPC based CDM. 19 scoped_ptr<BrowserCdm> MEDIA_EXPORT 20 CreateBrowserCdm(const std::string& key_system, 21 const BrowserCdm::SessionCreatedCB& session_created_cb, 22 const BrowserCdm::SessionMessageCB& session_message_cb, 23 const BrowserCdm::SessionReadyCB& session_ready_cb, 24 const BrowserCdm::SessionClosedCB& session_closed_cb, 25 const BrowserCdm::SessionErrorCB& session_error_cb); 26 27 } // namespace media 28 29 #endif // MEDIA_BASE_BROWSER_CDM_FACTORY_H_ 30