Home | History | Annotate | Download | only in android
      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
      3 // found in the LICENSE file.
      4 
      5 #include "content/renderer/media/android/proxy_media_keys.h"
      6 
      7 #include <vector>
      8 
      9 #include "base/basictypes.h"
     10 #include "base/logging.h"
     11 #include "content/renderer/media/android/webmediaplayer_proxy_android.h"
     12 #include "content/renderer/media/crypto/key_systems.h"
     13 
     14 namespace content {
     15 
     16 ProxyMediaKeys::ProxyMediaKeys(WebMediaPlayerProxyAndroid* proxy,
     17                                int media_keys_id)
     18     : proxy_(proxy), media_keys_id_(media_keys_id) {
     19   DCHECK(proxy_);
     20 }
     21 
     22 void ProxyMediaKeys::InitializeCDM(const std::string& key_system) {
     23   std::vector<uint8> uuid = GetUUID(key_system);
     24   DCHECK(!uuid.empty());
     25   proxy_->InitializeCDM(media_keys_id_, uuid);
     26 }
     27 
     28 bool ProxyMediaKeys::GenerateKeyRequest(const std::string& type,
     29                                         const uint8* init_data,
     30                                         int init_data_length) {
     31   proxy_->GenerateKeyRequest(
     32       media_keys_id_,
     33       type,
     34       std::vector<uint8>(init_data, init_data + init_data_length));
     35   return true;
     36 }
     37 
     38 void ProxyMediaKeys::AddKey(const uint8* key, int key_length,
     39                             const uint8* init_data, int init_data_length,
     40                             const std::string& session_id) {
     41   proxy_->AddKey(media_keys_id_,
     42                  std::vector<uint8>(key, key + key_length),
     43                  std::vector<uint8>(init_data, init_data + init_data_length),
     44                  session_id);
     45 }
     46 
     47 void ProxyMediaKeys::CancelKeyRequest(const std::string& session_id) {
     48   proxy_->CancelKeyRequest(media_keys_id_, session_id);
     49 }
     50 
     51 }  // namespace content
     52