1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
6 * This is an internal IDL file
9 interface nsIMediaDevice;
11 // For gUM request start (getUserMedia:request) notification,
12 // rawID, mediaSource and audioOutputOptions won't be set.
13 // For selectAudioOutput request start (getUserMedia:request) notification,
14 // rawID, mediaSource and constraints won't be set.
15 // For gUM request stop (recording-device-stopped) notification due to page
16 // reload, only windowID will be set.
17 // For gUM request stop (recording-device-stopped) notification due to track
18 // stop, only type, windowID, rawID and mediaSource will be set
20 enum GetUserMediaRequestType {
23 "recording-device-stopped"
26 [LegacyNoInterfaceObject,
28 interface GetUserMediaRequest {
29 readonly attribute GetUserMediaRequestType type;
30 readonly attribute unsigned long long windowID;
31 readonly attribute unsigned long long innerWindowID;
32 readonly attribute DOMString callID;
33 readonly attribute DOMString rawID;
34 readonly attribute DOMString mediaSource;
35 // The set of devices to consider
36 [Constant, Cached, Frozen]
37 readonly attribute sequence<nsIMediaDevice> devices;
38 MediaStreamConstraints getConstraints();
39 AudioOutputOptions getAudioOutputOptions();
40 readonly attribute boolean isSecure;
41 readonly attribute boolean isHandlingUserInput;