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
14namespace 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.
19scoped_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