System audio capture in Windows

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?