Commit graph

45 commits

Author SHA1 Message Date
Julien Wadel
8a8fc16fe0 - Fix device position reference: AudioClock (best precision, based on hardware capability) > Buffer position (less reliable) > manual counting (in case of error) 2026-05-28 16:20:06 +02:00
Julien Wadel
1ff0f6927e MSMFoundationCapUwp: Add error code for InitializeAsync. Prefix hexa codes with 0x in logs. 2026-05-13 09:16:58 +00:00
Julien Wadel
10b03da206 Fix skew on timestamp error: If timestamp cannot be retrieved from API, manual count timestamp for ticker synchronizer. 2025-03-18 10:36:07 +01:00
Julien Wadel
264f8767b0 Wasapi: System notification listener to detect changing devices (Desktop only).
- Notify MSFilter on audio route changed if current audio unit has been deactivated.
- Let alive default filter to monitor changes on default devices. This way, client can run the filter without having a connected device.
- Stabilize devices that don't use the correct frame size on first initialization (forced to 16bits from liblinphone).
- Fix memory leak on Wasapi destruction.
- Update licence to GPL3.
- Clean macros and put them in header.
- Add SystemNotifier class and monitor devices changes.
- Clean memory when no audio endpoint has been found.
- Clang format.
- Refactoring of duplicate codes (activate/deactivate).
2025-02-18 11:38:03 +01:00
Simon Morlat
4f9faf1268 Fix an issue where wasapi failed to capture/playback just because the IID_ISimpleAudioVolume interface failed to initialize - which is not a sufficient reason to abort the capture/playback initialisation. 2024-05-03 14:34:43 +02:00
Julien Wadel
d198ffb4bb Fix UWP build 2023-08-22 11:11:25 +02:00
Julien Wadel
2b529155bb clang-format 2023-08-11 11:19:42 +02:00
Julien Wadel
f4c845be69 Introduce the "Default Device" that follow Windows defaults.
Use device format constraints on channels and rates.
Allow to change channels and rates in realtime.
Add a way to get supported format on first initialization, in order to have a right resampler when plumbing graph.
2023-08-11 11:19:02 +02:00
Julien Wadel
dbd556e78b Add automatic routing stream feature. 2023-08-04 16:29:02 +02:00
Julien Wadel
98826173ba Fix crash on logging error 2023-08-02 14:25:31 +02:00
Julien Wadel
02fd13480b Return exactly what channel the device is using. 2023-07-03 10:29:21 +02:00
Julien Wadel
b7180069d3 Display what card is used in logs. 2022-09-17 15:49:14 +02:00
Julien Wadel
8f4721468f - Add a function to disabling audio enhancements.
- Use options to get human hearing quality.
- Factorize audio format.
- Fix variables that weren't updated in case of different audio format.
- Do not use MixFormat without having set fix parameters (16bits/PCM).
- Fix channel mask.
- Reset Audio Client in case of error.
2022-03-31 17:03:24 +02:00
Julien Wadel
bcf46982ef Add a memory report for wasapi in case of an out of memory error. 2022-03-31 16:58:42 +02:00
Julien Wadel
f7214afca7 - Remove useless error on wasapi when trying to change unchanged values.
- Fix debug feedback
- Fix uninitialized frame count that could lead to have negative buffer.
2022-03-31 16:53:13 +02:00
Julien Wadel
74e720f1e0 - Fix deadlock on stopping Filter : ticker was still linked to Filter
- Add a fallback on audio format
2021-02-09 22:33:21 +01:00
Julien Wadel
cf14d5ad72 Remove CoCreateInstance switch 2020-07-17 20:14:23 +02:00
Julien Wadel
29dba91aad Update to fit with Microsoft Store configuration 2020-06-05 11:20:15 +02:00
Julien Wadel
21f3f3ae9c Use selected block size 2020-04-09 12:56:15 +02:00
Julien Wadel
2e8b7e6ce5 - Free memory when not needed
- Ask more space to AudioRenderClient to be allow to write data on it without messing memory
2020-04-09 12:41:23 +02:00
Julien Wadel
ff6ada82c2 Use wBitsPerSample to compute frame size 2020-04-08 23:35:30 +02:00
Simon Morlat
b42e5b5123 Attempt to workaround wasapi failures, when the device is open/close
within a short timeframe.
2020-02-25 13:54:04 +01:00
François Grisez
fd72637d12 Use 'device position' to update the MSTickerSynchronizer 2019-07-16 10:59:28 +02:00
Ghislain MARY
7d03077f7b Fix build for Windows Universal. 2017-07-06 15:00:54 +02:00
Ghislain MARY
f8a65e79ec Import changes made to the code while it was located in mediastreamer2. 2017-07-05 13:55:00 +02:00
Gautier Pelloux-Prayer
ddec952e94 license: update FSF address 2016-07-27 11:57:07 +02:00
Sandrine Avakian
a12646b4ea Fixing issue with call quality on capture side on
widows.
Adding a while loop in MSWASAPIReader::feed to get all
buffers available.
2016-01-08 15:48:18 +01:00
Ghislain MARY
ba8c0af752 Do not consider the AudioClient already being initialized as an error. 2015-10-28 14:07:44 +01:00
François Grisez
057b3d6083 Implementation of volume gain getter/setter 2015-08-05 15:47:56 +02:00
Ghislain MARY
e5a370fc7c Improve sound card detection and used specified sound card on Windows 10. 2015-07-27 15:29:12 +02:00
Ghislain MARY
9294f0b8e8 Fix uninitialization of filters on Windows 10. 2015-07-03 14:23:53 +02:00
Ghislain MARY
cdea038b59 Fix some compilation issues. 2015-07-03 09:31:44 +02:00
Ghislain MARY
5711e7ee75 Add Visual Studio project for Windows 10. 2015-07-02 17:16:51 +02:00
Ghislain MARY
2ff1a8414b Fix build with Visual Studio 2008. 2015-03-17 10:01:13 +01:00
Ghislain MARY
551ecc4d73 Fix build on systems prior to Windows 8. 2015-03-16 17:15:20 +01:00
Ghislain MARY
f363e65d52 Fix build with old versions of Visual Studio that do not define WINAPI_FAMILY_PARTITION. 2015-03-16 14:33:33 +01:00
Ghislain MARY
508c5de17d Fix memory leaks + Call CoInitialize so that device enumeration works. 2015-03-13 16:55:59 +01:00
Ghislain MARY
305543878e Allow build of WASAPI plugin for Windows desktop. 2015-03-12 14:56:46 +01:00
Ghislain MARY
f9520cda04 Improve error logs. 2014-10-23 17:35:53 +02:00
Ghislain MARY
8039a5db3c Use the IAudioClient2 interface instead of IAudioClient and set the Communications category for the audio session. 2013-03-25 16:54:38 +01:00
Ghislain MARY
fc64ca859e Add missing return. 2013-03-22 10:06:17 +01:00
Ghislain MARY
fee5195483 Always initialize frame rate and number of channels on error during initialization. 2013-03-20 13:43:49 +01:00
Ghislain MARY
2f6da36ba4 Decrease buffer size. 2013-03-08 11:03:42 +01:00
Ghislain MARY
0d9f089610 Prevent two instances of the reader or of the writer to conflict. 2013-03-08 10:50:53 +01:00
Ghislain MARY
990d5b924f Implement audio capture for the Windows Audio Session sound card. 2013-03-07 18:01:52 +01:00