Commit graph

326 commits

Author SHA1 Message Date
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
Jacques Heunis 17dc688ddc Move the E_NOTFOUND define out of wasapi.h 2016-06-04 23:09:11 +02:00
Jacques Heunis 4b95b79f27 WASAPI: Correctly handle no input or output devices instead of crashing. 2016-06-04 14:38:11 +02:00
Andrew Kelley cdc4e2fd2a handle libm with MSVC 2016-05-25 15:15:06 -07:00
Andrew Kelley 06c075e1b2 Merge pull request #76 from michaelmaltese/patch-3
Use command line switches that MSVC understands
2016-05-25 15:04:12 -07:00
Michael Maltese 2a348cbf90 Use command line switches that MSVC understands 2016-05-24 19:21:49 -07:00
Andrew Kelley 40a4d8dfc0 Merge pull request #75 from michaelmaltese/patch-2
WASAPI: define WIN32_LEAN_AND_MEAN in source as well as header
2016-05-24 17:54:12 -07:00
Michael Maltese 93e7706978 WASAPI: define WIN32_LEAN_AND_MEAN in source as well as header
When compiling with Visual Studio (#49), prevents this error:

```
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um\commdlg.h(929): error C2373: 'IPrintDialogCallbackVtbl': redefinition; different type modifiers
1>  C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um\commdlg.h(929): note: see declaration of 'IPrintDialogCallbackVtbl'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um\commdlg.h(961): error C2373: 'IPrintDialogServicesVtbl': redefinition; different type modifiers
1>  C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um\commdlg.h(961): note: see declaration of 'IPrintDialogServicesVtbl'
```
2016-05-24 17:43:55 -07:00
Andrew Kelley a8209b6ffd Merge pull request #74 from michaelmaltese/patch-1
WASAPI: use `check_include_file` instead of 'find_path` in CMake
2016-05-24 17:36:21 -07:00
Michael Maltese e1c55d807b WASAPI: use check_include_file instead of 'find_path` in CMake
# Current issue:

When attempting to compile under MSVC (#49), CMake can't find the WASAPI headers. I'm running Windows 10, Visual Studio Community 2015, and the latest SDK.

# Proposed fix:

Use `check_include_file` instead of `find_path`, which seems more semantically correct anyways.
2016-05-24 17:31:11 -07:00
Andrew Kelley 9c90c0b2ed WASAPI: default input software latency when none detected
See #73
2016-05-01 13:04:29 -07:00
Andrew Kelley f6d3ea9475 Merge pull request #72 from ideoforms/master
Travis: Add travis_retry to make apt-get commands persistent
2016-05-01 12:38:59 -07:00
Daniel Jones 98d78f143b Travis: Add travis_retry to make apt-get commands persistent 2016-04-27 11:21:37 +01:00
Andrew Kelley 45d5691254 Merge pull request #71 from michaelmaltese/feature-more-coreaudio-formats
coreaudio: support more formats: S16LE, S32LE, and Float64LE
2016-04-26 16:46:31 -07:00
Michael Maltese 8742fe215d coreaudio: support more formats: S16LE, S32LE, and Float64LE 2016-04-26 16:24:37 -07:00
Andrew Kelley a260961fcb Merge pull request #70 from michaelmaltese/bugfix-57-truncate-number-of-soundflower-channels
coreaudio: obey MAX_CHANNELS when creating devices
2016-04-25 17:02:18 -07:00
Michael Maltese 99f5b4e4b6 coreaudio: obey MAX_CHANNELS when creating devices
fixes #57, which was caused by a buffer overflow with devices with more
than MAX_CHANNELS channels
2016-04-25 15:16:12 -07:00
Andrew Kelley 2e064bfca8 Merge pull request #69 from ideoforms/master
Add Travis CI configuration
2016-04-23 12:04:35 -07:00
Daniel Jones 93799f8eec Add Travis CI configuration 2016-04-23 19:54:09 +01:00
Andrew Kelley 1782d0e993 add -Wno-missing-braces
See #60
2016-04-23 08:42:27 -07:00
Andrew Kelley 658c4f60c5 fix compile error with use of ATOMIC_FLAG_INIT
closes #60
2016-04-22 10:33:44 -07:00
Andrew Kelley e8b908243d add missing include directive
fixes compilation when no backends are available. closes #67
2016-04-22 10:24:32 -07:00
Andrew Kelley ca0ebfda5c os: fix not cleaning up fd resource when mmap fails 2016-02-17 18:05:08 -07:00
Andrew Kelley 1fe64770bd docs: fix typo 2016-02-16 04:45:37 -07:00
Andrew Kelley 85d6d9d254 Release 1.1.0 2016-01-31 12:02:41 -07:00
Andrew Kelley c2836e494b alsa: refactor for readability 2016-01-26 20:18:39 -07:00
Andrew Kelley 376ba4a4e6 Merge pull request #56 from clehner/master
Handle ALSA devices with null description
2016-01-26 20:15:29 -07:00
Charles Lehner cdadcee7ed Handle ALSA devices with null description 2016-01-26 21:42:44 -05:00
Andrew Kelley 6b8c306ea1 Merge pull request #50 from hotgloupi/master
[RDY] Compile in C++ mode using the <atomic> header
2016-01-08 19:04:32 -07:00
Raphaël Londeix a205359a08 Fix missing none backend initializer 2016-01-06 10:23:33 +01:00
Raphaël Londeix ce60176e99 Go back to statically initialized arrays 2016-01-06 09:27:22 +01:00
Andrew Kelley aef8d1646d sio_list_devices example: fix cli argument typo 2016-01-05 15:18:11 -07:00
Raphaël Londeix 45cd6a7af2 Fix WASAPI implementation when building in C++ mode. 2015-12-07 11:28:06 +01:00
Raphaël Londeix 699b00c427 Prevent WASAPI GUID from being re-defined in all compilation units. 2015-12-07 11:28:06 +01:00
Raphaël Londeix 8587a22b21 Fix compiler attributes for MSVC 2015-12-07 11:28:06 +01:00
Raphaël Londeix d1eb1d8042 Do not use C99 array initialization syntax. 2015-12-07 11:28:06 +01:00
Raphaël Londeix aa3749a062 ChannelId and ChannelLayoutId enumeration have a max value 2015-12-07 11:28:06 +01:00
Raphaël Londeix 2e7994b0b3 Do not use exports attributes when build libsoundio as a static library 2015-12-07 11:28:06 +01:00
Raphaël Londeix 406ffa668c Wrap atomic_flag usage behind SoundIo macros and types
As done for other atomic types, we hide atomic_flag real type in
    order to use both the C and the C++ standard libraries.
2015-12-05 13:33:47 +00:00
Raphaël Londeix af98891b4f Use a different set of macros and types for atomics when compiled in C++
Previously, the `atomics.h` header relied solely on the presence of
    the C11 specific header `stdatomic.h`. Now, when compiled in C++,
    we use the `std::atomic` type family provided by the STL in C++11.
2015-12-05 13:33:47 +00:00
Raphaël Londeix ff1af0e4cb ALLOCATE_* family macros cast to the destination type
They were previously evaluated as an expression of `void *` type.
    This allows a C++ compiler to assign it a variable of the
    destination type.
2015-12-05 13:33:47 +00:00
Andrew Kelley ce42b89da3 no longer ship config.h header
Instead provide these functions:

 * soundio_version_string
 * soundio_version_major
 * soundio_version_minor
 * soundio_version_patch
2015-11-23 13:51:25 -07:00
Andrew Kelley 72fde44073 PulseAudio: fix incorrect outstream software_latency
Previously, when using PulseAudio, unintended integer division
caused SoundIoOutStream::software_latency to be incorrect.
2015-11-20 23:51:16 -07:00
Andrew Kelley 180ed94e2f docs: fix typo 2015-11-20 23:35:02 -07:00
Andrew Kelley e9b67a4f9f docs: add note about soundio_outstream_start calling write_callback 2015-11-20 21:58:35 -07:00
Andrew Kelley ad6ba6bf34 CoreAudio: drop support for MacOS 10.9
closes #19
2015-11-14 22:25:14 -07:00
Andrew Kelley f61acfd953 ALSA: fix potential cleanup deadlock
The main ALSA poll now includes another file descriptor which we
write to when cleaning up, to ensure that the poll terminates
when soundio_outstream_destroy is invoked.

closes #36
2015-11-14 22:16:29 -07:00