mirror of
https://github.com/badaix/snapcast.git
synced 2025-08-02 08:09:35 +02:00
Add shairport-sync password support
This commit is contained in:
parent
79d6d9a8ee
commit
ae16e74f60
4 changed files with 42 additions and 12 deletions
17
changelog.md
17
changelog.md
|
@ -4,17 +4,26 @@
|
|||
|
||||
### Features
|
||||
|
||||
- Client: TODO
|
||||
- Client: Add PulseAudio player backend (Issue #722)
|
||||
- Client: Configurable buffer time for alsa and pulse players
|
||||
- Server: If docroot is not configured, a default page is served (Issue #711)
|
||||
- Server: airplay source supports "password" parameter (Issue #754)
|
||||
|
||||
### Bugfixes
|
||||
|
||||
- TODO
|
||||
- Server: airplay source deletes Shairport's meta pipe on exit (Issue #672)
|
||||
- Server: alsa source will not send silece when going idle (Issue #729)
|
||||
- Client: "make install" will set correct user/group for snapclient (Issue #728)
|
||||
- Client: Fix printing UTF-8 device names on Windows (Issue #732)
|
||||
- Client: Fix stuttering on alsa player backend (Issue #722, #727)
|
||||
|
||||
### General
|
||||
|
||||
- TODO
|
||||
- Server: Change librespot parameter "killall" default to false (Issue #746, #724)
|
||||
- Snapweb: Update to v0.1.0
|
||||
- Build: Update CMakeLists.txt to build Snapclient on Android
|
||||
|
||||
_Johannes Pohl <snapcast@badaix.de> Thu, 24 Dec 2020 00:13:37 +0200_
|
||||
_Johannes Pohl <snapcast@badaix.de> Sun, 10 Jan 2021 00:13:37 +0200_
|
||||
|
||||
## Version 0.22.0
|
||||
|
||||
|
|
23
debian/changelog
vendored
23
debian/changelog
vendored
|
@ -1,13 +1,24 @@
|
|||
snapcast (0.23.0-1) unstable; urgency=medium
|
||||
|
||||
* Features
|
||||
-TODO
|
||||
* Bugfixes
|
||||
-TODO
|
||||
* General
|
||||
-TODO
|
||||
-Client: Add PulseAudio player backend (Issue #722)
|
||||
-Client: Configurable buffer time for alsa and pulse players
|
||||
-Server: If docroot is not configured, a default page is served (Issue #711)
|
||||
-Server: airplay source supports "password" parameter (Issue #754)
|
||||
|
||||
-- Johannes Pohl <snapcast@badaix.de> Thu, 24 Dec 2020 00:13:37 +0200
|
||||
* Bugfixes
|
||||
-Server: airplay source deletes Shairport's meta pipe on exit (Issue #672)
|
||||
-Server: alsa source will not send silece when going idle (Issue #729)
|
||||
-Client: "make install" will set correct user/group for snapclient (Issue #728)
|
||||
-Client: Fix printing UTF-8 device names on Windows (Issue #732)
|
||||
-Client: Fix stuttering on alsa player backend (Issue #722, #727)
|
||||
|
||||
* General
|
||||
-Server: Change librespot parameter "killall" default to false (Issue #746, #724)
|
||||
-Snapweb: Update to v0.1.0
|
||||
-Build: Update CMakeLists.txt to build Snapclient on Android
|
||||
|
||||
-- Johannes Pohl <snapcast@badaix.de> Sun, 10 Jan 2021 00:13:37 +0200
|
||||
|
||||
snapcast (0.22.0-1) unstable; urgency=medium
|
||||
|
||||
|
|
|
@ -69,15 +69,19 @@ Parameters introduced by Snapclient:
|
|||
Launches [shairport-sync](https://github.com/mikebrady/shairport-sync) and reads audio from stdout
|
||||
|
||||
```sh
|
||||
airplay:///<path/to/shairport-sync>?name=<name>[&dryout_ms=2000][&devicename=Snapcast][&port=5000]
|
||||
airplay:///<path/to/shairport-sync>?name=<name>[&dryout_ms=2000][&devicename=Snapcast][&port=5000][&password=<my password>]
|
||||
```
|
||||
|
||||
Note that you need to have the shairport-sync binary on your machine and the sampleformat will be set to `44100:16:2`
|
||||
|
||||
#### Available parameters
|
||||
|
||||
Parameters used to configure the shairport-sync binary:
|
||||
|
||||
- `devicename`: Advertised name
|
||||
- `port`: RTSP listening port
|
||||
- `password`: Password
|
||||
- `params`: Optional string appended to the shairport-sync invocation. This allows for arbitrary flags to be passed to shairport-sync, for instance `params=--on-start=start.sh%20--on-stop=stop.sh`. The value has to be properly URL-encoded.
|
||||
|
||||
### file
|
||||
|
||||
|
|
|
@ -53,7 +53,13 @@ AirplayStream::AirplayStream(PcmListener* pcmListener, boost::asio::io_context&
|
|||
logStderr_ = true;
|
||||
|
||||
string devicename = uri_.getQuery("devicename", "Snapcast");
|
||||
params_wo_port_ = "\"--name=" + devicename + "\" --output=stdout --use-stderr --get-coverart";
|
||||
string password = uri_.getQuery("password", "");
|
||||
|
||||
params_wo_port_ = "--name=\"" + devicename + "\" --output=stdout --use-stderr --get-coverart";
|
||||
if (!password.empty())
|
||||
params_wo_port_ += " --password \"" + password + "\"";
|
||||
if (!params_.empty())
|
||||
params_wo_port_ += " " + params_;
|
||||
|
||||
port_ = cpt::stoul(uri_.getQuery("port", "5000"));
|
||||
setParamsAndPipePathFromPort();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue