Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  PChromiumCDM.ipdl   Sprache: unbekannt

 
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include protocol PGMPContent;
include GMPTypes;

include "GMPMessageUtils.h";
include "ChromiumCDMParent.h";

using cdm::HdcpVersion from "GMPSanitizedExports.h";

namespace mozilla {
namespace gmp {

[ChildImpl=virtual, ParentImpl="ChromiumCDMParent"]
async protocol PChromiumCDM
{
  manager PGMPContent;
child:

  // cdm::ContentDecryptionModule_10
  async Init(bool aAllowDistinctiveIdentifier,
             bool aAllowPersistentState) returns (bool aSuccess);

  async GetStatusForPolicy(uint32_t aPromiseId,
                           HdcpVersion aMinHdcpVersion);

  async SetServerCertificate(uint32_t aPromiseId,
                             uint8_t[] aServerCert);

  async CreateSessionAndGenerateRequest(uint32_t aPromiseId,
                                        uint32_t aSessionType,
                                        uint32_t aInitDataType,
                                        uint8_t[] aInitData);

  async LoadSession(uint32_t aPromiseId,
                    uint32_t aSessionType,
                    nsCString aSessionId);

  async UpdateSession(uint32_t aPromiseId,
                      nsCString aSessionId,
                      uint8_t[] aResponse);

  async CloseSession(uint32_t aPromiseId,
                     nsCString aSessionId);

  async RemoveSession(uint32_t aPromiseId,
                      nsCString aSessionId);

  // This is called after the parent has verified the protection status and
  // round tripped the call back to the child.
  async CompleteQueryOutputProtectionStatus(bool aSuccess,
                                            uint32_t aLinkMask,
                                            uint32_t aProtectionMask);

  async Decrypt(uint32_t aId, CDMInputBuffer aBuffer);

  async InitializeVideoDecoder(CDMVideoDecoderConfig aConfig);

  async DeinitializeVideoDecoder();

  async ResetVideoDecoder();

  async DecryptAndDecodeFrame(CDMInputBuffer aBuffer);

  async Drain();

  async Destroy();

  async GiveBuffer(Shmem aShmem);

  async PurgeShmems();


parent:
  async __delete__();

  // cdm::Host_11
  async OnResolvePromiseWithKeyStatus(uint32_t aPromiseId, uint32_t aKeyStatus);

  async OnResolveNewSessionPromise(uint32_t aPromiseId, nsCString aSessionId);

  async OnResolvePromise(uint32_t aPromiseId);

  async OnRejectPromise(uint32_t aPromiseId,
                        uint32_t aException,
                        uint32_t aSystemCode,
                        nsCString aErrorMessage);

  async OnSessionMessage(nsCString aSessionId,
                         uint32_t aMessageType,
                         uint8_t[] aMessage);

  async OnSessionKeysChange(nsCString aSessionId,
                            CDMKeyInformation[] aKeysInfo);

  async OnExpirationChange(nsCString aSessionId,
                           double aSecondsSinceEpoch);

  async OnSessionClosed(nsCString aSessionId);

  async OnQueryOutputProtectionStatus();

  async ResolveLoadSessionPromise(uint32_t aPromiseId, bool aSuccessful);

  // Return values of cdm::ContentDecryptionModule_10::Decrypt
  async Decrypted(uint32_t aId, uint32_t aStatus, Shmem aDecryptedData);
  async DecryptFailed(uint32_t aId, uint32_t aStatus);

  async OnDecoderInitDone(uint32_t aStatus);

  // Return values of cdm::ContentDecryptionModule_10::DecryptAndDecodeFrame
  async DecodedShmem(CDMVideoFrame aFrame, Shmem aData);
  async DecodedData(CDMVideoFrame aFrame, uint8_t[] aData);
  async DecodeFailed(uint32_t aStatus);

  async ResetVideoDecoderComplete();

  async DrainComplete();

  async Shutdown();

  async IncreaseShmemPoolSize();
};

} // namespace gmp
} // namespace mozilla

[ Dauer der Verarbeitung: 0.27 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge