Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Side by Side Diff: webkit/media/webmediaplayer_proxy.cc

Issue 11226019: Encrypted Media: Replace DecryptorClient with key event callbacks. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase again Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "webkit/media/webmediaplayer_proxy.h" 5 #include "webkit/media/webmediaplayer_proxy.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop_proxy.h" 9 #include "base/message_loop_proxy.h"
10 #include "media/base/pipeline_status.h" 10 #include "media/base/pipeline_status.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 if (frame_provider_) 100 if (frame_provider_)
101 frame_provider_->GetCurrentFrame(frame_out); 101 frame_provider_->GetCurrentFrame(frame_out);
102 } 102 }
103 103
104 void WebMediaPlayerProxy::PutCurrentFrame( 104 void WebMediaPlayerProxy::PutCurrentFrame(
105 scoped_refptr<media::VideoFrame> frame) { 105 scoped_refptr<media::VideoFrame> frame) {
106 if (frame_provider_) 106 if (frame_provider_)
107 frame_provider_->PutCurrentFrame(frame); 107 frame_provider_->PutCurrentFrame(frame);
108 } 108 }
109 109
110
111 void WebMediaPlayerProxy::KeyAdded(const std::string& key_system,
112 const std::string& session_id) {
113 render_loop_->PostTask(FROM_HERE, base::Bind(
114 &WebMediaPlayerProxy::KeyAddedTask, this, key_system, session_id));
115 }
116
117 void WebMediaPlayerProxy::KeyError(const std::string& key_system,
118 const std::string& session_id,
119 media::Decryptor::KeyError error_code,
120 int system_code) {
121 render_loop_->PostTask(FROM_HERE, base::Bind(
122 &WebMediaPlayerProxy::KeyErrorTask, this, key_system, session_id,
123 error_code, system_code));
124 }
125
126 void WebMediaPlayerProxy::KeyMessage(const std::string& key_system,
127 const std::string& session_id,
128 const std::string& message,
129 const std::string& default_url) {
130 render_loop_->PostTask(FROM_HERE, base::Bind(
131 &WebMediaPlayerProxy::KeyMessageTask, this, key_system, session_id,
132 message, default_url));
133 }
134
135 void WebMediaPlayerProxy::NeedKey(const std::string& key_system,
136 const std::string& session_id,
137 const std::string& type,
138 scoped_array<uint8> init_data,
139 int init_data_size) {
140 render_loop_->PostTask(FROM_HERE, base::Bind(
141 &WebMediaPlayerProxy::NeedKeyTask, this, key_system, session_id, type,
142 base::Passed(&init_data), init_data_size));
143 }
144
145 void WebMediaPlayerProxy::KeyAddedTask(const std::string& key_system,
146 const std::string& session_id) {
147 DCHECK(render_loop_->BelongsToCurrentThread());
148 if (webmediaplayer_)
149 webmediaplayer_->OnKeyAdded(key_system, session_id);
150 }
151
152 void WebMediaPlayerProxy::KeyErrorTask(const std::string& key_system,
153 const std::string& session_id,
154 media::Decryptor::KeyError error_code,
155 int system_code) {
156 DCHECK(render_loop_->BelongsToCurrentThread());
157 if (webmediaplayer_)
158 webmediaplayer_->OnKeyError(key_system, session_id,
159 error_code, system_code);
160 }
161
162 void WebMediaPlayerProxy::KeyMessageTask(const std::string& key_system,
163 const std::string& session_id,
164 const std::string& message,
165 const std::string& default_url) {
166 DCHECK(render_loop_->BelongsToCurrentThread());
167 if (webmediaplayer_) {
168 const GURL default_url_gurl(default_url);
169 DLOG_IF(WARNING, !default_url.empty() && !default_url_gurl.is_valid())
170 << "Invalid URL in default_url: " << default_url;
171 webmediaplayer_->OnKeyMessage(key_system, session_id, message,
172 default_url_gurl);
173 }
174 }
175
176 void WebMediaPlayerProxy::NeedKeyTask(const std::string& key_system,
177 const std::string& session_id,
178 const std::string& type,
179 scoped_array<uint8> init_data,
180 int init_data_size) {
181 DCHECK(render_loop_->BelongsToCurrentThread());
182 if (webmediaplayer_)
183 webmediaplayer_->OnNeedKey(key_system, session_id, type,
184 init_data.Pass(), init_data_size);
185 }
186
187 } // namespace webkit_media 110 } // namespace webkit_media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698