Comments (8)
organization of streams via JSON-RPC (like adding, removing, renaming) is on the roadmap.
Maybe I will add the pipe creation mode as an optional query part to the pipe's URI.
Something like: -s pipe:///tmp/snapfifo?mode=[read|create]
from snapcast.
It's now configurable in the develop branch (86b34af). If you want to test it before the release (ETA during the weekend):
"read mode" (not create the fifo):
-s "pipe:///tmp/snapfifo?mode=read"
"create mode" (create the fifo if not exists):
-s "pipe:///tmp/snapfifo?mode=create"
Current default (if unconfigured) is create
, i.e. behaves as before. This might change to read
in future releases. The read
mode already seems to work well with mpd
. When I stop mpd, mpd removes the fifo and the Snapserver keeps trying to open the fifo until mpd is restarted.
from snapcast.
It's now released in the v0.7.0. You can configure it as described in my last post.
from snapcast.
would it help if the Snapserver would have a "not create pipe" mode, where the server waits until someone creates the file?
=> Pulseaudio would create the pipe, but would it work after reboot? Wouldn't the pipe still be there?
from snapcast.
Allowing a "not create pipe" mode would most likely solve my issue. It might even be useful in scenarios where we would want to change the source of snapserver to read different pipes to read different streams dynamically. Could be something nice to expose through the REST service calls.
I assume that pulseaudio would remove the pipe when it unloads the module on shutdown. If it isn't, then it's a pulseaudio bug.
from snapcast.
Works great! Thanks a lot!
from snapcast.
@pbros you mentioned that you use pulseaudio for A2DP to snapcast. Would you be so kind and tell us how to do so? Thanks in advance.
from snapcast.
If you need I can go dig out the config, but essentially I setup my ubuntu 16.04 laptop as A2DP receiver. Then, instead of the laptop's speakers, I configured pulseaudio to output everything into a pipe, which I then configured as an input in snapserver.
from snapcast.
Related Issues (20)
- feature request: hidden / meta-only sources HOT 2
- The compilation of Snapcast in OpenWrt 23.05.3 still encounters errors and remains unresolved for an extended period HOT 1
- Prefer dlopen() for dynamic library loading
- Move 'heavy lifting' to server (from client) HOT 1
- Cover Art URI schema HOT 2
- Snapserver service won't start HOT 3
- Snapserver protocol expansion to dynamically use source HOT 12
- music dropouts/block completely on snapserver HOT 1
- Chromecast support HOT 5
- Register snapcast service name
- No metadata and stream control
- WIP: snapclient 0.28.0 (armbian/armv7l) despite repeated attempts cannot connect to snapserver 0.28.0 (openwrt/arm64) after some time. HOT 4
- [Error] (main) Exception: Can't set channel count: Invalid argument
- Add ability to set different sample rate for different streams HOT 4
- Snapclient blocks soundcard/ALSA and stops playing after changing radio station HOT 10
- changing server via the API HOT 1
- Ownership for "/var/lib/snapclient" gets not changed by APT installer when updating from older Debian version which uses a different service user HOT 2
- Issue on rasberry pi 5 (and a workaround) HOT 2
- On Snapclient Version 0.27.0, --hostID arg doesn't work HOT 1
- SHA256 Mismatch on Homebrew Install HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from snapcast.