openshot-audio  0.1.7
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
juce_win32_WASAPI.cpp File Reference

Classes

struct  IMMDeviceCollection
 
class  WasapiClasses::WASAPIDeviceBase
 
class  WasapiClasses::WASAPIInputDevice
 
class  WasapiClasses::WASAPIOutputDevice
 
class  WasapiClasses::WASAPIAudioIODevice
 
class  WasapiClasses::WASAPIAudioIODeviceType
 
struct  WasapiClasses::MMDeviceMasterVolume
 

Namespaces

 WasapiClasses
 

Macros

#define JUCE_WASAPI_LOGGING   0
 
#define JUCE_COMCLASS(name, guid)   struct __declspec (uuid (guid)) name
 
#define KSDATAFORMAT_SUBTYPE_PCM   uuidFromString ("00000001-0000-0010-8000-00aa00389b71")
 
#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   uuidFromString ("00000003-0000-0010-8000-00aa00389b71")
 
#define JUCE_IUNKNOWNCLASS(name, guid)   JUCE_COMCLASS(name, guid) : public IUnknown
 
#define JUCE_COMCALL   virtual HRESULT STDMETHODCALLTYPE
 
#define JUCE_SYSTEMAUDIOVOL_IMPLEMENTED   1
 

Typedefs

typedef LONGLONG REFERENCE_TIME
 

Enumerations

enum  EDataFlow { eRender = 0, eCapture = (eRender + 1), eAll = (eCapture + 1) }
 
enum  { DEVICE_STATE_ACTIVE = 1, AUDCLNT_BUFFERFLAGS_SILENT = 2 }
 
enum  ERole { eConsole = 0, eMultimedia = (eConsole + 1), eCommunications = (eMultimedia + 1) }
 
enum  AVRT_PRIORITY { AVRT_PRIORITY_LOW = -1, AVRT_PRIORITY_NORMAL, AVRT_PRIORITY_HIGH, AVRT_PRIORITY_CRITICAL }
 
enum  AUDCLNT_SHAREMODE { AUDCLNT_SHAREMODE_SHARED, AUDCLNT_SHAREMODE_EXCLUSIVE }
 
enum  AudioSessionDisconnectReason {
  DisconnectReasonDeviceRemoval = 0, DisconnectReasonServerShutdown = 1, DisconnectReasonFormatChanged = 2, DisconnectReasonSessionLogoff = 3,
  DisconnectReasonSessionDisconnected = 4, DisconnectReasonExclusiveModeOverride = 5
}
 
enum  AudioSessionState { AudioSessionStateInactive = 0, AudioSessionStateActive = 1, AudioSessionStateExpired = 2 }
 

Functions

void WasapiClasses::logFailure (HRESULT hr)
 
bool WasapiClasses::check (HRESULT hr)
 
 JUCE_IUNKNOWNCLASS (IPropertyStore, "886d8eeb-8cf2-4446-8d02-cdba1dbdcf99")
 
 JUCE_IUNKNOWNCLASS (IMMDevice, "D666063F-1587-4E43-81F1-B948E807363F")
 
 JUCE_IUNKNOWNCLASS (IMMEndpoint, "1BE09788-6894-4089-8586-9A2A6C265AC5")
 
 JUCE_IUNKNOWNCLASS (IMMNotificationClient, "7991EEC9-7E89-4D85-8390-6C703CEC60C0")
 
 JUCE_IUNKNOWNCLASS (IMMDeviceEnumerator, "A95664D2-9614-4F35-A746-DE8DB63617E6")
 
 JUCE_COMCLASS (MMDeviceEnumerator, "BCDE0395-E52F-467C-8E3D-C4579291692E")
 
 JUCE_IUNKNOWNCLASS (IAudioClient, "1CB9AD4C-DBFA-4c32-B178-C2F568A703B2")
 
 JUCE_IUNKNOWNCLASS (IAudioCaptureClient, "C8ADBD64-E71E-48a0-A4DE-185C395CD317")
 
 JUCE_IUNKNOWNCLASS (IAudioRenderClient, "F294ACFC-3146-4483-A7BF-ADDCA7C260E2")
 
 JUCE_IUNKNOWNCLASS (IAudioEndpointVolume, "5CDF2C82-841E-4546-9722-0CF74078229A")
 
 JUCE_IUNKNOWNCLASS (IAudioSessionEvents, "24918ACC-64B3-37C1-8CA9-74A66E9957A8")
 
 JUCE_IUNKNOWNCLASS (IAudioSessionControl, "F4B1A599-7266-4319-A8CA-E70ACB11E8CD")
 
String WasapiClasses::getDeviceID (IMMDevice *const device)
 
EDataFlow WasapiClasses::getDataFlow (const ComSmartPtr< IMMDevice > &device)
 
int WasapiClasses::refTimeToSamples (const REFERENCE_TIME &t, const double sampleRate) noexcept
 
REFERENCE_TIME WasapiClasses::samplesToRefTime (const int numSamples, const double sampleRate) noexcept
 
void WasapiClasses::copyWavFormat (WAVEFORMATEXTENSIBLE &dest, const WAVEFORMATEX *const src) noexcept
 

