Commit Graph

744 Commits

Author SHA1 Message Date
mitchmindtree 38e0408412 Remove alsa-sys publish from github workflow
The `alsa-sys` crate repository has lived [here][1] for quite a while.
This commit removes the unnecessary step from the CI workflow now that
alsa-sys has finally been removed as of #386.

[1]: https://github.com/diwic/alsa-sys
2020-04-15 18:07:51 +02:00
mitchmindtree 7df5b4e973
Merge pull request #386 from alexmoon/alsa
Switch from vendored alsa-sys to alsa crate
2020-04-15 17:56:18 +02:00
Alex Moon 5da315fbfe Merge remote-tracking branch 'upstream/master' into alsa 2020-04-13 16:25:30 -04:00
Alex Moon b386e63eec Ignore play/pause errors for ALSA Stream 2020-04-12 13:11:35 -04:00
est31 fc28a8033c
Merge pull request #388 from bschwind/master
Fix type for armv6 platforms
2020-04-12 13:38:22 +02:00
Brian Schwind c5e1ea5919 Fix type-casting error for armv6 platforms 2020-04-12 14:19:18 +09:00
Alex Moon 62d540d396 Switch from vendored alsa-sys to alsa crate 2020-04-03 16:56:51 -04:00
mitchmindtree f3e7c46205
Merge pull request #382 from dansgithubuser/master
fix sample rate range assertion
2020-03-18 09:02:34 +01:00
Dan bf276e7de6 fix sample rate range assertion 2020-03-17 23:16:04 -04:00
mitchmindtree aac04e7263
Merge pull request #379 from est31/master
Remove redundant 'static from &'static str
2020-02-24 09:10:08 +01:00
est31 d97983e218 Remove redundant 'static from &'static str
Specifying the static lifetime in constants and static variables
is redundant since Rust 1.17.0

https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1170-2017-04-27
2020-02-24 07:40:25 +01:00
mitchmindtree 946d646965
Merge pull request #374 from mitchmindtree/changelog
Update changelog for changes since 0.11
2020-02-04 17:18:44 +01:00
mitchmindtree 27b4c56858 Update changelog for changes since 0.11 2020-02-04 17:16:41 +01:00
mitchmindtree e4df8b277f
Merge pull request #371 from mitchmindtree/stream_config
Rename stream `Format` types to `StreamConfig` and other related renamings.
2020-02-04 17:07:15 +01:00
mitchmindtree a2e6232cd8
Merge pull request #4 from mitchmindtree/stream_config_pub
Restrict the ways in which `SupportedStreamConfig/Range`s can be constructed
2020-02-04 15:46:22 +01:00
mitchmindtree 7a6cb0bd6a Make SupportedStreamConfigRange fields private 2020-02-02 20:20:51 +01:00
mitchmindtree 9bf5664f7d Update wasapi and emscripten backends for SupportedStreamConfig private fields 2020-02-02 19:56:30 +01:00
mitchmindtree 009b796b7c Update wasapi backend for SupportedStreamConfig private fields 2020-02-02 19:06:16 +01:00
mitchmindtree f05ba58207 Update emscripten backend for SupportedStreamConfig private fields 2020-02-02 18:50:12 +01:00
mitchmindtree 476f6c4c2c Only allow for private construction of `SupportedStreamConfig`.
This should give the user a higher confidence that, if they have a
`SupportedStreamConfig` format type that it is actually supported.

Also updates the `raw` stream builder methods to take a `StreamConfig`
and `SampleFormat` as separate arguments for flexibility.

**Backends Updated**

- [x] null
- [x] alsa
- [ ] emscripten
- [ ] coreaudio
- [ ] wasapi
- [ ] asio
2020-02-02 18:43:30 +01:00
mitchmindtree 07b66f52f3 Rename FormatNotSupported to StreamConfigNotSupported 2020-01-28 22:55:43 +01:00
mitchmindtree f292391190 Update asio backend for stream format renaming 2020-01-28 16:17:14 +01:00
mitchmindtree 3a692f8bca Update coreaudio backend for stream format renaming 2020-01-28 15:03:27 +01:00
mitchmindtree e0da586f77 Update wasapi backend for stream format renaming 2020-01-28 00:26:15 +01:00
mitchmindtree 669aada98a Update emscripten backend for stream format renaming 2020-01-27 21:44:52 +01:00
mitchmindtree 9c781bd381 Rename stream `Format` types to `Config`
This implements the changes described at #370.

This commit implements only the `null` and `alsa` backends - the rest
will be implemented in follow-up commits.

