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


Quelle  mozIGeckoMediaPluginService.idl   Sprache: unbekannt

 
Spracherkennung für: .idl vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/* -*- 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 "nsISupports.idl"
#include "nsIThread.idl"

interface nsIFile;

%{C++
#include "mozilla/UniquePtr.h"
#include "nsTArray.h"
#include "nsString.h"
class GMPDecryptorProxy;
class GMPVideoDecoderProxy;
class GMPVideoEncoderProxy;
class GMPVideoHost;

namespace mozilla {
class GMPCrashHelper;
}

template<class T>
class GMPGetterCallback
{
public:
  GMPGetterCallback() { MOZ_COUNT_CTOR(GMPGetterCallback<T>); }
  virtual ~GMPGetterCallback() { MOZ_COUNT_DTOR(GMPGetterCallback<T>); }
  virtual void Done(T*) = 0;
};
template<class T>
class GMPVideoGetterCallback
{
public:
  GMPVideoGetterCallback() { MOZ_COUNT_CTOR(GMPVideoGetterCallback<T>); }
  virtual ~GMPVideoGetterCallback() { MOZ_COUNT_DTOR(GMPVideoGetterCallback<T>); }
  virtual void Done(T*, GMPVideoHost*) = 0;
};
typedef GMPGetterCallback<GMPDecryptorProxy> GetGMPDecryptorCallback;
typedef GMPVideoGetterCallback<GMPVideoDecoderProxy> GetGMPVideoDecoderCallback;
typedef GMPVideoGetterCallback<GMPVideoEncoderProxy> GetGMPVideoEncoderCallback;
class GetNodeIdCallback
{
public:
  MOZ_COUNTED_DEFAULT_CTOR(GetNodeIdCallback)
  MOZ_COUNTED_DTOR_VIRTUAL(GetNodeIdCallback)
  virtual void Done(nsresult aResult, const nsACString& aNodeId) = 0;
};
%}

[ptr] native TagArray(nsTArray<nsCString>);
[ref] native ConstTagArrayRef(const nsTArray<nsCString>);
native GetGMPDecryptorCallback(mozilla::UniquePtr<GetGMPDecryptorCallback>&&);
native GetGMPVideoDecoderCallback(mozilla::UniquePtr<GetGMPVideoDecoderCallback>&&);
native GetGMPVideoEncoderCallback(mozilla::UniquePtr<GetGMPVideoEncoderCallback>&&);
native GetNodeIdCallback(mozilla::UniquePtr<GetNodeIdCallback>&&);
native GMPCrashHelperPtr(mozilla::GMPCrashHelper*);

[scriptable, builtinclass, uuid(44d362ae-937a-4803-bee6-f2512a0149d1)]
interface mozIGeckoMediaPluginService : nsISupports
{

  /**
   * The GMP thread. Callable from any thread.
   */
  readonly attribute nsIThread thread;

  /**
   * Run through windows registered registered for pluginId, sending
   * 'PluginCrashed' chrome-only event
   */
  void RunPluginCrashCallbacks(in unsigned long pluginId, in ACString pluginName);

  /**
   * Get a plugin that supports the specified tags.
   * Callable on any thread
   */
  [noscript]
  boolean hasPluginForAPI(in ACString api, in ConstTagArrayRef tags);

  /**
   * Get the plugin directory for a plugin that supports the specified tags.
   * Callable on any thread
   */
  [noscript]
  nsIFile findPluginDirectoryForAPI(in ACString api, in ConstTagArrayRef tags);

  /**
   * Get a video decoder that supports the specified tags.
   * The array of tags should at least contain a codec tag, and optionally
   * other tags such as for EME keysystem.
   * Callable only on GMP thread.
   * This is an asynchronous operation, the Done method of the callback object
   * will be called on the GMP thread with the result (which might be null in
   * the case of failure). This method always takes ownership of the callback
   * object, but if this method returns an error then the Done method of the
   * callback object will not be called at all.
   */
  [noscript]
  void getGMPVideoDecoder(in GMPCrashHelperPtr helper,
                          in TagArray tags,
                          [optional] in ACString nodeId,
                          in GetGMPVideoDecoderCallback callback);

  /**
   * Get a video encoder that supports the specified tags.
   * The array of tags should at least contain a codec tag, and optionally
   * other tags.
   * Callable only on GMP thread.
   * This is an asynchronous operation, the Done method of the callback object
   * will be called on the GMP thread with the result (which might be null in
   * the case of failure). This method always takes ownership of the callback
   * object, but if this method returns an error then the Done method of the
   * callback object will not be called at all.
   */
  [noscript]
  void getGMPVideoEncoder(in GMPCrashHelperPtr helper,
                          in TagArray tags,
                          [optional] in ACString nodeId,
                          in GetGMPVideoEncoderCallback callback);

  /**
   * Gets the NodeId for a (origin, urlbarOrigin) pair.
   */
  [noscript]
  void getNodeId(in AString origin,
                 in AString topLevelOrigin,
                 in AString gmpName,
                 in GetNodeIdCallback callback);
};

[ Dauer der Verarbeitung: 0.30 Sekunden  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


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