OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/media/android/proxy_media_keys.h" | 5 #include "content/renderer/media/android/proxy_media_keys.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "content/renderer/media/android/renderer_media_player_manager.h" | 11 #include "content/renderer/media/android/renderer_media_player_manager.h" |
12 #include "content/renderer/media/crypto/key_systems.h" | 12 #include "content/renderer/media/crypto/key_systems.h" |
13 | 13 |
14 namespace content { | 14 namespace content { |
15 | 15 |
16 ProxyMediaKeys::ProxyMediaKeys( | 16 ProxyMediaKeys::ProxyMediaKeys( |
17 RendererMediaPlayerManager* manager, | 17 RendererMediaPlayerManager* manager, |
18 int cdm_id, | 18 int cdm_id, |
19 const media::SessionCreatedCB& session_created_cb, | 19 const media::SessionCreatedCB& session_created_cb, |
20 const media::SessionMessageCB& session_message_cb, | 20 const media::SessionMessageCB& session_message_cb, |
21 const media::SessionReadyCB& session_ready_cb, | 21 const media::SessionReadyCB& session_ready_cb, |
22 const media::SessionClosedCB& session_closed_cb, | 22 const media::SessionClosedCB& session_closed_cb, |
23 const media::SessionErrorCB& session_error_cb) | 23 const media::SessionErrorCB& session_error_cb) |
24 : manager_(manager), | 24 : manager_(manager), |
25 cdm_id_(cdm_id), | 25 cdm_id_(cdm_id), |
ddorwin
2014/03/11 18:05:14
Let's make this class responsible for initializing
xhwang
2014/03/12 01:07:52
Done.
| |
26 session_created_cb_(session_created_cb), | 26 session_created_cb_(session_created_cb), |
27 session_message_cb_(session_message_cb), | 27 session_message_cb_(session_message_cb), |
28 session_ready_cb_(session_ready_cb), | 28 session_ready_cb_(session_ready_cb), |
29 session_closed_cb_(session_closed_cb), | 29 session_closed_cb_(session_closed_cb), |
30 session_error_cb_(session_error_cb) { | 30 session_error_cb_(session_error_cb) { |
31 DCHECK(manager_); | 31 DCHECK(manager_); |
32 DCHECK_NE(cdm_id, media::MediaKeys::kInvalidCdmId); | |
32 } | 33 } |
33 | 34 |
34 ProxyMediaKeys::~ProxyMediaKeys() { | 35 ProxyMediaKeys::~ProxyMediaKeys() { |
35 manager_->DestroyCdm(cdm_id_); | 36 manager_->DestroyCdm(cdm_id_); |
36 } | 37 } |
37 | 38 |
38 void ProxyMediaKeys::InitializeCdm(const std::string& key_system, | 39 void ProxyMediaKeys::InitializeCdm(const std::string& key_system, |
39 const GURL& frame_url) { | 40 const GURL& frame_url) { |
40 manager_->InitializeCdm(cdm_id_, this, key_system, frame_url); | 41 manager_->InitializeCdm(cdm_id_, this, key_system, frame_url); |
41 } | 42 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
79 manager_->UpdateSession( | 80 manager_->UpdateSession( |
80 cdm_id_, | 81 cdm_id_, |
81 session_id, | 82 session_id, |
82 std::vector<uint8>(response, response + response_length)); | 83 std::vector<uint8>(response, response + response_length)); |
83 } | 84 } |
84 | 85 |
85 void ProxyMediaKeys::ReleaseSession(uint32 session_id) { | 86 void ProxyMediaKeys::ReleaseSession(uint32 session_id) { |
86 manager_->ReleaseSession(cdm_id_, session_id); | 87 manager_->ReleaseSession(cdm_id_, session_id); |
87 } | 88 } |
88 | 89 |
90 int ProxyMediaKeys::GetCdmId() { | |
91 return cdm_id_; | |
92 } | |
93 | |
89 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, | 94 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, |
90 const std::string& web_session_id) { | 95 const std::string& web_session_id) { |
91 session_created_cb_.Run(session_id, web_session_id); | 96 session_created_cb_.Run(session_id, web_session_id); |
92 } | 97 } |
93 | 98 |
94 void ProxyMediaKeys::OnSessionMessage(uint32 session_id, | 99 void ProxyMediaKeys::OnSessionMessage(uint32 session_id, |
95 const std::vector<uint8>& message, | 100 const std::vector<uint8>& message, |
96 const std::string& destination_url) { | 101 const std::string& destination_url) { |
97 session_message_cb_.Run(session_id, message, destination_url); | 102 session_message_cb_.Run(session_id, message, destination_url); |
98 } | 103 } |
99 | 104 |
100 void ProxyMediaKeys::OnSessionReady(uint32 session_id) { | 105 void ProxyMediaKeys::OnSessionReady(uint32 session_id) { |
101 session_ready_cb_.Run(session_id); | 106 session_ready_cb_.Run(session_id); |
102 } | 107 } |
103 | 108 |
104 void ProxyMediaKeys::OnSessionClosed(uint32 session_id) { | 109 void ProxyMediaKeys::OnSessionClosed(uint32 session_id) { |
105 session_closed_cb_.Run(session_id); | 110 session_closed_cb_.Run(session_id); |
106 } | 111 } |
107 | 112 |
108 void ProxyMediaKeys::OnSessionError(uint32 session_id, | 113 void ProxyMediaKeys::OnSessionError(uint32 session_id, |
109 media::MediaKeys::KeyError error_code, | 114 media::MediaKeys::KeyError error_code, |
110 uint32 system_code) { | 115 uint32 system_code) { |
111 session_error_cb_.Run(session_id, error_code, system_code); | 116 session_error_cb_.Run(session_id, error_code, system_code); |
112 } | 117 } |
113 | 118 |
114 } // namespace content | 119 } // namespace content |
OLD | NEW |