Nikita Chashchinskii
0f8babe8bd
Pass period instead of buffer to snd_pcm_sw_params_set_avail_min
...
* Also bump version from 0.4.2 to 0.4.3
2017-02-04 08:20:21 +03:00
jwestfall
7c03219451
alsa: set sw_params_set_avail_min based on get_params buffer size
...
snd_pcm_sw_params_set_avail_min was being hardcoded to 4096, which
seems to be problematic for lower sample rates. This update sets
the value to the buffer size as supplied by snd_pcm_get_params(),
which is what alsa own sample code does.
This should fix https://github.com/tomaka/cpal/issues/142
2017-01-23 16:10:44 -08:00
Pierre Krieger
c291ab13f1
Mark deprecated functions as deprecated
2016-11-16 08:32:02 +01:00
Pierre Krieger
a26a9f5337
Fix compilation on windows
2016-11-16 08:17:11 +01:00
Ronald Kinard
b44a2ab515
[osx] Implement play/pause for coreaudio
2016-10-18 01:20:40 -05:00
thiolliere
25bb025a9a
arc not necessary
2016-10-02 14:24:30 +02:00
thiolliere
5c86eec4f3
line not necessary
2016-10-02 14:21:33 +02:00
thiolliere
1b0c9f2c54
syntax: space after comma
2016-10-02 14:19:58 +02:00
thiolliere
f822631bc4
impl play and pause for ALSA
...
snd_pcm_pause could have been used but not all hardware implement it, so
I propose not to use it.
In this implementation:
there are two kind of scheduling: wait for resume signal and wait for
pcm to be available
if the stream is paused then it return notready and wait for resume
the event loop is different as it manages descriptors corresponding to
voices according to the nature of the scheduling.
there is still a FIXME: in voice.play the is signal is send even if
the event loop wasn't waiting for resume.
It doesn't seem to create any issue. But it happens when you write
voice.pause();voice.play();
2016-10-02 13:29:01 +02:00
mitchmindtree
f71a95cd0e
Do not lock inner twice. Fixes bug in osx futures 0.1.1 update.
2016-10-01 18:19:27 +10:00
Pierre Krieger
869af718a2
Try fix the OSX code with futures
2016-10-01 09:21:29 +02:00
thiolliere
e031025abe
update to futures 0.1.1: alsa wasapi
2016-10-01 00:44:22 +02:00
Boris-Chengbiao Zhou
70858ad2e5
Fix #126
2016-08-19 21:48:53 +02:00
Pierre Krieger
bf051dd16f
Add some documentation to the winapi implementation
2016-08-12 18:06:17 +02:00
Pierre Krieger
b1add0b12b
Fix most warnings
2016-08-12 17:57:06 +02:00
mitchmindtree
cc26897acd
Update coreaudio backend to new futures-rs oriented design.
...
This depends on the changes introduced in #121 .
Update to coreaudio 0.6.
2016-08-12 17:49:13 +10:00
Pierre Krieger
6060582aa0
Update the null implementation
2016-08-03 13:06:23 +02:00
Pierre Krieger
c2f89d8b2d
Update documentation
2016-08-03 13:06:23 +02:00
Pierre Krieger
0c915cac8f
Use a max buffer size in order to avoid problems
2016-08-03 10:31:02 +02:00
Pierre Krieger
7c587853ad
Make it work on Linux
2016-08-03 10:17:23 +02:00
Pierre Krieger
be8310da51
Draft for switching to futures
2016-08-02 18:19:03 +02:00
Jan Solanti
f717817c86
coreaudio: update to coreaudio-rs 0.5.0
2016-07-06 00:13:17 +03:00
Ronald Kinard
4d2767ee42
[osx] Correct implementation of get_pending_samples
2016-06-28 18:09:54 -05:00
Ronald Kinard
e9b8f46f73
[osx] Return correct Voice period.
2016-06-14 23:38:52 -05:00
Ronald Kinard
b2635a52c5
[osx] Add get_period to Voice
2016-06-01 01:28:59 -05:00
Pierre Krieger
752676c818
Be more relaxed with c_void
2016-04-25 13:33:12 +02:00
Pierre Krieger
c4bf6e91da
Fix the android build
2016-04-22 17:31:24 +02:00
Mathijs van de Nes
f3f194293a
Fix underflow detection for alsa
...
The old method always returned _RUNNING on some machines.
This new method seems to produce the expected behaviour.
Note: -32 is probably -EPIPE, but the appropriate constant was not
available at this time.
2016-02-28 17:01:13 +01:00
Nicolas Koch
606bcf9fa6
Fix underflow bug on linux
2016-01-28 21:27:09 +01:00
psych0d0g
7c3aab71a2
Add some sane error messages
2016-01-15 21:16:34 +01:00
tomaka
1603bc8423
Merge pull request #94 from Geal/coreaudio-fix
...
Coreaudio compilation fixes
2016-01-12 17:49:34 +01:00
Geoffroy Couprie
dd87dbc1d2
Fix compilation on OSX with the new API for coreaudio-rs
...
this builds upon the following pull request:
https://github.com/tomaka/cpal/pull/81
2016-01-12 17:06:14 +01:00
tomaka
b049e80ca3
Merge pull request #84 from tomaka/alsa-channels
...
Use correct ALSA channels
2015-12-15 17:49:42 +01:00
Peter Atashian
fc4e3ce823
Update winapi
...
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-11-09 17:52:43 -05:00
Mathijs van de Nes
951b7f5e65
Catch another 'device not found' error code
2015-10-13 12:22:07 +02:00
Pierre Krieger
55dbfa881e
Use correct ALSA channels
2015-09-27 13:27:00 +02:00
Pierre Krieger
c93ffcff6c
Add Voice::get_period()
2015-09-27 13:00:17 +02:00
Ronald Kinard
30e96aa15a
coreaudio: implementation cleanup
2015-09-26 23:04:17 -05:00
Ronald Kinard
1cdf5af808
coreaudio: Implement some missing functions.
...
underflow and get_pending_samples.
2015-09-24 16:24:12 -05:00
Ronald Kinard
53c5529b16
Return correct length of buffer, stub unimpl funcs
2015-09-24 13:19:42 -05:00
Ronald Kinard
fd50a113a1
Revert "coreaudio: Add support for U16/I16 PCM formats."
...
This reverts commit bdef4fb3fe
.
2015-09-24 12:54:54 -05:00
Ronald Kinard
bdef4fb3fe
coreaudio: Add support for U16/I16 PCM formats.
...
The conversion is done Rust-side instead of using AUHAL's
automatic conversion because I haven't gotten around generics
issues yet.
2015-09-23 23:19:29 -05:00
Ronald Kinard
54fb5b03cc
Set coreaudio sample rate to 44100.
...
This makes rodio demos work correctly!
2015-09-23 22:23:57 -05:00
Ronald Kinard
dbf9ae20da
Make coreaudio Voice Send/Sync.
2015-09-23 22:14:32 -05:00
Ronald Kinard
c841be235c
Restore CoreAudio support after API overhaul.
2015-09-23 22:02:28 -05:00
Pierre Krieger
6bd28231ec
Make sure that all writes succeed
2015-09-22 21:01:26 +02:00
Pierre Krieger
5fc346b34b
Make the ALSA implementation more robust by recovering from underruns
2015-09-22 20:20:17 +02:00
Pierre Krieger
44e9dce43f
Add Voice::get_pending_samples
2015-09-22 17:59:36 +02:00
Pierre Krieger
33dc72ab45
Add device name on WASAPI
2015-09-22 16:05:40 +02:00
Pierre Krieger
5fa41538a6
Various ALSA fixes
2015-09-22 15:46:56 +02:00