1 /* -*- Mode: C++; 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
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsISupports.idl"
8 [scriptable
, uuid(feb979a8
-f8cc
-4522-9dff
-6c055ca50762
)]
9 interface nsIAudioDeviceInfo
: nsISupports
11 readonly attribute AString name
;
13 readonly attribute AString groupId
;
15 readonly attribute AString vendor
;
17 // type: Unknown/Input/Output
18 const unsigned short TYPE_UNKNOWN
= 0;
19 const unsigned short TYPE_INPUT
= 1;
20 const unsigned short TYPE_OUTPUT
= 2;
21 readonly attribute
unsigned short type
;
23 // state: Disabled/Unplugged/Enabled
24 const unsigned short STATE_DISABLED
= 0;
25 const unsigned short STATE_UNPLUGGED
= 1;
26 const unsigned short STATE_ENABLED
= 2;
27 readonly attribute
unsigned short state
;
29 // preferred: None/Multimedia/Voice/Notification/All
30 const unsigned short PREF_NONE
= 0x00;
31 const unsigned short PREF_MULTIMEDIA
= 0x01;
32 const unsigned short PREF_VOICE
= 0x02;
33 const unsigned short PREF_NOTIFICATION
= 0x04;
34 const unsigned short PREF_ALL
= 0x0F;
35 readonly attribute
unsigned short preferred
;
37 // supported format, default format: S16LE/S16BE/F32LE/F32BE
38 const unsigned short FMT_S16LE
= 0x0010;
39 const unsigned short FMT_S16BE
= 0x0020;
40 const unsigned short FMT_F32LE
= 0x1000;
41 const unsigned short FMT_F32BE
= 0x2000;
42 readonly attribute
unsigned short supportedFormat
;
43 readonly attribute
unsigned short defaultFormat
;
45 // Max number of channels: [1, 255]
46 readonly attribute
unsigned long maxChannels
;
48 readonly attribute
unsigned long defaultRate
;
49 readonly attribute
unsigned long maxRate
;
50 readonly attribute
unsigned long minRate
;
52 readonly attribute
unsigned long maxLatency
;
53 readonly attribute
unsigned long minLatency
;