mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Merge pull request #997 from WhyNotHugo/avoid-unwrap-disco
Avoid crash when Avahi is not available
This commit is contained in:
commit
be9a393b2a
3 changed files with 11 additions and 10 deletions
|
@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- [playback] Adhere to ReplayGain spec when calculating gain normalisation factor.
|
||||
- [playback] `alsa`: Use `--volume-range` overrides for softvol controls
|
||||
- [connect] Don't panic when activating shuffle without previous interaction.
|
||||
- [main] Fix crash when built with Avahi support but Avahi is locally unavailable.
|
||||
|
||||
### Removed
|
||||
- [playback] `alsamixer`: previously deprecated option `mixer-card` has been removed.
|
||||
|
|
|
@ -111,8 +111,7 @@ impl Builder {
|
|||
None,
|
||||
port,
|
||||
&["VERSION=1.0", "CPath=/"],
|
||||
)
|
||||
.unwrap();
|
||||
).map_err(|e| Error::DnsSdError(io::Error::new(io::ErrorKind::Unsupported, e)))?;
|
||||
|
||||
} else {
|
||||
let responder = libmdns::Responder::spawn(&tokio::runtime::Handle::current())?;
|
||||
|
|
17
src/main.rs
17
src/main.rs
|
@ -1581,19 +1581,15 @@ async fn main() {
|
|||
|
||||
if setup.enable_discovery {
|
||||
let device_id = setup.session_config.device_id.clone();
|
||||
|
||||
discovery = match librespot::discovery::Discovery::builder(device_id)
|
||||
match librespot::discovery::Discovery::builder(device_id)
|
||||
.name(setup.connect_config.name.clone())
|
||||
.device_type(setup.connect_config.device_type)
|
||||
.port(setup.zeroconf_port)
|
||||
.launch()
|
||||
{
|
||||
Ok(d) => Some(d),
|
||||
Err(e) => {
|
||||
error!("Discovery Error: {}", e);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
Ok(d) => discovery = Some(d),
|
||||
Err(err) => warn!("Could not initialise discovery: {}.", err),
|
||||
};
|
||||
}
|
||||
|
||||
if let Some(credentials) = setup.credentials {
|
||||
|
@ -1606,6 +1602,11 @@ async fn main() {
|
|||
)
|
||||
.fuse(),
|
||||
);
|
||||
} else if discovery.is_none() {
|
||||
error!(
|
||||
"Discovery is unavailable and no credentials provided. Authentication is not possible."
|
||||
);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
loop {
|
||||
|
|
Loading…
Reference in a new issue