Commit graph

1793 commits

Author SHA1 Message Date
Sasha Hilton
7b537550ea
Merge pull request #665 from librespot-org/tokio_migration
Tokio migration
2021-04-13 02:06:01 +01:00
johannesd3
4c2fc61d64 Better joining of session tasks 2021-04-12 22:54:32 +02:00
Sasha Hilton
f158d230d1
Merge pull request #687 from Johannesd3/tokio_migration
Further progress on tokio migration
2021-04-11 01:45:41 +01:00
johannesd3
3e9aee1d46 Renamed variable 2021-04-10 15:08:39 +02:00
johannesd3
b4f9ae31e2 Fix clippy warnings 2021-04-10 14:06:41 +02:00
johannesd3
a576194b0e Fix bug in rodio backend 2021-04-10 13:31:42 +02:00
johannesd3
26c127c2ec Merge branch 'dev' into tokio_migration 2021-04-10 12:59:47 +02:00
johannesd3
317e586472 Improve CI
Run the tests and add build for Windows.
2021-04-10 12:59:26 +02:00
johannesd3
ff499825e0 Add missing feature flag to tokio 2021-04-10 12:50:30 +02:00
johannesd3
690e0d2e10 Add simple tests to librespot-core
The first test checks whether apresolve works. A second test tries
to create a Spotify sessions with fake credentials and asserts that
an error is returned.
2021-04-10 12:50:30 +02:00
johannesd3
5435ab3270 Fix compile errors in backends
fe37186 added the restriction that `Sink`s must be `Send`. It turned
out later that this restrictions was unnecessary, and since some
`Sink`s aren't `Send` yet, this restriction is lifted again.

librespot-org/librespot#601 refactored the `RodioSink` in order to make
it `Send`. These changes are partly reverted in favour of the initial
simpler design.

Furthermore, there were some compile errors in the gstreamer backend
which are hereby fixed.
2021-04-10 12:50:30 +02:00
johannesd3
9a3a666856 Bump MSRV to 1.45 2021-04-10 12:50:30 +02:00
johannesd3
b7350b71da Restore previous feature flags
Some of the feature flags librespot uses are not really additive but
rather mutual exclusive. A previous attempt to improve the situation
had other drawbacks, so it's better to postpone a decision and restore
the old behaviour.
2021-04-10 12:50:30 +02:00
johannesd3
cb8c9c2afa Enable apresolve always in binary
Librespot-connect uses hyper anyway, so no one needs to disable it
only to reduce the number of dependencies. Furthermore, when using
another backend, people will use --no-default-features and will forget
to enable the apresolve feature again.
2021-04-10 12:50:30 +02:00
johannesd3
e688e7e886 Almost eliminate util module 2021-04-10 12:50:30 +02:00
Sasha Hilton
8fe2e01166
Merge pull request #660 from roderickvd/hi-res-volume-control
High-resolution volume control and normalisation
2021-04-10 01:26:20 +01:00
johannesd3
9378ae5b6f Bump num-bigint dependency 2021-04-09 22:39:51 +02:00
johannesd3
7ddb1a20bb Reuse librespot-core's Diffie Hellman in discovery 2021-04-09 22:39:47 +02:00
Roderick van Domburg
e20b96c598 Merge remote-tracking branch 'upstream/dev' into hi-res-volume-control 2021-04-09 20:06:20 +02:00
Roderick van Domburg
222f9bbd01 Bump playback crates to the latest supporting Rust 1.41.1
For Rodio, this fixes garbled sound on some but not all Alsa hosts.
2021-04-09 20:01:21 +02:00
Roderick van Domburg
d0ea9631d2 Optimize requantizer to work in f32, then round 2021-04-09 19:33:28 +02:00
johannesd3
11ce29077e Fix formatting 2021-04-09 10:45:48 +02:00
johannesd3
7c3d89112d Fix clippy warnings 2021-04-09 10:45:43 +02:00
johannesd3
f5274f5ada Merge branch 'dev' into tokio_migration 2021-04-09 10:39:06 +02:00
Sasha Hilton
6df977907e
Merge pull request #664 from philippe44/passthrough-update
separated stream for each seek
2021-04-09 01:40:12 +01:00
Roderick van Domburg
928a673653 DRY up constructors 2021-04-05 23:14:02 +02:00
Roderick van Domburg
78bc621ebb Move SamplesConverter into convert.rs 2021-04-05 21:30:40 +02:00
Roderick van Domburg
0149725d77 Log error instead of panicking when child fails to start 2021-03-31 22:16:34 +02:00
Roderick van Domburg
07d710e14f Use AudioFormat size for SDL 2021-03-31 20:41:09 +02:00
Ash
d4dfd4890f
Merge pull request #674 from Johannesd3/proxy-support
[Tokio migration] Add back hyper-proxy
2021-03-29 21:00:18 +02:00
Roderick van Domburg
d252eeedc5 Warn about broken backends 2021-03-27 22:53:05 +01:00
Roderick van Domburg
cc60dc11dc Fix buffer size in JACK Audio backend 2021-03-27 22:52:43 +01:00
Roderick van Domburg
a200b25916 Fix formatting 2021-03-27 21:44:01 +01:00
Roderick van Domburg
cdbce21e71 Make S16 to F32 sample conversion less magical 2021-03-27 21:42:10 +01:00
Roderick van Domburg
bfca1ec15e Minor code improvements and crates bump 2021-03-27 21:13:14 +01:00
johannesd3
95fedf5357 Add back hyper-proxy 2021-03-27 15:36:33 +01:00
Ash
1051f983ed
Merge pull request #663 from ThouCheese/tokio_migration
Update examples
2021-03-24 19:56:16 +01:00
ThouCheese
ec1ec59b8a update examples
Re-add default impl to SessionConfig and make Credentials::with_password generic over Into<String>

