mirror of
https://github.com/badaix/snapcast.git
synced 2025-08-06 10:09:33 +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
|
### 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
|
### 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
|
### 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
|
## Version 0.22.0
|
||||||
|
|
||||||
|
|
23
debian/changelog
vendored
23
debian/changelog
vendored
|
@ -1,13 +1,24 @@
|
||||||
snapcast (0.23.0-1) unstable; urgency=medium
|
snapcast (0.23.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
* Features
|
* Features
|
||||||
-TODO
|
-Client: Add PulseAudio player backend (Issue #722)
|
||||||
* Bugfixes
|
-Client: Configurable buffer time for alsa and pulse players
|
||||||
-TODO
|
-Server: If docroot is not configured, a default page is served (Issue #711)
|
||||||
* General
|
-Server: airplay source supports "password" parameter (Issue #754)
|
||||||
-TODO
|
|
||||||
|
|
||||||
-- 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
|
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
|
Launches [shairport-sync](https://github.com/mikebrady/shairport-sync) and reads audio from stdout
|
||||||
|
|
||||||
```sh
|
```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`
|
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
|
#### Available parameters
|
||||||
|
|
||||||
|
Parameters used to configure the shairport-sync binary:
|
||||||
|
|
||||||
- `devicename`: Advertised name
|
- `devicename`: Advertised name
|
||||||
- `port`: RTSP listening port
|
- `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
|
### file
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,13 @@ AirplayStream::AirplayStream(PcmListener* pcmListener, boost::asio::io_context&
|
||||||
logStderr_ = true;
|
logStderr_ = true;
|
||||||
|
|
||||||
string devicename = uri_.getQuery("devicename", "Snapcast");
|
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"));
|
port_ = cpt::stoul(uri_.getQuery("port", "5000"));
|
||||||
setParamsAndPipePathFromPort();
|
setParamsAndPipePathFromPort();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue