I tried directsoundsrc
and wasapisrc
and both produced no sound. wasapi2src
is not available for mingw, so it’s not an option.
directsoundsrc
produces no sound at all, just like wasapi with “Line in”.
wasapi with loopback from “Speakers” continuously prints the following error:
0:02:18.818730800 8160 0000020FAB6846B0 WARN wasapisrc gstwasapisrc.c:807:gst_wasapi_src_read:<wasapisrc0> IAudioCaptureClient::GetBuffer failed: AUDCLNT_S_BUFFER_EMPTY, retrying
Here’s the list of audio devices:
$ gst-device-monitor-1.0 Audio
Device found:
name : Speakers (High Definition Audio Device)
class : Audio/Sink
caps : audio/x-raw, format=S16LE, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
audio/x-raw, format=U8, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
audio/x-ac3, framed=true
audio/x-dts, framed=true
properties:
device.api = directsound
device.guid = {220D0235-AB3C-4F64-A2BD-2235EA8632FF}
directsound.device.driver = {0.0.0.00000000}.{220d0235-ab3c-4f64-a2bd-2235ea8632ff}
directsound.device.description = Speakers (High Definition Audio Device)
gst-launch-1.0 ... ! directsoundsink device="\{220D0235-AB3C-4F64-A2BD-2235EA8632FF\}"
Device found:
name : Primary Sound Driver
class : Audio/Sink
caps : audio/x-raw, format=S16LE, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
audio/x-raw, format=U8, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
audio/x-ac3, framed=true
audio/x-dts, framed=true
properties:
device.api = directsound
device.guid = (NULL)
directsound.device.driver =
directsound.device.description = Primary Sound Driver
gst-launch-1.0 ... ! directsoundsink
Device found:
name : Line In (High Definition Audio Device)
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S8 }, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
properties:
device.api = directsound
device.guid = {47D6E7BD-7309-49DD-B3E3-DE815746B99B}
directsound.device.driver = {0.0.1.00000000}.{47d6e7bd-7309-49dd-b3e3-de815746b99b}
directsound.device.description = Line In (High Definition Audio Device)
gst-launch-1.0 directsoundsrc device="\{47D6E7BD-7309-49DD-B3E3-DE815746B99B\}" ! ...
Device found:
name : Primary Sound Capture Driver
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S8 }, layout=interleaved, rate=[ 1, 2147483647 ], channels=[ 1, 2 ]
properties:
device.api = directsound
device.guid = (NULL)
directsound.device.driver =
directsound.device.description = Primary Sound Capture Driver
gst-launch-1.0 directsoundsrc ! ...
Device found:
name : Line In (High Definition Audio Device)
class : Audio/Source
caps : audio/x-raw, format=F32LE, layout=interleaved, rate=44100, channels=2, channel-mask=0x0000000000000003
properties:
device.api = wasapi
device.strid = {0.0.1.00000000}.{47d6e7bd-7309-49dd-b3e3-de815746b99b}
wasapi.device.description = Line In (High Definition Audio Device)
gst-launch-1.0 wasapisrc device="\{0.0.1.00000000\}.\{47d6e7bd-7309-49dd-b3e3-de815746b99b\}" ! ...
Device found:
name : Speakers (High Definition Audio Device)
class : Audio/Sink
caps : audio/x-raw, format=F32LE, layout=interleaved, rate=48000, channels=2, channel-mask=0x0000000000000003
properties:
device.api = wasapi
device.strid = {0.0.0.00000000}.{220d0235-ab3c-4f64-a2bd-2235ea8632ff}
wasapi.device.description = Speakers (High Definition Audio Device)
gst-launch-1.0 ... ! wasapisink device="\{0.0.0.00000000\}.\{220d0235-ab3c-4f64-a2bd-2235ea8632ff\}"
Are there other ways to capture audio?