11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "media/blink/null_encrypted_media_player_support.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "third_party/WebKit/public/platform/WebContentDecryptionModule.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace media { 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciscoped_ptr<EncryptedMediaPlayerSupport> 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::Create(blink::WebMediaPlayerClient* client) { 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return scoped_ptr<EncryptedMediaPlayerSupport>( 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci new NullEncryptedMediaPlayerSupport()); 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::NullEncryptedMediaPlayerSupport() { 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::~NullEncryptedMediaPlayerSupport() { 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciblink::WebMediaPlayer::MediaKeyException 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::GenerateKeyRequest( 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebLocalFrame* frame, 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const blink::WebString& key_system, 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const unsigned char* init_data, 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci unsigned init_data_length) { 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return blink::WebMediaPlayer::MediaKeyExceptionKeySystemNotSupported; 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciblink::WebMediaPlayer::MediaKeyException 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::AddKey( 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const blink::WebString& key_system, 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const unsigned char* key, 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci unsigned key_length, 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const unsigned char* init_data, 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci unsigned init_data_length, 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const blink::WebString& session_id) { 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return blink::WebMediaPlayer::MediaKeyExceptionKeySystemNotSupported; 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciblink::WebMediaPlayer::MediaKeyException 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::CancelKeyRequest( 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const blink::WebString& key_system, 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const blink::WebString& session_id) { 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return blink::WebMediaPlayer::MediaKeyExceptionKeySystemNotSupported; 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid NullEncryptedMediaPlayerSupport::SetInitialContentDecryptionModule( 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebContentDecryptionModule* initial_cdm) { 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid NullEncryptedMediaPlayerSupport::SetContentDecryptionModule( 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebContentDecryptionModule* cdm) { 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid NullEncryptedMediaPlayerSupport::SetContentDecryptionModule( 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebContentDecryptionModule* cdm, 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebContentDecryptionModuleResult result) { 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci result.completeWithError( 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci blink::WebContentDecryptionModuleExceptionNotSupportedError, 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 0, 651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci "Null MediaKeys object is not supported."); 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciDemuxer::NeedKeyCB NullEncryptedMediaPlayerSupport::CreateNeedKeyCB() { 691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return Demuxer::NeedKeyCB(); 701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciSetDecryptorReadyCB 731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciNullEncryptedMediaPlayerSupport::CreateSetDecryptorReadyCB() { 741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return SetDecryptorReadyCB(); 751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid NullEncryptedMediaPlayerSupport::OnPipelineDecryptError() { 781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace media 81