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
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
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
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
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
johannesd3
f9c0e26f6d
Simplify code
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
678d1777fd
Merge branch 'dev' into tokio_migration
2021-02-23 22:22:49 +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
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
b7c3609c7b
Update version numbers to 0.1.6
2021-02-22 00:37:28 +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
7f705ed148
Merge branch 'master' into dev
2021-02-20 23:31:04 +00:00
Sasha Hilton
2c110ca256
Update version numbers to 0.1.5
2021-02-20 23:05:56 +00:00
Sasha Hilton
a173fa7cc5
Remove depreciated error description method
2021-02-20 21:55:12 +00:00
Érico Nogueira Rolim
7662bc5064
librespot-audio: update librespot-tremor.
...
This picks up a fix for librespot-tremor when building with Rust 1.48.
2021-02-20 21:54:14 +00:00
johannesd3
34733baa75
Bump crypto crates
2021-02-13 19:10:57 +01:00
johannesd3
872fab62d8
Merge branch 'dev' into tokio_migration
2021-02-10 21:51:33 +01:00
johannesd3
d3495cfed4
Re-add support for Rust 1.40
2021-02-09 09:14:32 +01:00
johannesd3
3446864838
Handle corrupt cache files ( #591 )
2021-02-02 02:18:58 +01:00
Sasha Hilton
4990351dba
Merge pull request #585 from ericonr/patch-1
2021-02-02 01:10:27 +00:00
Sasha Hilton
a09845ee7d
Merge pull request #582 from Johannesd3/refactor_cache_remove_volume
2021-02-02 01:08:07 +00:00
Sasha Hilton
ccde0c8dcb
Merge branch 'dev' into patch-1
...
Merge latest changes from dev
2021-01-31 01:37:11 +00:00
Sasha Hilton
9ad68dfb76
Remove depreciated error description method
2021-01-31 01:36:10 +00:00
johannesd3
78614c9d7a
Bump lewton to 0.10
2021-01-29 11:25:09 +01:00
Érico Nogueira Rolim
d010cb7999
librespot-audio: update librespot-tremor.
...
This picks up a fix for librespot-tremor when building with Rust 1.48.
2021-01-28 12:07:33 -03:00
johannesd3
c97fdeb3b4
Replaced .fold(0, add) by .sum()
2021-01-25 20:56:22 +01:00
johannesd3
fa5c9f7d11
Made locations in cache optional
...
The locations of credentials, volume and audio are now stored
in three separate Optional<PathBuf>s.
Removed the clearing of the cache if an error occurs. This might
be added again later.
2021-01-25 10:48:14 +01:00
johannesd3
14a004f84c
Refactored Cache
...
Proper error handling, and moving the conversion between
{ credentials, volume } and file into the cache module
2021-01-25 10:47:42 +01:00
johannesd3
6c9d8c8d83
Replace pin_project and updated dependencies
2021-01-25 09:04:33 +01:00
johannesd3
90905b81bb
Improved RangeSet implementation
2021-01-25 09:04:33 +01:00
johannesd3
80d384e001
Migrated audio crate to futures 0.3
2021-01-25 09:04:33 +01:00
Lyndon Brown
0460429380
bump num-bigint
dependency (v0.2 to v0.3)
...
compiles fine after version change; version changes seem to be very minimal.
2020-12-14 11:53:54 +00:00
Sasha Hilton
45f4276d68
Update version numbers to 0.1.3
2020-07-29 16:23:41 +01:00
Sasha Hilton
4a21b5cbeb
Fix depreciation warnings
...
Fixes error description depreciation warnings and removes unnecessary parentheses
2020-07-24 03:32:36 +01:00
Sasha Hilton
68949da7c2
Update version numbers to 0.1.2
2020-07-22 16:53:52 +01:00
Sasha Hilton
258db6ba42
Downgrade vorbis lib due to upstream issue
2020-07-22 16:23:44 +01:00
Konstantin Seiler
5784b4652c
Prepare for gapless play.
...
- change communication between player and spirc to use player events channel.
- enhance player events channel
- have spirc send loading messages to Spotify
- enable preloading of tracks in the player
2020-02-01 08:41:11 +11:00
Sasha Hilton
6daa2acd0a
Update version numbers to 0.1.1
2020-01-30 02:39:41 +01:00
marcelbuesing
c9147d31ab
Turn child crates into rust 2018 edition
2020-01-17 20:54:05 +01:00
marcelbuesing
38d82f2dc2
Rerun rustfmt on full codebase
2020-01-17 18:47:30 +01:00
ashthespy
d26590afc5
Update to Rust 2018
...
- Fix deprecated Error::cause warnings and missing dyn
- Reset max_width
- Add rustfmt to Travis
- Run rustfmt on full codebase
with `cargo fmt --all`
- Add rustfmt to Travis
- Complete migration to edition 2018
- Replace try! shorthand
- Use explicit `dyn Trait`
2020-01-17 18:11:52 +01:00
Konstantin Seiler
e550b7f729
rustfmt
2019-11-18 11:08:34 +11:00
Konstantin Seiler
db0e4a0422
Limit number of prefetch requests.
2019-11-18 10:54:44 +11:00