| Top |  |  |  |  | 
| GstWasapiDeviceRole | role | Read / Write | 
| gchar * | device | Read / Write | 
| gboolean | exclusive | Read / Write | 
| gboolean | low-latency | Read / Write | 
| gboolean | use-audioclient3 | Read / Write | 
Provides audio capture from the Windows Audio Session API available with Vista and newer.
| 1 | gst-launch-1.0 -v wasapisrc ! fakesink | 
Capture from the default audio device and render to fakesink.
| 1 | gst-launch-1.0 -v wasapisrc low-latency=true ! fakesink | 
Capture from the default audio device with the minimum possible latency and render to fakesink.
| plugin | wasapi | 
| author | Nirbheek Chauhan <nirbheek@centricular.com> | 
| class | Source/Audio | 
struct GstWasapiSrc {
  GstAudioSrc parent;
  IMMDevice *device;
  IAudioClient *client;
  IAudioClock *client_clock;
  guint64 client_clock_freq;
  IAudioCaptureClient *capture_client;
  HANDLE event_handle;
  /* Smooth frames captured from WASAPI, which can be irregular sometimes */
  GstAdapter *adapter;
  /* Client was reset, so it needs to be started again */
  gboolean client_needs_restart;
  /* The mix format that wasapi prefers in shared mode */
  WAVEFORMATEX *mix_format;
  /* The probed caps that we can accept */
  GstCaps *cached_caps;
  /* The channel positions in the data read from the device
   * we will pass this to GstAudioRingbuffer so it can
   * translate it to the native GStreamer channel layout. */
  GstAudioChannelPosition *positions;
  /* properties */
  gint role;
  gint sharemode;
  gboolean loopback;
  gboolean low_latency;
  gboolean try_audioclient3;
  wchar_t *device_strid;
};
“role” property  “role”                     GstWasapiDeviceRole
Role of the device: communications, multimedia, etc
Flags: Read / Write
Default value: console
“exclusive” property“exclusive” gboolean
Open the device in exclusive mode
Flags: Read / Write
Default value: FALSE
“low-latency” property“low-latency” gboolean
Optimize all settings for lowest latency. Always safe to enable.
Flags: Read / Write
Default value: FALSE
“use-audioclient3” property“use-audioclient3” gboolean
Whether to use the Windows 10 AudioClient3 API when available
Flags: Read / Write
Default value: FALSE