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
Andrew Kelley
8f1e1b8752
ALSA: let alsa lib choose period settings
...
Closes #46
2015-11-14 21:48:58 -07:00
Andrew Kelley
d168a7d192
ALSA: better device detection
...
* Don't suppress sysdefault.
* If default and sysdefault are missing, use the first device as
the default device.
* In sio_record example, don't segfault when device not found or
probe error.
* Workaround for Raspberry Pi driver that incorrectly reports
itself as Output when it is actually Input.
See #44 .
2015-11-10 04:23:27 -07:00
Andrew Kelley
ee7c0d3e11
convert source code to pure C
...
List<T> is now a really ugly macro.
Added a workaround for jack.h not putting `void` in function
prototypes for functions that take no arguments. I made upstream
pull requests to jack1 and jack2 but I don't have high hopes
about them getting merged.
I removed the lock-free atomic asserts. clang reports
non-lock-free atomics when in fact it does have lock-free
atomics. I inspected the generated code for gcc and clang
for fetch_add, load, and store, on x86_64 and armhf, and
it's all lock free.
Closes #45 .
2015-11-10 02:24:18 -07:00
Andrew Kelley
baba8064e1
Merge pull request #42 from avitex/patch-1
...
Fixed error message from no input found
2015-11-05 00:25:52 -07:00
James Dyson
4cf76cb228
Fixed error message from no input found
2015-11-05 18:23:27 +11:00
Andrew Kelley
2633b1bd60
PulseAudio: pass the latency test
2015-11-01 12:39:21 -07:00
Andrew Kelley
8e30053962
JACK: delete broken pause implementation
...
Previously, calling soundio_outstream_pause or soundio_instream_pause
during the write_callback or read_callback would cause a deadlock. Now,
attempting to pause always results in SoundIoErrorBackendIncompatible.
Closes #39
2015-10-28 16:01:08 -07:00
Andrew Kelley
a37b8cf847
update tests to catch pausing during write_callback
2015-10-28 15:42:52 -07:00
Andrew Kelley
c09a64c64f
README: re-order feature list
2015-10-27 15:39:01 -07:00
Andrew Kelley
581c5a487a
Release 1.0.3
2015-10-20 19:57:51 -07:00
Andrew Kelley
2f14aa569e
ALSA: use period size to calculate buffer size
...
determining the buffer size before the period size sometimes results
in EINVAL.
closes #33
2015-10-13 00:47:18 -07:00
Andrew Kelley
b202f6746b
underflow test: add --device and --raw params
2015-10-13 00:20:56 -07:00
Andrew Kelley
db0e3d136c
fix double clean up corruption when opening stream fails
...
affects ALSA, CoreAudio, JACK, WASAPI, and Dummy.
2015-10-08 17:10:21 -07:00
Andrew Kelley
05a4280e52
Merge pull request #32 from aoeu/master
...
tests: include limits lib to fix build on debian
2015-10-07 22:46:50 -07:00
Travis
7cff66fb83
tests: include limits lib to fix build on debian
2015-10-07 23:05:48 -04:00
Andrew Kelley
277bb3106b
dummy: fix deadlock when pause called from write_callback
2015-10-06 19:36:57 -07:00
Andrew Kelley
a3c4f85489
ALSA: fix deadlock under some circumstances
...
If the write_callback came upon an error during the prepare
phase, and never wrote any frames to the hardware buffer,
and another thread tried to soundio_outstream_destroy, this
would cause a deadlock.
This is now fixed.
2015-10-06 18:50:56 -07:00
Andrew Kelley
9c1a6d4930
README: put earliest linux version instead of alsa version
2015-10-06 14:01:07 -07:00
Andrew Kelley
75f454a607
README: add supported operating systems and versions
2015-10-06 13:39:57 -07:00
Andrew Kelley
8bba0de3c1
add --latency and --sample-rate to sine example
2015-09-28 18:12:17 -07:00
Andrew Kelley
0a0715eb72
architecture independent header files
...
Do endian detection in the header file instead of cmake.
2015-09-24 09:26:17 -07:00
Andrew Kelley
6a75dda407
Release 1.0.2
2015-09-24 08:11:49 -07:00
Andrew Kelley
be6e654098
fix and add test for soundio_device_nearest_sample_rate
2015-09-18 22:08:36 -07:00
Andrew Kelley
a9e455aec8
docs: cleanup
2015-09-18 21:20:53 -07:00
Andrew Kelley
65e1d8bdd1
docs: fix typo
2015-09-18 21:17:16 -07:00
Andrew Kelley
71e31b88fe
os: fix crash when creating non high priority thread fails
2015-09-17 15:04:34 -07:00
Andrew Kelley
dbed33abd2
os: remove superfluous condition on init
...
remove superfluous #include math.h
2015-09-17 13:55:47 -07:00
Andrew Kelley
f52080a1fd
fix mirrored memory not working on linux
...
add mirrored memory unit test
2015-09-14 14:56:13 -07:00