Macro Definition Documentation

◆ JUCE_COMCALL

#define JUCE_COMCALL   virtual HRESULT STDMETHODCALLTYPE

◆ JUCE_COMCLASS

#define JUCE_COMCLASS (   name,
  guid 
)    struct __declspec (uuid (guid)) name

◆ JUCE_IUNKNOWNCLASS

#define JUCE_IUNKNOWNCLASS (   name,
  guid 
)    JUCE_COMCLASS(name, guid) : public IUnknown

◆ JUCE_SYSTEMAUDIOVOL_IMPLEMENTED

#define JUCE_SYSTEMAUDIOVOL_IMPLEMENTED   1

◆ JUCE_WASAPI_LOGGING

#define JUCE_WASAPI_LOGGING   0

◆ KSDATAFORMAT_SUBTYPE_IEEE_FLOAT

#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   uuidFromString ("00000003-0000-0010-8000-00aa00389b71")

◆ KSDATAFORMAT_SUBTYPE_PCM

#define KSDATAFORMAT_SUBTYPE_PCM   uuidFromString ("00000001-0000-0010-8000-00aa00389b71")

Typedef Documentation

◆ REFERENCE_TIME

typedef LONGLONG REFERENCE_TIME

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEVICE_STATE_ACTIVE 
AUDCLNT_BUFFERFLAGS_SILENT 

◆ AUDCLNT_SHAREMODE

Enumerator
AUDCLNT_SHAREMODE_SHARED 
AUDCLNT_SHAREMODE_EXCLUSIVE 

◆ AudioSessionDisconnectReason

Enumerator
DisconnectReasonDeviceRemoval 
DisconnectReasonServerShutdown 
DisconnectReasonFormatChanged 
DisconnectReasonSessionLogoff 
DisconnectReasonSessionDisconnected 
DisconnectReasonExclusiveModeOverride 

◆ AudioSessionState

Enumerator
AudioSessionStateInactive 
AudioSessionStateActive 
AudioSessionStateExpired 

◆ AVRT_PRIORITY

Enumerator
AVRT_PRIORITY_LOW 
AVRT_PRIORITY_NORMAL 
AVRT_PRIORITY_HIGH 
AVRT_PRIORITY_CRITICAL 

◆ EDataFlow

enum EDataFlow
Enumerator
eRender 
eCapture 
eAll 

◆ ERole

enum ERole
Enumerator
eConsole 
eMultimedia 
eCommunications 

Function Documentation

◆ JUCE_COMCLASS()

JUCE_COMCLASS ( MMDeviceEnumerator  ,
"BCDE0395-E52F-467C-8E3D-C4579291692E"   
)

◆ JUCE_IUNKNOWNCLASS() [1/11]

JUCE_IUNKNOWNCLASS ( IPropertyStore  ,
"886d8eeb-8cf2-4446-8d02-cdba1dbdcf99"   
)

◆ JUCE_IUNKNOWNCLASS() [2/11]

JUCE_IUNKNOWNCLASS ( IMMDevice  ,
"D666063F-1587-4E43-81F1-B948E807363F"   
)

◆ JUCE_IUNKNOWNCLASS() [3/11]

JUCE_IUNKNOWNCLASS ( IMMEndpoint  ,
"1BE09788-6894-4089-8586-9A2A6C265AC5"   
)

◆ JUCE_IUNKNOWNCLASS() [4/11]

JUCE_IUNKNOWNCLASS ( IMMNotificationClient  ,
"7991EEC9-7E89-4D85-8390-6C703CEC60C0"   
)

◆ JUCE_IUNKNOWNCLASS() [5/11]

JUCE_IUNKNOWNCLASS ( IMMDeviceEnumerator  ,
"A95664D2-9614-4F35-A746-DE8DB63617E6"   
)

◆ JUCE_IUNKNOWNCLASS() [6/11]

JUCE_IUNKNOWNCLASS ( IAudioClient  ,
"1CB9AD4C-DBFA-4c32-B178-C2F568A703B2"   
)

◆ JUCE_IUNKNOWNCLASS() [7/11]

JUCE_IUNKNOWNCLASS ( IAudioCaptureClient  ,
"C8ADBD64-E71E-48a0-A4DE-185C395CD317"   
)

◆ JUCE_IUNKNOWNCLASS() [8/11]

JUCE_IUNKNOWNCLASS ( IAudioRenderClient  ,
"F294ACFC-3146-4483-A7BF-ADDCA7C260E2"   
)

◆ JUCE_IUNKNOWNCLASS() [9/11]

JUCE_IUNKNOWNCLASS ( IAudioEndpointVolume  ,
"5CDF2C82-841E-4546-9722-0CF74078229A"   
)

◆ JUCE_IUNKNOWNCLASS() [10/11]

JUCE_IUNKNOWNCLASS ( IAudioSessionEvents  ,
"24918ACC-64B3-37C1-8CA9-74A66E9957A8"   
)

◆ JUCE_IUNKNOWNCLASS() [11/11]

JUCE_IUNKNOWNCLASS ( IAudioSessionControl  ,
"F4B1A599-7266-4319-A8CA-E70ACB11E8CD"   
)