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