derrod
ebd6eec7f6
win-wasapi: Make reroute target a weak reference
2023-12-13 22:10:53 +01:00
Norihiro Kamae
70aa1e903f
win-wasapi: Initialize a pointer reroute_target
...
The pointer `reroute_target` was never initialized if the reroute was
not set but read during processing audio.
2023-12-13 16:15:09 +01:00
derrod
48f9969df3
win-wasapi: Add procedure to reroute audio output
2023-12-12 00:05:47 +01:00
Translation Updater
f674d17168
Update translations from Crowdin
2023-12-05 22:04:31 +00:00
prgmitchell
0f498133a4
win-wasapi: Ignore timestamp errors
...
Only log packets with timestamp errors rather than resetting the device.
2023-12-04 02:25:43 -06:00
tt2468
1d5d4b29e7
win-wasapi: Handle changes to the default monitoring device
...
Splits the WASAPINotify class out of win-wasapi.cpp and makes it a
shared object in the plugin, then also creates a callback to reset
audio monitoring if the default output device changes.
2023-11-07 01:32:12 -06:00
Ryan Foster
ed2ade250f
Revert "win-wasapi: Remove 'BETA' from Application Audio Capture name"
...
This reverts commit 36ea03dfa6
.
2023-10-28 16:41:47 -04:00
prgmitchell
d017cb6718
win-wasapi: Log source name on initialization
...
Log the source name when a WASAPI device is initialized.
2023-10-27 14:37:46 -04:00
Translation Updater
0d450a34a0
Update translations from Crowdin
2023-10-10 13:34:41 +00:00
derrod
36ea03dfa6
win-wasapi: Remove 'BETA' from Application Audio Capture name
2023-10-08 10:49:43 -06:00
derrod
c2ec1fb49e
win-wasapi: Handle flags set by GetBuffer
2023-10-08 02:00:58 +02:00
derrod
82f51f24ea
win-wasapi: Use provided timestamp for application audio capture
2023-10-08 02:00:58 +02:00
Lain
107416193c
win-wasapi: Fix arithmetic for WAVEFORMATEX::cbSize
...
This arithmetic used the incorrect size for WAVEFORMATEX::cbSize, which
is supposed to be sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX).
2023-09-15 10:14:10 -07:00
Translation Updater
ecf914dd67
Update translations from Crowdin
2023-08-13 14:09:15 +00:00
Penwywern
182468b373
win-wasapi: Add hook signal and proc for process output capture
2023-07-30 14:06:53 -07:00
Chensiyy
54568cb3bd
win-wasapi: Fix PROPVARIANT variable has not be freed
2023-07-15 16:38:24 -07:00
PatTheMav
db895092ed
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-06-29 10:11:32 -04:00
Translation Updater
7c5560bf1b
Update translations from Crowdin
2023-03-27 13:39:03 +00:00
PatTheMav
349372b3b3
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
Translation Updater
783bd52197
Update translations from Crowdin
2023-01-08 04:10:37 +00:00
Translation Updater
f065f20ce1
Update translations from Crowdin
2022-10-25 22:32:14 +00:00
jpark37
39183c76b5
win-wasapi: Fix Stop hang
...
Fix hang when audio capture is active in the background and stopped by
either closing OBS, or switching scene collections.
2022-10-01 10:36:08 -07:00
jpark37
cbb910a99c
win-wasapi: Don't reconnect when inactive
...
Unnecessary reconnect attempts may cause noticeable hitches.
2022-10-01 07:06:56 -07:00
Translation Updater
cc2d0791ca
Update translations from Crowdin
2022-08-30 09:00:44 +00:00
Translation Updater
4aaa07f93d
Update translations from Crowdin
2022-08-17 04:22:50 +00:00
shiina424
29574b7fd2
win-wasapi: Add missing locale text
2022-08-06 16:58:16 -07:00
jpark37
f7b58f6f6e
win-wasapi: Don't log if reconnect fails
2022-07-31 21:45:37 -07:00
Translation Updater
81734be37c
Update translations from Crowdin
2022-07-31 23:40:53 +00:00
jpark37
769a29bd1a
win-wasapi: Add support for capturing a process
...
Use new process output API, and retrofit existing WASAPI abstractions.
Marked as "(BETA)" until we figure out the crackling at 60 minutes.
2022-07-23 17:41:34 -07:00
Richard Stanway
c7e83518e1
win-wasapi: Log source name when showing device errors
...
Sometimes users have a forgotten source pointing to an invalid device,
which is very difficult to locate without us showing the source name.
2022-05-17 02:47:08 -07:00
PatTheMav
49e9d49943
plugins: Update CMakeLists.txt for included plugins
2022-03-16 23:11:08 +01:00
jpark37
2a991a4fa0
win-waspai: Tighten version check for RTWQ
...
Getting reports that it isn't working for 1607 and below.
If they continue, we should probably just pull the RTWQ path.
2022-03-13 06:07:39 -07:00
Richard Stanway
702df3cd8d
win-wasapi: Fall back to old code if RTWQ fails
...
Fixes a crash if RTWQ is unavailable, e.g. if the mmcss service is not
running.
2022-02-24 19:28:19 -08:00
Matt Gajownik
02f80a1013
win-wasapi: Only enable work queue on Windows 10+
...
Fixes #5967
2022-02-19 15:37:50 -08:00
Translation Updater
ac8dbf67be
Update translations from Crowdin
2022-02-06 02:24:08 +00:00
Translation Updater
261345f9ef
Update translations from Crowdin
2021-12-12 02:38:59 +00:00
jpark37
c8d0597358
win-wasapi: Log settings
2021-10-10 19:53:27 -07:00
jpark37
ab7d370ada
win-wasapi Improve default device handling
...
Remove lastNotifyTime throttle. Could ignore last device notification.
Will bring back if necessary, but seemed like overkill.
Make isInputDevice const for safety.
Make isDefaultDevice atomic. Allows it to be accessed simultaneously
from settings and notification callback threads. Race between setting
change in OBS and Windows is not a problem, a signal will be sent after
both to consolidate. Worst that should happen is a redundant reconnect
cycle.
Only read/write default_id from notification callback for thread safety.
2021-10-10 19:53:27 -07:00
jpark37
24d82062ae
win-wasapi: Schedule work on real-time work queue
...
MS claims it can schedule audio better if we use their API.
2021-10-10 19:53:27 -07:00
jpark37
d1230c292e
win-wasapi: Register capture thread with MMCSS
...
Ensure audio gets more priority to help prevent glitching.
2021-10-10 19:53:27 -07:00
jpark37
a995c305b7
win-wasapi: Remove bools and persist threads
...
This simplifies synchronization, and fixes several races.
2021-10-10 19:53:27 -07:00
jpark37
a504691af8
win-wasapi: Clean reset on initialization failure
...
Do not store IAudioClient and IAudioCaptureClient onto the source object
until initialization is almost complete, right before the capture thread
is created. We don't to retain objects from failed attempts. Also clear
them when stopping.
2021-10-10 19:53:26 -07:00
jpark37
b166b0488b
win-wasapi: Remove unnecessary inline tags
2021-10-10 19:53:26 -07:00
jpark37
49aa9074f8
win-wasapi: Remove undefined function InitName
2021-10-10 19:53:26 -07:00
jpark37
88164affae
win-wasapi: Rename InitRender to ClearBuffer
...
We no longer persist the render client.
2021-10-10 19:53:26 -07:00
jpark37
5a2e884d14
win-wasapi: Simplify sample rate logging
2021-10-10 19:53:26 -07:00
jpark37
4503c4fdac
win-wasapi: Remove persistent references
...
Only need IMMDevice and IAudioRenderClient during initialization.
2021-10-10 19:53:26 -07:00
jpark37
15f9d37aef
win-wasapi: Persist objects beyond Start/Stop
...
Initialize IMMNotificationClient and IMMDeviceEnumerator in constructor
to simplify cleanup and initializaiton. Both can survive a reset.
2021-10-10 19:53:26 -07:00
jpark37
12442c3e57
win-wasapi: Make InitDevice throw to log errors
2021-10-10 19:53:26 -07:00
jpark37
8f33e01b84
win-wasapi: Fix incorrect log strings
2021-10-10 19:53:26 -07:00