mitchmindtree
f34a062fac
Update docs for removal of the `EventLoop`
2019-12-31 15:46:10 +01:00
mitchmindtree
27245444a7
Remove redundant from backend
2019-12-31 15:45:15 +01:00
mitchmindtree
37d80b98cf
Update the `emscripten` backend for the removal of the `EventLoop`
...
For the most part, behaviour should be largely unchanged, however each
individual stream now has its own `set_timeout` callback loop, rather
than using one for processing all streams at once.
Many TODOs remain within the `emscripten` backend. These were left
untouched for the most part in favour of addressing this in a more
web-focused, future PR.
2019-12-31 15:45:15 +01:00
Tatsuyuki Ishi
70dcf2390a
Port CoreAudio backend
2019-12-31 15:45:15 +01:00
ishitatsuyuki
c09a58ac02
Fix the remainder of WASAPI backend
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
7f7914434c
Additional clippy fixes
2019-12-31 15:42:35 +01:00
Viktor Lazarev
d46415a6e7
`cargo clippy`
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
49a38c2641
Fix up WASAPI host
2019-12-31 15:42:35 +01:00
Viktor Lazarev
d4965d3673
`cargo fmt`
2019-12-31 15:42:35 +01:00
Viktor Lazarev
c62cb48e19
Apply suggestions proposed by Clippy
2019-12-31 15:42:35 +01:00
Viktor Lazarev
10dc779943
Return back missed play/pause implementation
2019-12-31 15:42:35 +01:00
Viktor Lazarev
a218dc90e6
Fixing compile errors
2019-12-31 15:42:35 +01:00
Viktor Lazarev
a412b00336
Fix the "Stream::new' method
2019-12-31 15:42:35 +01:00
Viktor Lazarev
e7f708701c
Remove old code
2019-12-31 15:42:35 +01:00
Viktor Lazarev
1021141d16
Fix "build_input/output_stream_inner" methods
2019-12-31 15:42:35 +01:00
Viktor Lazarev
f65d0e65bc
Expose Stream instead of StreamId
2019-12-31 15:42:35 +01:00
Viktor Lazarev
125bebd733
Clean up wasdapi mod
2019-12-31 15:42:35 +01:00
Viktor Lazarev
d12d9f479b
Remove redundant field names
2019-12-31 15:42:35 +01:00
Viktor Lazarev
7765e941ed
Implement Drop for Stream
2019-12-31 15:42:35 +01:00
Viktor Lazarev
0541bf8667
Add Stream struct
2019-12-31 15:42:35 +01:00
Viktor Lazarev
e25c44a4a1
Move code from stream to device
2019-12-31 15:42:35 +01:00
Viktor Lazarev
dd418c08ae
Adjust "process_commands" and "Command"
2019-12-31 15:42:35 +01:00
Viktor Lazarev
28cf3fee43
Fix "run_inner" fn
2019-12-31 15:42:35 +01:00
Viktor Lazarev
b00630bdcc
Extract "run_inner" as a standalone function
2019-12-31 15:42:35 +01:00
Viktor Lazarev
463540f370
Keep a single stream only
2019-12-31 15:42:35 +01:00
Viktor Lazarev
cffd2da582
Rename "StreamDataResult" to "StreamData"
2019-12-31 15:42:35 +01:00
Viktor Lazarev
37e7b5b63b
Move DeviceTrait implementation to wasapi::device
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
e782ca1ac8
Suppress warnings in null backend
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
508e7d8ccf
Add one missing error handling
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
3cce3e43d9
Change callback interface so that it takes a dedicated error callback
2019-12-31 15:42:35 +01:00
Tatsuyuki Ishi
c97d1dd3fa
Remove EventLoop and port the ALSA backend
2019-12-31 15:42:35 +01:00
Sebastian Imlay
d8743b34ce
Fixed compiler warnings
...
* Removed extra semi-colon
* Added dyn where requested
* Removed ::std:: in thead::sleep call.
2019-12-29 15:02:34 -08:00
Ryan Adolf
264cd31b03
Update struct links in crate documentation
2019-12-22 19:22:35 -08:00
est31
90be524400
Merge pull request #339 from lucy/master
...
Implement WASAPI loopback support
2019-11-17 17:49:49 +01:00
lucy
dcabad105b
Implement WASAPI loopback support
...
This works by detecting output devices in build_input_stream() and
setting the AUDCLNT_STREAMFLAGS_LOOPBACK flag to enable loopback
recording.
closes #251
2019-10-27 14:52:12 +01:00
mitchmindtree
d9d4a906c9
Switch to dtolnay's `thiserror` for handling error boilerplate
...
Currently CPAL only really uses `failure` for its `derive` capabilities
and the ability to easily generate implementations for `Display`. That
said there are a few issues with using the `failure` crate:
- `failure` does not provie a `std::error::Error` implementation without
first converting error types into `failure::Error`.
- It leaks significantly into the public API and expects downstream
users to also depend on `failure` and the non-std `Fail` trait for
their own error handling.
- Solved problems such as downcasting of causal errors which have since
been addressed in `std`.
- Provides application-friendly `Fail` trait and `failure::Error` type,
not particularly useful to libraries like CPAL.
The [`thiserror` crate](https://github.com/dtolnay/thiserror ) is better
targeted towards libraries, does not leak into the public API while
providing easy generation of `Display`, `From` and `std::error::Error`
implementations including proper handling of the newish
`std::error::Error::source` method.
2019-10-13 12:29:21 +02:00
Luni-4
8234df7f3d
Fix clippy
2019-10-04 11:54:11 +02:00
Tatsuyuki Ishi
43450a6dec
Move errors into separate module ( #332 )
...
Move errors into separate module
2019-10-01 11:10:02 +09:00
msiglreith
edc365f708
Move error into separate module
2019-09-29 14:05:06 +02:00
Alex Butler
b1228fc3ff
Alsa: Set buffer size near to 100ms
2019-08-31 13:33:57 +01:00
Tatsuyuki Ishi
a5783d14c5
Use snd_pcm_avail_update
2019-08-24 12:32:19 +09:00
est31
447ad5d727
Merge pull request #321 from RustAudio/wasapi-capture
...
Fix WASAPI capture logic
2019-08-14 00:42:08 +02:00
ishitatsuyuki
e9043c605a
Fix WASAPI capture logic
...
The buffer size handling differs from what render streams uses. Logic is based on https://github.com/microsoft/Windows-universal-samples/blob/master/Samples/WindowsAudioSession/cpp/WASAPICapture.cpp .
2019-08-12 10:56:14 +09:00
mitchmindtree
d3fdb2dd4b
Merge pull request #307 from derekdreery/relax_buffer_size
...
Remove the (arbitary) restriction on buffer size
2019-08-10 20:10:24 +02:00
est31
624ca7624f
Update mod.rs ( #314 )
...
Fixes #309
2019-08-10 16:42:47 +02:00
est31
14c1258a57
Remove uninitalized from coreaudio backend
...
uninitialized is being deprecated in favour of
MaybeUninit and friends.
In fact, using mem::zeroed() here is the
initialization method that apple docs recommend.
https://developer.apple.com/documentation/coreaudiotypes/audiostreambasicdescription
2019-08-10 15:40:34 +02:00
est31
268ea6cfbf
Remove mem::uninitialized from alsa backend
...
uninitialized is being deprecated in favour of
MaybeUninit and friends.
2019-08-10 15:08:21 +02:00
Richard Dodd (dodj)
684aa6392a
Update mod.rs
...
Fixes #309
2019-08-04 11:49:15 +01:00
Richard Dodd
1c34dd682e
Remove code rather than comment out
2019-07-27 16:41:19 +01:00
Richard Dodd
b7d230150c
Remove the (arbitary) restriction on buffer size
2019-07-24 20:43:20 +01:00