gstreamer/sys
Seungha Yang a668de747f wasapisrc: Make sure that wasapisrc produces data in loopback mode
An oddness of wasapi loopback feature is that capture client will not
produce any data if there's no outputting sound to corresponding
render client. In other words, if there's no sound to render,
capture task will stall. As an option to solve such issue, we can
add timeout to wake up from capture thread if there's no incoming data
within given time interval. But it seems to be glitch prone.
Another approach is that we can keep pushing silence data into
render client so that capture client can keep capturing data
(even if it's just silence).

This patch will choose the latter one because it's more straightforward
way and it's likely produce glitchless sound than former approach.

A bonus point of this approach is that loopback capture on Windows7/8
will work with this patch. Note that there's an OS bug prior to Windows10
when loopback capture client is running with event-driven mode.
To work around the bug, event signalling should be handled manually
for read thread to wake up.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1588>
2020-09-30 12:57:34 +00:00
..
androidmedia androidmedia: ignore additional camera effects if not present 2020-08-04 11:07:33 +00:00
applemedia vtdec/vulkan: use Shared storage mode for IOSurface textures 2020-09-23 23:21:50 +00:00
bluez Remove autotools build system 2019-10-14 13:54:27 +01:00
d3d11 d3d11: Add support for packed 8bits 4:2:2 YUV formats 2020-09-18 14:47:21 +00:00
d3dvideosink d3dvideosink: Use secondary rank 2020-06-03 17:57:40 +09:00
decklink decklink: Re-order modes enum for backwards compatibility with 1.16 2020-08-06 12:22:04 +03:00
directsound bad: use of g_value_dup_string 2019-12-30 14:13:03 +00:00
dshowdecwrapper documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dshowsrcwrapper dshowsrcwrapper: Update build instructions. Add _builddir to include search path. 2020-08-28 23:00:53 +00:00
dshowvideosink documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dvb plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
fbdev Remove autotools build system 2019-10-14 13:54:27 +01:00
ipcpipeline ipcpipeline: Minimal fixes that allow building with MSVC 2020-01-14 09:23:02 +05:30
kms kmssink: Do not source using padded width/height 2020-09-18 16:26:23 +00:00
magicleap mlaudiosink: Fix crash when stopping pipeline 2019-12-06 15:29:29 +00:00
mediafoundation mfvideosrc: Set timestamp on buffer when it's captured 2020-09-10 10:21:00 +00:00
msdk msdk: call vaExportSurfaceHandle() to get DMABuf FD 2020-09-29 02:06:02 +00:00
nvcodec gst: Update for gst_video_transfer_function_*() function renaming 2020-09-07 12:14:47 +03:00
opensles opensles: Remove hard-coded buffer-/latency-time values 2020-05-16 19:23:06 +00:00
shm Don't pass default GLib marshallers for signals 2019-11-06 14:27:46 +00:00
tinyalsa Remove autotools build system 2019-10-14 13:54:27 +01:00
uvch264 plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
v4l2codecs v4l2slh264dec: Minor cleanup 2020-09-10 15:21:57 +00:00
va va: simplify VPP detection 2020-09-30 10:49:39 +02:00
wasapi wasapisrc: Make sure that wasapisrc produces data in loopback mode 2020-09-30 12:57:34 +00:00
wasapi2 wasapi2, mfvideosrc: Update "dispatcher" property to be only writable 2020-07-31 21:50:16 +09:00
winks documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
winscreencap plugins: Use g_win32_error_message for HRESULT to string conversion 2020-07-18 11:05:52 +09:00
meson.build va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00