gecko/dom/media/nsIDOMNavigatorUserMedia.idl

65 lines
2.0 KiB
Plaintext

/* 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 "nsIVariant.idl"
#include "nsIDOMMediaStream.idl"
[scriptable, builtinclass, uuid(6de854f9-acf8-4383-b464-4803631ef309)]
interface nsIMediaDevice : nsISupports
{
readonly attribute DOMString type;
readonly attribute DOMString name;
};
[scriptable, function, uuid(24544878-d35e-4962-8c5f-fb84e97bdfee)]
interface nsIGetUserMediaDevicesSuccessCallback : nsISupports
{
void onSuccess(in nsIVariant devices);
};
[scriptable, function, uuid(f2a144fc-3534-4761-8c5d-989ae720f89a)]
interface nsIDOMGetUserMediaSuccessCallback : nsISupports
{
/*
* value must be a nsIDOMBlob if picture is true and a
* nsIDOMMediaStream if either audio or video are true.
*/
void onSuccess(in nsISupports value);
};
[scriptable, function, uuid(2614bbcf-85cc-43e5-8740-964f52bdc7ca)]
interface nsIDOMGetUserMediaErrorCallback : nsISupports
{
void onError(in DOMString error);
};
[scriptable, uuid(f34a3616-395a-43cd-b275-bf81750ac8b9)]
interface nsIMediaStreamOptions : nsISupports
{
readonly attribute boolean fake;
readonly attribute boolean audio;
readonly attribute boolean video;
readonly attribute boolean picture;
readonly attribute DOMString camera;
readonly attribute nsIMediaDevice audioDevice;
readonly attribute nsIMediaDevice videoDevice;
};
[scriptable, uuid(381e0071-0be5-4f6b-ae21-8e3407a37faa)]
interface nsIDOMNavigatorUserMedia : nsISupports
{
void mozGetUserMedia(in nsIMediaStreamOptions params,
in nsIDOMGetUserMediaSuccessCallback onsuccess,
in nsIDOMGetUserMediaErrorCallback onerror);
};
[scriptable, uuid(20e9c794-fdfe-43f4-a81b-ebd9069e0af1)]
interface nsINavigatorUserMedia : nsISupports
{
void mozGetUserMediaDevices(
in nsIGetUserMediaDevicesSuccessCallback onsuccess,
in nsIDOMGetUserMediaErrorCallback onerror);
};