Commit Graph

744 Commits

Author SHA1 Message Date
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
est31 8d08a9eb42
Merge pull request #355 from rianadon/master
Update struct links in crate documentation
2019-12-23 15:53:33 +01:00
Ryan Adolf 264cd31b03 Update struct links in crate documentation 2019-12-22 19:22:35 -08:00
est31 0b7bbbe9c5
Merge pull request #353 from mitchmindtree/publish
Publish version 0.11.0
2019-12-11 14:08:27 +01:00
mitchmindtree fe9054f626 Publish version 0.11.0
Please see the CHANGELOG diff below for an overview of changes included
in this release.

You can find the full code diff [here](391b32f5b2...master).

Thanks to all who have contributed! CPAL has come a long way thanks to
the combined effort of many different people!
2019-12-11 13:28:44 +01:00
est31 fc46f023e4
Merge pull request #351 from Luni-4/cargo-publish
Move error files into another directory
2019-11-18 22:01:52 +01:00
est31 90be524400
Merge pull request #339 from lucy/master
Implement WASAPI loopback support
2019-11-17 17:49:49 +01:00
Luni-4 c4402a0306 Move the error files into the tmp directory 2019-11-15 15:50:27 +01:00
est31 6fafc54dc7
Merge pull request #345 from Luni-4/cargo-publish
Allow cargo-publish failure
2019-11-15 10:55:45 +01:00
Luni-4 524bbb9ef5 Check cargo-publish error type 2019-11-13 16:24:05 +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
est31 8f28048f61
Merge pull request #344 from Luni-4/cargo-publish
Update and fix Github Actions
2019-10-26 15:45:33 +02:00
Luni-4 129599e85f Update and fix Github Actions 2019-10-26 14:38:26 +02:00
est31 dca5a11476
Merge pull request #337 from Luni-4/github-actions
Add cargo-publish job
2019-10-26 13:56:21 +02:00
est31 80d892d50c
Merge pull request #343 from Luni-4/fix-windows-actions
Update Github Actions for Windows
2019-10-26 12:46:55 +02:00
Luni-4 2a62f42e04 Update Github Actions for Windows 2019-10-26 12:22:50 +02:00
est31 5fa5ae8cff
Merge pull request #340 from mitchmindtree/thiserror
Switch to dtolnay's `thiserror` for handling error boilerplate
2019-10-13 12:58:52 +02:00
mitchmindtree 7b08cb0dae Update examples for switch to `thiserror`
To compensate for the removal of `failure`'s application friendly
`failure::Error` trait, this `anyhow` crate has been added as a
dev-dependency for the examples, but is by no means a necessity for
other crates downstream of CPAL.
2019-10-13 12:36:49 +02: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 40ded0212d Add cargo-publish job 2019-10-05 11:11:03 +02:00
est31 be54ffff09
Merge pull request #338 from Luni-4/fix-clippy-pr
Enable clippy-check for pull requests
2019-10-05 04:01:25 +02:00
Luni-4 dd091b3310 Enable clippy-check for pull requests 2019-10-04 19:05:34 +02:00
est31 3498336239
Merge pull request #336 from Luni-4/fix-clippy
Fix the clippy-action
2019-10-04 12:32:38 +02:00
Luni-4 4e47c7ea8d Disable the clippy-action for pull requests 2019-10-04 12:20:40 +02:00
Luni-4 8234df7f3d Fix clippy 2019-10-04 11:54:11 +02:00
est31 8f5496b0fd
Merge pull request #335 from Luni-4/github-actions
Add Github Actions
2019-10-03 23:02:18 +02:00
Luni-4 2cd1e0d633 Add Github Actions 2019-10-03 15:59:45 +02:00
est31 712d83fb09
Merge pull request #333 from hatchling13/bugfix
Added winapi feature "winbase" in windows dependencies
2019-10-02 14:30:22 +02:00
est31 5f8618a5cf
Merge pull request #334 from bennetthardwick/fix/readme-build-button
Fix README.md builds badge
2019-10-02 14:03:06 +02:00
Bennett Hardwick 63364fd460 Fix README.md builds badge 2019-10-02 21:54:25 +10:00
Hatchling 5169f53304 Added winapi feature "winbase" in windows dependencies
When using cpal as dependency in other project, it was found that cpal
won't build due to unresolved import of winapi::um::winbase. Added the
feature at line 24 in Cargo.toml.
2019-10-01 14:46:02 +09:00
Tatsuyuki Ishi 43450a6dec
Move errors into separate module (#332)
Move errors into separate module
2019-10-01 11:10:02 +09:00
Tatsuyuki Ishi 4863a00225
Uses ringbuffer in feedback example (#331)
Uses ringbuffer in feedback example
2019-10-01 11:09:49 +09:00
msiglreith edc365f708 Move error into separate module 2019-09-29 14:05:06 +02:00
Mitchell Hentges 1676bf20b6
Adds comment about latency-push unwrap() 2019-09-27 10:18:23 -07:00
Mitchell Hentges 624d1f8ce6
Uses ringbuffer in feedback example 2019-09-26 17:19:12 -07:00
est31 fabf432a1a
Merge pull request #328 from RustAudio/ishitatsuyuki-travis-cache
Travis: enable Cargo cache
2019-09-06 02:45:21 +02:00
Tatsuyuki Ishi ea2421ad36
Travis: enable Cargo cache 2019-09-05 18:19:58 +09:00
Tatsuyuki Ishi 95e9fe0f91
Merge pull request #327 from alexheretic/alsa-set-buffer-near
Alsa: Set buffer size near to 100ms
2019-08-31 21:34:55 +09:00
Alex Butler b1228fc3ff
Alsa: Set buffer size near to 100ms 2019-08-31 13:33:57 +01:00
est31 9e3a19c352
Merge pull request #323 from ishitatsuyuki/alsa-avail-update
Use snd_pcm_avail_update
2019-08-24 07:51:20 +02: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
est31 a1c71b217c
Merge pull request #320 from RustAudio/add-license-1
Create LICENSE
2019-08-11 13:59:29 +02:00