12#ifdef WSCINPUT_EXPORTS
13#define WSCI_API extern "C" __declspec(dllexport)
15#define WSCI_API extern "C" __declspec(dllimport)
23#define WSCI_VERSION_MAJOR 1
24#define WSCI_VERSION_MINOR 0
25#define WSCI_VERSION_PATCH 0
26#define WSCI_VERSION_STRING "1.0.0"
WSCIResult WSCI_SetAudioMute(int captureId, int mute)
Set audio mute state.
WSCIResult WSCI_SetAudioVolume(int captureId, float volume)
Set audio volume.
int WSCI_GetAudioMute(int captureId)
Get audio mute state.
WSCIResult WSCI_SetAudioOutput(int captureId, int outputDeviceIndex)
Select audio output device for playthrough.
WSCIResult WSCI_SetAudioDevice(int captureId, int audioDeviceIndex)
Attach an audio input device to a capture.
WSCIResult WSCI_SetAudioFormat(int captureId, const WSCIAudioFormat *format)
Set audio format parameters.
float WSCI_GetAudioVolume(int captureId)
Get current audio volume.
WSCIResult WSCI_DestroyCapture(int captureId)
Destroy a capture and free resources.
int WSCI_CreateCapture(int videoDeviceIndex, const WSCICaptureFormat *format)
Create a video capture from a device index.
WSCIResult WSCI_StartCapture(int captureId)
Start capturing frames.
WSCIResult WSCI_StopCapture(int captureId)
Stop capturing.
WSCICaptureState WSCI_GetCaptureState(int captureId)
Get capture state.
WSCIResult WSCI_GetCaptureInfo(int captureId, int *width, int *height, int *fps)
Get actual capture resolution (available after StartCapture).
void WSCI_Shutdown()
Shut down and release all captures.
WSCIResult WSCI_Init()
Initialize Media Foundation for capture.
int WSCI_EnumAudioDevices(WSCIDeviceInfo *infos, int maxCount)
Enumerate audio capture (input) devices.
int WSCI_EnumVideoDevices(WSCIDeviceInfo *infos, int maxCount)
Enumerate video capture devices (webcams, capture cards).
int WSCI_EnumAudioOutputDevices(WSCIAudioOutputInfo *infos, int maxCount)
Enumerate audio output (render) devices.
WSCIDeviceType
Device type flags.
Definition wscinput.h:70
WSCICaptureState
Capture state.
Definition wscinput.h:77
@ WSCI_DEVICE_AUDIO
Definition wscinput.h:72
@ WSCI_DEVICE_VIDEO
Definition wscinput.h:71
@ WSCI_STATE_STOPPED
Definition wscinput.h:80
@ WSCI_STATE_RUNNING
Definition wscinput.h:79
@ WSCI_STATE_ERROR
Definition wscinput.h:81
@ WSCI_STATE_IDLE
Definition wscinput.h:78
const char * string
Definition wscinput.h:34
int channels
Definition wscinput.h:115
int height
Definition wscinput.h:107
char devicePath[512]
Definition wscinput.h:94
WSCIResult WSCI_DetachOutput(int captureId, int outputId)
Detach a WSCLib output from this capture.
int index
Definition wscinput.h:123
char name[256]
Definition wscinput.h:93
int sampleRate
Definition wscinput.h:114
char deviceId[512]
Definition wscinput.h:125
int minor
Definition wscinput.h:32
int bufferMs
Definition wscinput.h:117
int patch
Definition wscinput.h:33
int fps
Definition wscinput.h:108
int type
Definition wscinput.h:95
WSCIResult WSCI_AttachOutput(int captureId, int outputId)
Attach a WSCLib output — each captured frame auto-submits to WSC_SubmitFrame().
int width
Definition wscinput.h:106
char name[256]
Definition wscinput.h:124
int bitsPerSample
Definition wscinput.h:116
int major
Definition wscinput.h:31
int index
Definition wscinput.h:92
WSCIResult
Result codes returned by WSCLibInput functions.
Definition wscinput.h:51
@ WSCI_ERROR_ALLOC_FAIL
Definition wscinput.h:58
@ WSCI_ERROR_NOT_ACTIVE
Definition wscinput.h:57
@ WSCI_ERROR_INVALID_ID
Definition wscinput.h:56
@ WSCI_ERROR_MF_FAIL
Definition wscinput.h:55
@ WSCI_ERROR_INVALID_PARAM
Definition wscinput.h:54
@ WSCI_OK
Definition wscinput.h:52
@ WSCI_ERROR_FORMAT_FAIL
Definition wscinput.h:60
@ WSCI_ERROR_NO_DEVICE
Definition wscinput.h:59
@ WSCI_ERROR_NOT_INIT
Definition wscinput.h:53
WSCIVersion WSCI_GetVersion()
Get WSCLibInput version info.
Audio output device info.
Definition wscinput.h:122
Device info returned by enumeration.
Definition wscinput.h:91
Version information structure.
Definition wscinput.h:30