Commit graph

385 commits

Author SHA1 Message Date
voidumbrella 8e428c3f9f Detect unsupported sample formats for PulseAudio 2023-03-12 16:41:25 +01:00
Alex Man 715dc6d199 Fix coreaudio module not detecting changes of the default audio device. 2023-03-12 16:41:25 +01:00
Cameron Gutman f904e2f149 Fix endianness detection on Windows ARM platforms 2023-03-12 16:41:25 +01:00
Mary 67598f63fc Fix redefinition errors 2023-03-12 16:18:18 +01:00
Mason Remaley a24148e15f
Always use WASAPI's callback mode (#264)
* Hardcodes wasapi GUIDs when compiling as C

* Uses the user requested buffer size on wasapi

Windows appears to automatically adjust the timer period when you
use a small buffer, meaning that using a fraction of a large buffer
is unreliable unless you call timeBeginPeriod. Seems simpler to just
request the desired size directly.

I'll do some further investigations into this, if it seems like the
right change to make I'll update the docs as well if needed.

* Switches to event driven callbacks on wasapi

* Removes some commented out code, moves class variable to local
2022-10-12 09:32:43 -04:00
Mason Remaley 8ab3606912 Hardcodes wasapi GUIDs when compiling as C 2022-03-05 02:55:46 -05:00
Peter Bech a46b0f21c3
Fixed memory leak (#222)
* Fixed memory leak

* Update src/wasapi.c

Co-authored-by: TimTim <i@timtim.hk>

* Update src/wasapi.c

Co-authored-by: TimTim <i@timtim.hk>

Co-authored-by: TimTim <i@timtim.hk>
2020-07-31 03:02:07 -04:00
Atsushi Eno b810bf2e9c Adjust PulseAudio latency.
This should fix https://github.com/andrewrk/libsoundio/issues/149
2019-10-30 21:43:37 -04:00
Andrew Kelley dc4f843390
Release 2.0.0 2019-02-20 08:25:44 -05:00
Crunkle e96dcd554b Add missing WASAPI macros 2019-02-20 08:12:15 -05:00
Cameron Gutman fb23636c95 Fix WASAPI resampling when the sample rate significantly differs from the mix format 2018-11-27 19:35:43 -05:00
Antonin Décimo 03d33a8419 Fix #193 alsa backend not handling SND_PCM_STATE_PRIVATE1
This is a private value of alsa, ignore it.
2018-11-27 19:33:58 -05:00
Cameron Gutman e0f0f6a7a2 Fix inability to open CoreAudio device if it contains non-ASCII characters 2018-10-13 13:11:53 -04:00
Ricardo Subtil 2bb21ad417 Small typo on docs
On line 242, ´SoundIoFormatU16BE´ is incorrectly documented as an *Unsigned 16 bit Little Endian*; looking at the naming and structure, this is likely an *Unsigned 16 bit Big Endian*.
2018-10-04 00:03:45 -04:00
Cameron Gutman 5ae35e2722 Fix invalid memory access in soundio_sort_channel_layouts() 2018-10-04 00:03:26 -04:00
Andrew Kelley 7c53dabc6e
Merge pull request #178 from capr/master
typo? (failed to compile with mingw64 with std=c11)
2018-03-14 13:23:06 -06:00
Cosmin Apreutesei 7586115f88
typo 2017-12-26 15:11:25 +02:00
Andrew Kelley fc96baf813 Merge pull request #172 from GoaLitiuM/master
Fix integer overflow in ring buffer
2017-10-25 02:41:18 -04:00
GoaLitiuM 2975be9588 Fix integer overflow in ring buffer 2017-10-25 06:11:45 +03:00
Andrew Kelley b5e37d1536 Merge pull request #170 from GoaLitiuM/master
Add missing GUID for ISimpleAudioVolume
2017-10-23 15:22:00 -04:00
GoaLitiuM f877187b27 Add missing GUID for ISimpleAudioVolume 2017-10-23 22:11:52 +03:00
Andrew Kelley 121e86a163 Merge pull request #169 from GoaLitiuM/master
Fix WASAPI related compile errors
2017-10-23 10:52:23 -04:00
GoaLitiuM 9c70b2e624 Fix WASAPI related compile errors 2017-10-21 16:11:28 +03:00
Andrew Kelley 1778b8d10f Merge pull request #164 from tokyovigilante/master
Add hardware volume control support to Core Audio and WASAPI backends
2017-09-11 10:36:02 -04:00
Ryan Walklin fe16567e37 Add hardware volume control support to OS X and WASAPI backends 2017-09-11 11:18:23 +10:00
Andrew Kelley 90a4a2e4b7 Merge pull request #155 from Slin/master
Fixed WASAPI input stream failing and removed /WX compile flag for MSVC.
2017-09-06 20:16:44 -04:00
Andrew Kelley 470c9ed44b Merge pull request #162 from tokyovigilante/master
Fix 24-bit playback for macOS
2017-09-06 20:15:27 -04:00
Ryan Walklin de66b3504a Fix 24-bit playback for macOS 2017-09-07 09:54:41 +10:00
Nils Daumann e3973967d2 Fixed WASAPI input stream releasing a different buffer size than it got.
This caused a SoundIOErrorStreaming error and all following reads would fail. It took a while in the microphone sample, but after ~30 seconds it would always fail for me.
2017-05-24 22:57:35 +02:00
Nils Daumann fde62658d8 Removed /WX compile option for MSVC builds. 2017-05-24 22:46:55 +02:00
Andrew Kelley 85103e43e4 Merge pull request #152 from ul/master
fix microphone example fill with zeros case
2017-03-27 14:21:04 -04:00
Ruslan Prokopchuk ae7fc0177b fix microphone example fill with zeros case
Usually when microphone example is run you never hit buffer underflow and "fill with zeros" branch is never executed. But when it's executed it fails with "invalid value" because of checks performed on frame_count. This platform-independent check 8094dc5249/src/soundio.c (L447) sometimes passed because unitialized local frame_count have arbitrary value, but this CoreAudio one 8094dc5249/src/coreaudio.c (L1078) is not passed, and "fill with zeros" scenario always fails on MacOS.
2017-03-27 10:39:38 +03:00
Andrew Kelley 8094dc5249 update sio_record usage text
closes #135
2016-12-23 18:14:58 -05:00
Andrew Kelley fec857366e Merge pull request #143 from inolen/master
build: fix detection of unsuitable JACK library
2016-12-23 15:40:33 -05:00
Anthony Pesch 8af2379cf7 build: fix detection of unsuitable JACK library 2016-12-22 19:43:14 -08:00
Andrew Kelley afe6024a85 Merge pull request #124 from ligfx/libsoundiobinarydir
CMake: CMAKE_BINARY_DIR -> libsoundio_BINARY_DIR
2016-10-31 11:33:36 -04:00
Michael Maltese c04f74c1d9 CMake: CMAKE_BINARY_DIR -> libsoundio_BINARY_DIR
- Consistent with usage of `libsoundio_SOURCE_DIR`
- Makes it easier to include inside other projects.

I haven't encountered any actual issues with the way it is now, but it
was misleading while I was debugging a different issue related to being
used as a subproject.
2016-10-26 23:48:51 -07:00
Andrew Kelley 25a35c3dab build: examples and tests work when building statically
closes #106
2016-10-23 16:49:26 -04:00
Andrew Kelley 9557eb7b60 docs: move ring buffer docs to work around doxygen limitation
closes #113
2016-10-23 16:38:57 -04:00
Andrew Kelley 6703021eba sio_sine: add phase wrap around
closes #110

Thanks to @iskunk for the fix.
2016-10-23 16:12:56 -04:00
Andrew Kelley 323fb1aa27 Merge pull request #104 from jacquesh/wasapi-device-error-handling
WASAPI device error handling
2016-09-17 12:39:00 -04:00
Jacques Heunis f9444b089b Fix incorrectly returning the same error in multiple error cases 2016-09-16 22:46:14 +02:00
Jacques Heunis b88355eaaf Return more descriptive/exact errors when available in WASAPI. 2016-09-16 21:47:00 +02:00
Jacques Heunis 61c04c3730 Fix WASAPI disconnecting if just one device cannot be opened. 2016-09-16 10:22:54 +02:00
Jacques Heunis a8201986a0 Return slightly more descriptive soundio errors when RefreshDevices fails for WASAPI. 2016-09-16 10:12:35 +02:00
Andrew Kelley 8583897d72 Merge pull request #101 from ruurdadema/master
Fixed issue with CoreAudio stereo stream being mono
2016-08-20 12:07:47 -04:00
Ruurd Adema 8fbabc4dfc Fixed issue with CoreAudio stereo stream being mono 2016-08-19 21:18:06 +02:00
Andrew Kelley 5ffdbf1ce9 Merge pull request #93 from 0joshuaolson1/patch-2
Remove duplicate documented SoundIoError
2016-07-24 19:48:29 -04:00
Joshua Olson bba007f0a7 Remove duplicate documented SoundIoError 2016-07-23 19:15:26 -06:00
Andrew Kelley 7293a58feb Merge pull request #91 from Naftoreiclag/master
WASAPI: Remove useless statement in CMake module
2016-07-21 09:54:23 -04:00