Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/dom/media/eme/mediadrm/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  MediaDrmCDMCallbackProxy.h   Sprache: C

 
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */


#ifndef MediaDrmCDMCallbackProxy_h_
#define MediaDrmCDMCallbackProxy_h_

#include "mozilla/CDMProxy.h"
#include "mozilla/DecryptorProxyCallback.h"

namespace mozilla {
class CDMProxy;
class ErrorResult;
class MediaDrmCDMProxy;

// Proxies call backs from the MediaDrmProxy -> MediaDrmProxySupport back to the
// MediaKeys object on the main thread. We used annotation calledFrom = "gecko"
// to ensure running on main thread.
class MediaDrmCDMCallbackProxy final : public DecryptorProxyCallback {
 public:
  void SetSessionId(uint32_t aCreateSessionToken,
                    const nsCString& aSessionId) override;

  void ResolveLoadSessionPromise(uint32_t aPromiseId, bool aSuccess) override;

  void ResolvePromise(uint32_t aPromiseId) override;

  void RejectPromise(uint32_t aPromiseId, ErrorResult&& aException,
                     const nsCString& aSessionId) override;

  void SessionMessage(const nsCString& aSessionId,
                      dom::MediaKeyMessageType aMessageType,
                      const nsTArray<uint8_t>& aMessage) override;

  void ExpirationChange(const nsCString& aSessionId,
                        UnixTime aExpiryTime) override;

  void SessionClosed(const nsCString& aSessionId) override;

  void SessionError(const nsCString& aSessionId, nsresult aException,
                    uint32_t aSystemCode, const nsCString& aMessage) override;

  void Decrypted(uint32_t aId, DecryptStatus aResult,
                 const nsTArray<uint8_t>& aDecryptedData) override;

  void BatchedKeyStatusChanged(const nsCString& aSessionId,
                               const nsTArray<CDMKeyInfo>& aKeyInfos) override;

  ~MediaDrmCDMCallbackProxy();

 private:
  friend class MediaDrmCDMProxy;
  explicit MediaDrmCDMCallbackProxy(MediaDrmCDMProxy* aProxy);

  void BatchedKeyStatusChangedInternal(const nsCString& aSessionId,
                                       const nsTArray<CDMKeyInfo>& aKeyInfos);
  const RefPtr<MediaDrmCDMProxy> mProxy;
};

}  // namespace mozilla
#endif

Messung V0.5
C=96 H=96 G=95

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.