Closes #370.
2020-01-27 21:28:07 +01:00
mitchmindtree ae910e3fe5
Merge pull request #366 from Ralith/polymorphic-streams
Polymorphic streams
2020-01-27 18:17:09 +01:00
Benjamin Saunders 8d471f3d0e Illustrate alternative structure in beep example 2020-01-21 22:49:31 -08:00
Benjamin Saunders 076b814a15 Introduce polymorphic stream constructors 2020-01-21 22:20:26 -08:00
Benjamin Saunders 78df791377 Add _raw suffix to stream constructors 2020-01-21 21:52:18 -08:00
mitchmindtree 5390c01641
Merge pull request #365 from mitchmindtree/rustfmt
Remove old `.rustfmt.toml` config. Run default `cargo fmt` on repo. Add formatting check github action.
2020-01-21 20:02:17 +01:00
mitchmindtree 7e846b47ad Ensure all crates are formatted correctly, not just `cpal` itself. 2020-01-21 14:18:16 +01:00
mitchmindtree ca255772fd Fix typo in rustfmt github action 2020-01-21 00:25:03 +01:00
mitchmindtree e7979d2dfe Fix some strangely formatted commented code 2020-01-21 00:15:52 +01:00
mitchmindtree cdd49ada2b Add a GitHub action for rustfmt
Checks formatting against the default `cargo fmt` run.
2020-01-20 23:56:04 +01:00
mitchmindtree aab0d90add Remove old `.rustfmt.toml` config. Run default `cargo fmt` on repo.
Seeing as a few large refactors have landed recently, I thought I'd take
this opportunity to do a `cargo fmt` run and standardise on the default
rustfmt settings.
2020-01-20 20:35:23 +01:00
mitchmindtree 95cda0dbe8
Merge pull request #364 from mitchmindtree/wasapi-warnings
Address deprecated `mem::uninitialized` warnings in WASAPI host
2020-01-20 20:31:43 +01:00
mitchmindtree a7008b63a5 Address deprecated `mem::uninitialized` warnings in WASAPI host
This uses `ptr::null_mut()` and `MaybeUninit` to remove use of
deprecated `mem::uninitialized()` which could possibly result in UB.
2020-01-20 20:22:15 +01:00
mitchmindtree 10e2458048
Merge pull request #359 from mitchmindtree/remove-unknown-buffer-type
Remove `UnknownTypeBuffer` in favour of specifying sample type.
2020-01-20 20:18:26 +01:00
mitchmindtree d7d82ac863
Merge pull request #3 from mitchmindtree/remove-unknown-buffer-type-alt
An alternative approach to removing `UnknownBufferType`
2020-01-20 18:21:25 +01:00
mitchmindtree 64f8fd12cc Update CoreAudio host for the addition of the new stream `Data` type 2020-01-19 19:42:43 +01:00
mitchmindtree c0a28b5198 Update ASIO host for addition of new stream `Data` type. 2020-01-19 19:35:35 +01:00
mitchmindtree 1b5cf579cb Update WASAPI backend for addition of new stream `Data` type 2020-01-19 19:17:40 +01:00
mitchmindtree dbb1cc4140 Add some notes for devs about the safety requirements of `Data` 2020-01-19 19:05:17 +01:00
mitchmindtree 3fdf189848 Update docs for addition of the new stream Data type 2020-01-19 16:16:09 +01:00
mitchmindtree 7f27b897bb Update emscripten backend for new stream Data type 2020-01-19 16:04:06 +01:00
mitchmindtree 58356f49b4 An alternative approach to removing `UnknownBufferType`.
This is a potential alternative to #359. This PR is based on #359.

This approach opts for a dynamically checked sample type approach with
the aim of minimising compile time and binary size.

You can read more discussion on this [here](https://github.com/RustAudio/cpal/pull/359#issuecomment-575931461)

Implemented backends:

- [x] null
- [x] ALSA
- [ ] CoreAudio
- [ ] WASAPI
- [ ] ASIO
- [ ] Emscripten
2020-01-19 15:06:19 +01:00
mitchmindtree 01425b4b80 Patch for bindgen update in ASIO backend 2020-01-19 03:39:15 +11:00
mitchmindtree 6fbb701826 Update CoreAudio backend for removal of `UnknownBufferType` 2020-01-18 15:15:41 +01:00
mitchmindtree 9e832c6eb3 Update ASIO backend for removal of `UnknownBufferType` 2020-01-18 15:13:17 +01:00