michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: #include "nsIVariant.idl" michael@0: #include "nsIDOMMediaStream.idl" michael@0: michael@0: [scriptable, builtinclass, uuid(4af2bdb7-1547-4d10-8886-02a78c3c0b83)] michael@0: interface nsIMediaDevice : nsISupports michael@0: { michael@0: readonly attribute DOMString type; michael@0: readonly attribute DOMString name; michael@0: readonly attribute DOMString id; michael@0: readonly attribute DOMString facingMode; michael@0: }; michael@0: michael@0: [scriptable, function, uuid(24544878-d35e-4962-8c5f-fb84e97bdfee)] michael@0: interface nsIGetUserMediaDevicesSuccessCallback : nsISupports michael@0: { michael@0: void onSuccess(in nsIVariant devices); michael@0: }; michael@0: michael@0: [scriptable, function, uuid(f2a144fc-3534-4761-8c5d-989ae720f89a)] michael@0: interface nsIDOMGetUserMediaSuccessCallback : nsISupports michael@0: { michael@0: /* michael@0: * value must be a nsIDOMBlob if picture is true and a michael@0: * nsIDOMLocalMediaStream if either audio or video are true. michael@0: */ michael@0: void onSuccess(in nsISupports value); michael@0: }; michael@0: michael@0: [scriptable, function, uuid(2614bbcf-85cc-43e5-8740-964f52bdc7ca)] michael@0: interface nsIDOMGetUserMediaErrorCallback : nsISupports michael@0: { michael@0: void onError(in DOMString error); michael@0: };