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.
5 #ifndef MEDIA_BASE_CDM_FACTORY_H_
6 #define MEDIA_BASE_CDM_FACTORY_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "media/base/media_export.h"
12 #include "media/base/media_keys.h"
18 class MEDIA_EXPORT CdmFactory {
21 virtual ~CdmFactory();
23 virtual scoped_ptr<MediaKeys> Create(
24 const std::string& key_system,
25 const GURL& security_origin,
26 const SessionMessageCB& session_message_cb,
27 const SessionReadyCB& session_ready_cb,
28 const SessionClosedCB& session_closed_cb,
29 const SessionErrorCB& session_error_cb,
30 const SessionKeysChangeCB& session_keys_change_cb,
31 const SessionExpirationUpdateCB& session_expiration_update_cb) = 0;
34 DISALLOW_COPY_AND_ASSIGN(CdmFactory);
39 #endif // MEDIA_BASE_CDM_FACTORY_H_