| 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;
/* Client was reset, so it needs to be started again */
gboolean client_needs_restart;
/* Actual size of the allocated buffer */
guint buffer_frame_count;
/* 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 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