1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 use shared::minwindef::DWORD;
7 ENUM!{enum AUDCLNT_SHAREMODE {
8     AUDCLNT_SHAREMODE_SHARED,
9     AUDCLNT_SHAREMODE_EXCLUSIVE,
10 }}
11 ENUM!{enum AUDIO_STREAM_CATEGORY {
12     AudioCategory_Other = 0,
13     AudioCategory_ForegroundOnlyMedia = 1,
14     AudioCategory_BackgroundCapableMedia = 2,
15     AudioCategory_Communications = 3,
16     AudioCategory_Alerts = 4,
17     AudioCategory_SoundEffects = 5,
18     AudioCategory_GameEffects = 6,
19     AudioCategory_GameMedia = 7,
20     AudioCategory_GameChat = 8,
21     AudioCategory_Speech = 9,
22     AudioCategory_Movie = 10,
23     AudioCategory_Media = 11,
24 }}
25 pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: DWORD = 0x00010000;
26 pub const AUDCLNT_STREAMFLAGS_LOOPBACK: DWORD = 0x00020000;
27 pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: DWORD = 0x00040000;
28 pub const AUDCLNT_STREAMFLAGS_NOPERSIST: DWORD = 0x00080000;
29 pub const AUDCLNT_STREAMFLAGS_RATEADJUST: DWORD = 0x00100000;
30 pub const AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED: DWORD = 0x10000000;
31 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE: DWORD = 0x20000000;
32 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED: DWORD = 0x40000000;
33 ENUM!{enum AudioSessionState {
34     AudioSessionStateInactive = 0,
35     AudioSessionStateActive = 1,
36     AudioSessionStateExpired = 2,
37 }}
38