Lyndon Brown
120bd88326
fix alignment causing format check failure
2020-12-13 17:51:43 +00:00
Lyndon Brown
0411e69548
convert PulseAudio backend to use the available binding crates
...
rather than the raw 'sys' layer.
2020-12-13 17:51:41 +00:00
Lyndon Brown
28061dffe2
upgrade to newer PulseAudio crate dependency
...
requires adding dependency on libpulse-simple-sys since the PulseAudio
simple components were moved to their own crate (the original version
did not stick to the one crate per one system library rule).
this fixes the licensing compatibility issue discussed in #539 ([1])
(the original v0.0.0 was LGPL-3.0 licensed, while v1.11 onwards are
'MIT OR Apache-2.0').
[1]: https://github.com/librespot-org/librespot/issues/539
2020-12-13 17:50:23 +00:00
Lyndon Brown
cea63e57a4
use actual feature names rather than crate names for conditional compilation
2020-12-13 17:46:40 +00:00
Sasha Hilton
aba1a6ee59
Merge pull request #546 from maxthiel/send-preload-event
...
Add a preload event to warn about new track coming soon
2020-12-13 17:31:20 +00:00
maxthiel
2f7bf54076
Add a preload event to warn about new track coming soon
2020-12-10 21:17:41 +00:00
Will Stott
8ff1dc24bd
Quick minimal hack to get latest rodio working.
2020-12-02 19:45:46 +00:00
ashthespy
9e7180feb4
Use mixer's mute switch if possible
2020-07-29 15:59:45 +01:00
ashthespy
46328810cb
Make alsamixer
less verbose
2020-07-29 15:59:45 +01:00
ashthespy
527a4ccbe2
Better alsamixer
volume mapping for hardware mixers
2020-07-29 15:59:45 +01:00
ashthespy
3dfad7f788
Implement mapped volume for alsa mixer
2020-07-29 15:59:45 +01:00
Sasha Hilton
732bb1ce82
Merge branch 'dev' into gst1.0-2020
2020-07-25 02:52:21 +01:00
Sasha Hilton
6eabf4a75c
Merge pull request #449 from kaymes/blocking_sink_events
...
Add blocking SinkActive|SinkInactive events
2020-07-24 03:07:38 +01:00
Sasha Hilton
43ab7fcedb
Merge pull request #474 from ashthespy/skip_unplayable
...
Skip unplayable tracks instead of stopping
2020-07-24 03:05:57 +01:00
sniperrifle2004
1e5d98b8fd
Actually store the period_size
2020-06-17 03:53:20 +02:00
sniperrifle2004
82e54dfaba
Rewrite buffer around the actual period size
...
This prevents over or underestimating of the period.
While it is unlikely, with comparitively small period
sizes overestimating can cause buffer underruns and
underestimating causes more writes than necessary.
It also properly accounts for the number of channels,
which I had overlooked.
2020-06-17 03:34:46 +02:00
sniperrifle2004
a68dfa0287
On stop write any chunk(s) left in the period buffer
...
That should prevent a possible sudden stop
2020-06-14 07:22:23 +02:00
sniperrifle2004
cbe3c98fa1
Clear buffer when the sink is stopped
2020-06-14 06:15:53 +02:00
sniperrifle2004
64081a12bb
Introduce a buffer for a full period
...
Writing to the pcm more often than necessary is
just a waste of resources and depending
on the pcm it can have quite an impact
on performance. The pcm expects full periods
anyway.
2020-06-14 06:15:45 +02:00
sniperrifle2004
aaef07e819
Introduce an appropriate period for the desired buffer
2020-06-14 06:15:25 +02:00
Sean McNamara
29fd5da971
Merge branch 'dev' of https://github.com/librespot-org/librespot into gst1.0-2020
2020-05-27 21:31:11 -04:00
ashthespy
172cb945c4
Merge branch 'dev' of https://github.com/librespot-org/librespot into skip_unplayable
2020-05-13 12:19:33 +02:00
ashthespy
14709b9f8d
Let spirc handle unavailable tracks
2020-05-13 11:49:26 +02:00
Anton Voyl
0aa9bc60e3
Merge pull request #452 from kaymes/improved_events
...
Add more data to player events and fire more of them
2020-05-11 08:57:18 +02:00
Sean McNamara
5d57ac773b
Fix PR feedback
2020-05-10 16:26:01 -04:00
ashthespy
902440925d
Handle unplayable tracks during prefetch
2020-05-10 14:31:43 +02:00
ashthespy
b63199743a
Skip unplayable tracks instead of stopping
2020-05-09 13:59:28 +02:00
Sean McNamara
0e6beaf8c7
Merge https://github.com/librespot-org/librespot into gst1.0-2020
2020-05-07 13:12:39 -04:00
kaymes
9fe82ef781
Enable pulseaudio device names ( #450 )
...
Fixes #207
2020-04-25 13:27:21 +02:00
Sean McNamara
e7093cb0bc
gstreamer-backend: rustfmt.
2020-04-06 23:54:05 -04:00
Sean McNamara
1e9a52bd6e
Fix auto disposal of pipeline that needs to stay in struct
2020-04-06 23:34:20 -04:00
Sean McNamara
f192bd1079
gstreamer-1.0 backend: Version updates and squelch warnings
2020-04-06 23:29:29 -04:00
Sean McNamara
a55b226716
Merge https://github.com/librespot-org/librespot into gst1.0-2020
2020-04-06 21:06:26 -04:00
Konstantin Seiler
223b8d611e
Roll back the meta data processing.
2020-03-20 17:31:18 +11:00
Konstantin Seiler
c9117542eb
Refactor TrackMetaData in the player and add the metadata to the player events.
...
Fire more events in the --onevent script and set more variables.
2020-03-12 23:01:45 +11:00
Konstantin Seiler
d4d55254b0
address merge conflict
2020-03-10 23:53:58 +11:00
Konstantin Seiler
667e559340
Merge remote-tracking branch 'origin/dev' into blocking_sink_events
2020-03-10 23:52:20 +11:00
Konstantin Seiler
6f28b0486f
Emit blocking sink events
2020-03-10 23:26:01 +11:00
Ash
ef27b4bce3
Disable gapless playback via runtime flag ( #444 )
...
* Enable gapless playback via runtime flag
* Set gapless playback as default, use `--disable-gapless` to turn it off
* Ensure sink restarts b/w tracks when gapless is disabled
2020-03-10 13:00:57 +01:00
Sean McNamara
ac0df7e11f
Merge https://github.com/librespot-org/librespot into gst1.0-2020
2020-02-14 19:01:42 -05:00
Konstantin Seiler
873f86bb96
Cancel preload requests to free bandwidth when repeating the same track.
2020-02-07 23:54:09 +11:00
Konstantin Seiler
18d1181bf5
Clean up some code
...
Ensure the player events are emitted correctly.
Only call the external script on events we want to notify about.
Stop sink when loading to pause.
cargo fmt
2020-02-03 18:58:44 +11:00
Konstantin Seiler
ead794f4fd
Correct notifications when loading the same track again.
2020-02-03 14:31:15 +11:00
Konstantin Seiler
499824a6ba
rust fmt
2020-02-03 11:57:09 +11:00
Konstantin Seiler
981b76bace
Keep the sink open
...
Fix typo
2020-02-03 10:11:27 +11:00
Konstantin Seiler
6fed8d0413
Make preloading work.
2020-02-03 09:15:56 +11:00
Konstantin Seiler
349e182d41
Smarter handling of preloading and loading of tracks that are already loaded.
2020-02-03 09:15:48 +11:00
Konstantin Seiler
8756341201
Remove debug message
2020-02-02 11:12:17 +11:00
Konstantin Seiler
9eef690a22
Some clean up
2020-02-02 11:08:46 +11: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