Sebastian Imlay
9e4ebd86d9
Second attempt at github workflow.
...
* Added actions/checkout
* cargo build --example beep
2020-01-16 12:01:03 -08:00
Sebastian Imlay
ce1d96ea57
Fist attempt at github fix
2020-01-16 11:55:49 -08:00
mitchmindtree
2bf905f3ec
Merge pull request #358 from jbeich/dragonfly
...
DragonFly support
2020-01-13 15:47:45 +01:00
mitchmindtree
59ac088167
Merge pull request #354 from mitchmindtree/no-eventloop-rebased
...
Removing the `EventLoop` - rebased
2020-01-13 12:50:05 +01:00
mitchmindtree
4fb1c3f081
Merge pull request #2 from mitchmindtree/no-eventloop-send-sync
...
Explicitly make dynamically dispatched API !Send + !Sync
2020-01-12 22:53:50 +01:00
mitchmindtree
32d39bcfd3
Relax `Sync` restriction on `Device` and `Host`
...
Originally this restriction was placed due to uncertainty around the
thread safety of the ASIO API. While the ASIO API itself makes no
thread-safety guarantees that we are aware of, the `asio-sys` high-level
bindings enforce synchronised access to the API and state transitions
via a mutex.
2020-01-12 22:43:05 +01:00
mitchmindtree
ca2aceb536
Fix state transition synchronisation in ASIO
...
This makes some tweaks to the ASIO backend in order to fix some cases
where races may have occured. This should allow us to remove the `Sync`
bound on the `Device` and `Host` types.
2020-01-12 22:40:05 +01:00
Jan Beich
3ac6f6a689
Enable ALSA on DragonFly
...
DragonFly like FreeBSD uses OSS under the hood but OSS backend isn't
available, so use ALSA.
2020-01-07 16:18:52 +00:00
Jan Beich
e77634941d
Drop alsa-sys dependency on OpenBSD
...
Unlike other BSDs it never packaged ALSA and prefers everything to use sndio.
2020-01-07 16:15:48 +00:00
mitchmindtree
33ddf74954
Explicitly make dynamically dispatched API !Send + !Sync
...
This is in order to ensure consistent restrictions across platforms in a
manner that ensures thread safety across each of the supported
platforms.
Please see added comments in the diff for details on which platforms
impose these restrictions.
2020-01-05 17:43:14 +01:00
mitchmindtree
2afebb2806
Clarify the current state of stream behaviour in docs and comments
2019-12-31 16:02:08 +01:00
mitchmindtree
39ade49347
RAII cleanup wthin the ASIO backend
...
- Shares the `Device`'s `driver` and `asio_streams` `Arc`s with the
`Stream`s to ensure they remain valid if the `Host` or `Device` are
dropped early.
- Ensures that a stream's callback is removed upon `Drop`.
2019-12-31 15:46:10 +01:00
msiglreith
972cce0f8c
asio: Re-add possibility to create stream individually
2019-12-31 15:46:10 +01:00
msiglreith
bfda575218
Port ASIO host to new stream-based API
2019-12-31 15:46:10 +01:00
Viktor Lazarev
64ba84de81
Move code from stream to device
2019-12-31 15:46:10 +01:00
Tatsuyuki Ishi
cede7b41db
Remove EventLoop and port the ALSA backend
2019-12-31 15:46:10 +01:00
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
Viktor Lazarev
f57e7c74e4
Ignore RLS log files
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
mitchmindtree
700bef79d9
Merge pull request #356 from simlay/fix-warnings
...
Fixed compiler warnings
2019-12-31 15:41:31 +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