add docs for Credential

reintroduce old Default impl for SessionConfig

use the third argument for the track-to-play rather than a testing id
2021-03-24 01:14:44 +01:00
Roderick van Domburg
74b2fea338 Refactor sample conversion into separate struct 2021-03-21 22:16:47 +01:00
philippe44
86dbaa8ed5
true/false don't need to be explicit
Co-authored-by: Johannesd3 <51954457+Johannesd3@users.noreply.github.com>
2021-03-20 12:11:49 -07:00
Roderick van Domburg
001d3ca1cf Bump Alsa, cpal and GStreamer crates 2021-03-19 22:28:55 +01:00
Roderick van Domburg
a1326ba9f4 First round of refactoring
- DRY-ups

 - Remove incorrect optimization attempt in the libvorbis decoder,
   that skewed 0.0 samples non-linear

 - PortAudio and SDL backends do not support S24 output. The PortAudio
   bindings could, but not through this API.
2021-03-18 22:06:43 +01:00
Roderick van Domburg
b94879de62 Fix GStreamer buffer pool size [ref #660 review] 2021-03-18 20:51:53 +01:00
Sasha Hilton
963d50e725
Merge pull request #658 from Johannesd3/refactor-audio-file-fetch
[Tokio migration] Refactor AudioFileFetch
2021-03-17 01:24:49 +00:00
Roderick van Domburg
770ea15498 Add support for S24 and S24_3 output formats 2021-03-17 00:00:27 +01:00
Roderick van Domburg
9dcaeee6d4 Default to S16 output 2021-03-16 20:22:00 +01:00
Roderick van Domburg
309e26456e Rename steepness to knee 2021-03-14 14:28:16 +01:00
Roderick van Domburg
5f26a745d7 Add support for S32 output format
While at it, add a small tweak when converting "silent" samples
from float to integer. This ensures 0.0 converts to 0 and vice
versa.
2021-03-13 23:43:24 +01:00
Roderick van Domburg
a4ef174fd0 Fix Alsa backend for 64-bit systems 2021-03-12 23:50:17 +01:00
Roderick van Domburg
6379926eb4 Fix example 2021-03-12 23:47:15 +01:00