| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "media/remoting/remoting_cdm_context.h" |
| |
| #include "media/remoting/remoting_cdm.h" |
| #include "media/remoting/shared_session.h" |
| |
| namespace media { |
| namespace remoting { |
| |
| namespace { |
| // Used as an identifier for RemotingCdmContext::From(). |
| void* const kClassIdentifier = const_cast<void**>(&kClassIdentifier); |
| } // namespace |
| |
| // TODO(xjz): Merge this with erickung's implementation. |
| RemotingCdmContext::RemotingCdmContext(RemotingCdm* remoting_cdm) |
| : remoting_cdm_(remoting_cdm) {} |
| |
| RemotingCdmContext::~RemotingCdmContext() {} |
| |
| RemotingCdmContext* RemotingCdmContext::From(CdmContext* cdm_context) { |
| if (cdm_context && cdm_context->GetClassIdentifier() == kClassIdentifier) |
| return static_cast<RemotingCdmContext*>(cdm_context); |
| return nullptr; |
| } |
| |
| Decryptor* RemotingCdmContext::GetDecryptor() { |
| // TODO(xjz): Merge with erickung's implementation. |
| return nullptr; |
| } |
| |
| int RemotingCdmContext::GetCdmId() const { |
| // TODO(xjz): Merge with erickung's implementation. |
| return CdmContext::kInvalidCdmId; |
| } |
| |
| void* RemotingCdmContext::GetClassIdentifier() const { |
| return kClassIdentifier; |
| } |
| |
| SharedSession* RemotingCdmContext::GetSharedSession() const { |
| return remoting_cdm_->session(); |
| } |
| |
| } // namespace remoting |
| } // namespace media |