Commit Graph

706 Commits

Author SHA1 Message Date
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
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