johannesd3
ca255c17f0
Split file fetch.rs
2021-03-11 18:09:51 +01:00
johannesd3
e71a004e93
Refactor AudioFileFetch using async/await
...
Previously, polling `AudioFileFetch` consisted of three parts: Handling
stream loader commands, handling received data, and triggering preloading
in stream mode when the number of open requests is sufficiently small. The
first steps use channels which are polled, and if something's available,
it's handled. The third step is executed on every call of `poll`.
The first two could easily be refactored using a `tokio::select!`-loop.
Therefore, counting the number of open requests was also refactored to fit
into this scheme. They were previously counted using a shared
`AtomicUsize`. Now, the number of open requests is stored exclusively in
`AudioFileFetch`, increased on starting a request, and decreased by an
oneshot channel that is fired when a request is finished.
This allows us to `select` that channel in the loop too, and since
loading ahead makes only sense if the number of open requests decreases,
the third step is only executed in this case.
`AudioFileFetch` does not implement `Future` anymore, but is rather used
as helper struct in an async fn `audio_file_fetch`.
2021-03-11 18:08:00 +01:00
Ash
173a36332f
Merge pull request #667 from Johannesd3/small-fixes
...
Fix remaining clippy warnings
2021-03-11 15:19:09 +01:00
johannesd3
059b9029de
Remove redundant field names
2021-03-10 22:41:46 +01:00
johannesd3
5616004dbe
Fix many clippy lints
...
...and other small improvements
2021-03-10 22:41:44 +01:00
Jack Strickland
eb4dacbc59
Add shuffle command and command handling
2021-03-09 15:37:11 -06:00
Ash
38761395d3
Merge pull request #652 from leshow/cleanup
...
clean up imports & clippy lints
2021-03-09 22:29:02 +01:00
Evan Cameron
3388508141
use current_thread
2021-02-28 22:09:46 -05:00
Evan Cameron
6a33eb4efa
minor cleanup
2021-02-28 21:54:19 -05:00
Philippe G
8dc1e80633
separated stream for each seek
2021-02-27 14:59:53 -08:00
Ash
9d77fef008
Merge pull request #649 from Johannesd3/tokio-migration-refactor-deps
...
[Tokio migration] Merge dev and refactor
2021-02-26 10:49:10 +01:00
Ash
56f1fb6dae
Merge pull request #595 from Johannesd3/const_versions
...
Replace version functions by constants
2021-02-26 10:47:44 +01:00
johannesd3
f22b41956f
Update url crate to 2.1
2021-02-23 22:22:53 +01:00
johannesd3
b606d8c661
Replace "extern crate"s
2021-02-23 22:22:53 +01:00
johannesd3
18179e73ec
Remove unused dependencies and fix feature flags
2021-02-23 22:22:53 +01:00
johannesd3
59c556635e
Clean up librespot-connect dependencies
2021-02-23 22:22:53 +01:00
johannesd3
d064ffc670
Use tokio channels and fix compilation errors
2021-02-23 22:22:53 +01:00
johannesd3
f9c0e26f6d
Simplify code
2021-02-23 22:22:52 +01:00
johannesd3
27f308b82f
Replace error_chain by thiserror
2021-02-23 22:22:52 +01:00
johannesd3
45f42acb82
Refactor 'find_available_alternatives'
2021-02-23 22:22:52 +01:00
johannesd3
5aeb733ad9
Clean up dependencies in librespot-playback
...
* Use futures-util instead of futures
* Use tokio channels instead of futures channels
* Removed "extern crate"s
2021-02-23 22:22:52 +01:00
johannesd3
5c42d2e879
Clean up dependencies in librespot-audio
...
* Remove unused deps
* Use futures-util instead of futures
* Replace futures channels by tokio channels
* Remove unnecessary pin_project
* Reordered "use" statements
2021-02-23 22:22:52 +01:00
johannesd3
b83976a8ec
Remove "extern crate"s from librespot-audio
2021-02-23 22:22:52 +01:00
johannesd3
746e6c863e
Put lewton behind feature flag
2021-02-23 22:22:52 +01:00
johannesd3
a6ed6857d2
Clean up dependencies in librespot-metadata
...
* Replaced LinearMap by HashMap
* Removed unnecessary dependencies
* Removed "extern crate"s
2021-02-23 22:22:52 +01:00
johannesd3
10827bd6a8
Clean up dependencies of librespot-core
...
* Use sub-crates of future
* Remove unnecessary pin-project
* Removed unused crates and features
* Replace futures channels by tokio channels
* Use serde's "derive" feature flag instead of serde_derive
2021-02-23 22:22:51 +01:00
johannesd3
8cff10e983
Put apresolve behind feature flag
2021-02-23 22:22:51 +01:00
johannesd3
9253be7bc9
Small refactor of librespot-core
...
* Remove default impl for `SessionConfig`
* Move util mod to single file
* Restore privacy of mods
* Move `fn get_credentials` to application
* Remove `extern crate` statements
2021-02-23 22:22:51 +01:00
johannesd3
c0942f14e8
Restore rodiojack support
...
Probably more simple than the previous approach which
doubles the code: Instead of implementing the `Open` trait,
we simply use custom SinkBuilder, one for the default host,
and one for the "jack" host.
2021-02-23 22:22:51 +01:00
johannesd3
678d1777fd
Merge branch 'dev' into tokio_migration
2021-02-23 22:22:49 +01:00
johannesd3
1fc5267a71
Revert "Merge pull request #548 from Lcchy/rodiojack-backend"
...
This reverts commit f483075b2c
, reversing
changes made to ea8ece36d9
.
2021-02-23 22:20:58 +01:00
Sasha Hilton
4beb3d5e60
Add version string CLI parameter, set name to optional parameter, default to 'librespot'
2021-02-23 18:35:57 +00:00
Sasha Hilton
da0e913fa5
Merge pull request #647 from Johannesd3/msrv_1.41
...
Set MSRV to 1.41
2021-02-23 18:05:10 +00:00
Johannes Dertmann
58bd339e90
Restore MSRV to 1.41
2021-02-23 09:36:57 +01:00
Ash
c9b3b955bd
Merge pull request #606 from Johannesd3/tokio_connect_migration
...
Finish tokio migration
2021-02-23 09:25:34 +01:00
Sasha Hilton
e8204c970e
Merge pull request #569 from philippe44/passthrough-v3
...
Allow pipeline writer to spit out Ogg directly, including when seeking
2021-02-23 00:16:01 +00:00
Sasha Hilton
19e22ef486
Add note on issues/discussions.
2021-02-23 00:13:13 +00:00
Philippe G
34bc286d9b
ogg passthrough
...
rename
2021-02-22 13:45:53 -08:00
Sasha Hilton
d8c1b491c4
Merge branch 'master' into dev
2021-02-22 00:57:45 +00:00
Sasha Hilton
d4b36b2398
Bump cargo.lock
2021-02-22 00:48:14 +00:00
Sasha Hilton
b7c3609c7b
Update version numbers to 0.1.6
2021-02-22 00:37:28 +00:00
Sasha Hilton
6407c20ea3
Merge branch 'master' into dev
2021-02-22 00:21:50 +00:00
Sasha Hilton
2060901c1e
Merge pull request #605 from flaktack/spirc-command-play-pause
...
Fix state toggling in SpircCommand::PlayPause
2021-02-21 23:30:48 +00:00
Sasha Hilton
4e1c24d98d
Merge pull request #602 from Johannesd3/bumb_crypto_crates
...
Bump crypto crates
2021-02-21 23:29:00 +00:00
Sasha Hilton
91152b47d8
Merge pull request #607 from willstott101/master
...
Stabilises #529 (NetBSD support)
2021-02-21 23:27:25 +00:00
Will Stott
89ad7a44a6
Update Cargo.lock
2021-02-21 19:01:31 +00:00
Will Stott
0b211f923f
Stabilization of libmdns at 0.2.7 (includes fix for NetBSD)
2021-02-21 18:54:16 +00:00
johannesd3
220061e158
Migrate application to tokio 1.0
2021-02-21 17:05:36 +01:00
johannesd3
007e653f3d
Restore original blocking player behaviour
2021-02-21 17:04:44 +01:00
johannesd3
1c4d57c6da
Add shutdown to discovery server
2021-02-21 14:10:00 +01:00