Pārlūkot izejas kodu

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
Lyndon Brown 4 gadi atpakaļ
vecāks
revīzija
28061dffe2
4 mainītis faili ar 24 papildinājumiem un 5 dzēšanām
  1. 18 3
      Cargo.lock
  2. 3 2
      playback/Cargo.toml
  3. 1 0
      playback/src/audio_backend/pulseaudio.rs
  4. 2 0
      playback/src/lib.rs

+ 18 - 3
Cargo.lock

@@ -1189,12 +1189,25 @@ dependencies = [
  "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
+[[package]]
+name = "libpulse-simple-sys"
+version = "1.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libpulse-sys 1.15.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
 [[package]]
 name = "libpulse-sys"
-version = "0.0.0"
+version = "1.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-derive 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -1334,7 +1347,8 @@ dependencies = [
  "gstreamer-app 0.15.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "jack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
- "libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libpulse-simple-sys 1.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libpulse-sys 1.15.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "librespot-audio 0.1.3",
  "librespot-core 0.1.3",
  "librespot-metadata 0.1.3",
@@ -3310,7 +3324,8 @@ dependencies = [
 "checksum libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9"
 "checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
 "checksum libmdns 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5d8582c174736c53633bc482ac709b24527c018356c3dc6d8e25a788b06b394e"
-"checksum libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9bb11b06faf883500c1b625cf4453e6c7737e9df9c7ba01df3f84b22b083e4ac"
+"checksum libpulse-simple-sys 1.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b72cb239bc4de6858fa0bbad27419e72cd4466f079ca56f21d94b0a712ab02e"
+"checksum libpulse-sys 1.15.3 (registry+https://github.com/rust-lang/crates.io-index)" = "706e95c4b87ebb81c1e7763c74bf7d5ba897208f1a8aa5fc7bea8298dee8f2ca"
 "checksum librespot-tremor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b155a7dc4e4d272e01c37a1b85c1ee1bee7f04980ad4a7784c1a6e0f2de5929b"
 "checksum linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
 "checksum lock_api 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"

+ 3 - 2
playback/Cargo.toml

@@ -25,7 +25,8 @@ shell-words = "0.1.0"
 
 alsa            = { version = "0.2", optional = true }
 portaudio-rs    = { version = "0.3", optional = true }
-libpulse-sys    = { version = "0.0.0", optional = true }
+libpulse-sys        = { version = "1.11", optional = true, default-features = false }
+libpulse-simple-sys = { version = "1.11", optional = true, default-features = false }
 jack            = { version = "0.5", optional = true }
 libc            = { version = "0.2", optional = true }
 rodio           = { version = "0.13", optional = true, default-features = false }
@@ -39,7 +40,7 @@ zerocopy        = { version = "0.2", optional = true }
 [features]
 alsa-backend = ["alsa"]
 portaudio-backend = ["portaudio-rs"]
-pulseaudio-backend = ["libpulse-sys", "libc"]
+pulseaudio-backend = ["libpulse-sys", "libpulse-simple-sys", "libc"]
 jackaudio-backend = ["jack"]
 rodio-backend = ["rodio", "cpal"]
 sdl-backend = ["sdl2"]

+ 1 - 0
playback/src/audio_backend/pulseaudio.rs

@@ -1,6 +1,7 @@
 use super::{Open, Sink};
 use libc;
 use libpulse_sys::*;
+use libpulse_simple_sys::*;
 use std::ffi::CStr;
 use std::ffi::CString;
 use std::io;

+ 2 - 0
playback/src/lib.rs

@@ -13,6 +13,8 @@ extern crate portaudio_rs;
 
 #[cfg(feature = "pulseaudio-backend")]
 extern crate libpulse_sys;
+#[cfg(feature = "pulseaudio-backend")]
+extern crate libpulse_simple_sys;
 
 #[cfg(feature = "jackaudio-backend")]
 extern crate jack;