-
Notifications
You must be signed in to change notification settings - Fork 3.8k
snapcast: update to 0.34.0 #27728
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
snapcast: update to 0.34.0 #27728
Conversation
Sort CMAKE_OPTIONS by alphabet and save a few bytes with tab character, instead of repeating "CMAKE_OPTIONS +=" Signed-off-by: Szabolcs Hubai <[email protected]>
1cd9ea7 to
ead6d89
Compare
I'm unsure about using Should I migrate away from |
In upstream |
Yep it could be a bit noisy, I guess that script is mainly designed for OpenWrt's own git projects.
You have the say ;) |
|
You might need to explicitly define alsa support as enabled/disabled, and add dependency if you enable it. I noticed this in one buildbot instancentoday: https://downloads.openwrt.org/snapshots/faillogs/arm_cortex-a7_vfpv4/packages/snapcast/compile.txt On some build runs, alsa is built (as required by other packages), and if it is built before snapcast, it may be detected, if the feature is not explicitly disabled in CMakeLists.txt. |
Thank you hnyman for catching this! 🙏
But there is already |
|
I think that you could drop that AUDIO_SUPPORT conditional. And I think that it would be better to explicitly specify the feature for cmake, if you want it enabled. I am not familiar with sounds packages, so I have no knowledge if that lib is core or extra for this package. |
|
Thank you for your suggetions! |
As Hannu Nyman pointed out, in some cases the build of the package is able to fail: Package snapserver is missing dependencies for the following libraries: libasound.so.2 He said: on some build runs, alsa is built (as required by other packages), and if it is built before snapcast, it may be detected, if the feature is not explicitly disabled in CMakeLists.txt. Also: "I think that you could drop that AUDIO_SUPPORT conditional. AUDIO_SUPPORT is selected e.g. if USB_SUPPORT is selected, so it is not that big restriction." Suggested-by: Hannu Nyman <[email protected]> Signed-off-by: Szabolcs Hubai <[email protected]>
A straightforward update from 0.28.0 (2024-03-19, [1]) to 0.34.0 (2025-10-12, [2]) with almost 400 commits. [3] Notable change is the configurable OpenSSL support (BUILD_WITH_SSL) for both snapserver and snapclient. They will be enabled once I introduce the flavours. In the mean time upsteam moved to it's own organization. [4] Upstream changelog: https://github.com/snapcast/snapcast/blob/v0.34.0/changelog.md [1]: https://github.com/snapcast/snapcast/releases/tag/v0.28.0 [2]: https://github.com/snapcast/snapcast/releases/tag/v0.34.0 [3]: snapcast/snapcast@v0.28.0...v0.34.0 [4]: https://github.com/snapcast Signed-off-by: Szabolcs Hubai <[email protected]>
d7acf5c to
054ec87
Compare
|
|
Mips_24kc currently fails almost all PRs that involve larger dependencies. We can ignore that CI error. |
|
Run tested artifact: mips_24kc-PR27728-be284b3de-packages $ unzip -l mips_24kc-PR27728-be284b3de-packages.zip 'snap*0.34.0*'
Archive: mips_24kc-PR27728-be284b3de-packages.zip
Length Date Time Name
--------- ---------- ----- ----
307702 2025-12-07 23:01 snapclient-0.34.0-r1.apk
579324 2025-12-07 23:01 snapserver-0.34.0-r1.apk
--------- -------
887026 2 filesOpenWrt version: Install: root@GL-AR300M-F5E-NAND:~# apk add --allow-untrusted /tmp/snapserver-0.34.0-r1.apk
(1/1) Upgrading snapserver (0.28.0-r2 -> 0.34.0-r1)
snapserver-0.34.0-r1: installing file to etc/config/snapserver.apk-new
snapserver-0.34.0-r1.post-upgrade: Executing script...
OK: 27 MiB in 151 packages
root@GL-AR300M-F5E-NAND:~# apk add --allow-untrusted /tmp/snapclient-0.34.0-r1.apk
(1/1) Upgrading snapclient (0.28.0-r2 -> 0.34.0-r1)
snapclient-0.34.0-r1: installing file to etc/config/snapclient.apk-new
snapclient-0.34.0-r1.post-upgrade: Executing script...
OK: 27 MiB in 151 packages
root@GL-AR300M-F5E-NAND:~# Run test - snapserver: root@GL-AR300M-F5E-NAND:~# logread -e snapserver
Mon Dec 8 13:40:34 2025 user.info snapserver[1688]: (Snapserver) Version 0.34.0
Mon Dec 8 13:40:34 2025 user.info snapserver[1688]: (Snapserver) Stream plugin directory: '"/usr/share/snapserver/plug-ins"', sandbox directory: '"/usr/share/snapserver/sandbox"'
Mon Dec 8 13:40:34 2025 user.info snapserver[1688]: (Snapserver) Adding source: pipe:///tmp/snapfifo?name=default
Mon Dec 8 13:40:34 2025 user.info snapserver[1688]: (Snapserver) Using HTTP host name: GL-AR300M-F5E-NAND
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (PcmStream) PcmStream: default, sampleFormat: 48000:16:2
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (PipeStream) PipeStream mode: create
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (Server) Stream: {"fragment":"","host":"","path":"/tmp/snapfifo","query":{"chunk_ms":"20","codec":"flac","name":"default","sampleformat":"48000:16:2"},"raw":"pipe:///tmp/snapfifo?chunk_ms=20&codec=flac&name=default&sampleformat=48000%3A16%3A2","scheme":"pipe"}
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (FlacEnc) Init - compression level: 2
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (ControlServer) Creating TCP control acceptor for address: ::, port: 1705
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (ControlServer) Creating HTTP acceptor for address: ::, port: 1780
Mon Dec 8 13:40:35 2025 user.info snapserver[1688]: (StreamServer) Creating TCP stream acceptor for address: ::, port: 1704
Mon Dec 8 13:40:36 2025 user.info snapserver[1688]: (Snapserver) Number of threads: 2, hw threads: 1
Mon Dec 8 13:40:36 2025 user.err snapserver[1688]: (AsioStream) Error reading message: End of file, length: 0, ec: asio.misc:2
Mon Dec 8 13:40:36 2025 user.info snapserver[1688]: (AsioStream) No data since 120 ms, switching to idleRun test - snapclient: connected to another snapserver on the network root@GL-AR300M-F5E-NAND:~# logread -e snapclient
Mon Dec 8 13:40:33 2025 user.warn snapclient[1633]: (Snapclient) Options '--host' and '--port' are deprecated. Please add the server URI as last command line argument
Mon Dec 8 13:40:36 2025 user.info snapclient[1633]: (Snapclient) Version 0.34.0
Mon Dec 8 13:40:36 2025 user.info snapclient[1633]: (Connection) Resolving host IP for: snapcast
Mon Dec 8 13:40:41 2025 user.err snapclient[1633]: (Connection) Failed to resolve host 'snapcast', error: Host not found (non-authoritative), try again later
Mon Dec 8 13:40:41 2025 user.err snapclient[1633]: (Controller) Error: Host not found (non-authoritative), try again later
Mon Dec 8 13:40:41 2025 user.info snapclient[1633]: (Controller) Reconnecting
Mon Dec 8 13:40:42 2025 user.info snapclient[1633]: (Connection) Resolving host IP for: snapcast
Mon Dec 8 13:40:47 2025 user.err snapclient[1633]: (Connection) Failed to resolve host 'snapcast', error: Host not found (non-authoritative), try again later
Mon Dec 8 13:40:47 2025 user.err snapclient[1633]: (Controller) Error: Host not found (non-authoritative), try again later
Mon Dec 8 13:40:47 2025 user.info snapclient[1633]: (Controller) Reconnecting
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Connection) Resolving host IP for: snapcast
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Connection) Connecting to host: 192.168.xxx.yyy:1704, port: 1704, protocol: tcp
Mon Dec 8 13:40:48 2025 user.notice snapclient[1633]: (Connection) Connected to snapcast
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Connection) My MAC: "de:ad:be:ef:bf:5f", socket: 8
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Controller) ServerSettings - buffer: 1000, latency: 0, volume: 100, muted: 0
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Controller) Codec: flac, sampleformat: 44100:16:2
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Player) Player name: alsa, device: default, description: Default Audio Device, idx: 1, sharing mode: unspecified, parameters: <none>
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Player) Mixer mode: software, parameters: <none>
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Player) Sampleformat: 44100:16:2, stream: 44100:16:2
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Alsa) Using default buffer_time: 80 ms, default fragments: 4
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Alsa) Period time too small, changing from 20000 to 21333
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Alsa) PCM name: default, sample rate: 44100 Hz, channels: 2, buffer time: 85328 us, periods: 4, period time: 21333 us, period frames: 940
Mon Dec 8 13:40:48 2025 user.info snapclient[1633]: (Alsa) Failed to get chunk
Mon Dec 8 13:42:24 2025 user.info snapclient[1633]: (TimeProvider) Last time sync older than a minute. Clearing time buffer
Mon Dec 8 13:42:24 2025 user.info snapclient[1633]: (Controller) diff to server [ms]: 3.99654e+08
Mon Dec 8 13:42:29 2025 user.notice snapclient[1633]: (Alsa) No chunk received for 5000ms. Closing ALSA.
Mon Dec 8 13:43:10 2025 user.info snapclient[1633]: (Alsa) Period time too small, changing from 20000 to 21333
Mon Dec 8 13:43:10 2025 user.info snapclient[1633]: (Alsa) PCM name: default, sample rate: 44100 Hz, channels: 2, buffer time: 85328 us, periods: 4, period time: 21333 us, period frames: 940 |
| -DBUILD_WITH_ALSA=ON \ | ||
| -DBUILD_WITH_AVAHI=OFF \ | ||
| -DBUILD_WITH_JACK=OFF \ | ||
| -DBUILD_WITH_PIPEWIRE=OFF \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xabolcs Out of curiosity, why is snapcast built with ALSA only and not also with the more modern tooling Pipewire/jack ?
Otherwise, the PR is good to go :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, why is snapcast built with ALSA only
Because this is Spartaaaaaaaaa! 😉
Those JACK and PipeWire backends are not implemented (packaged in OpenWrt) yet, and in the end OpenWrt is still an embedded distribution.
But as in the earlier PR I already wrote: I plan a minimal and a full flavour for these!
A slim with ALSA and a heavier with Pulse (and other) backend(s)!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because this is Spartaaaaaaaaa!
I hope I was not the messenger ! LOL!
Those JACK and PipeWire backends are not implemented (packaged in OpenWrt)
It makes sense now.
📦 Package Details
Maintainer:
Description:
A straightforward update from 0.28.0 (2024-03-19) to 0.34.0 (2025-10-12).
Notable change is the configurable OpenSSL support (
BUILD_WITH_SSL) for bothsnapserverandsnapclient.They will be enabled once I introduce the flavours.
Compare link is here.
🧪 Run Testing Details
SNAPSHOTath79/nandGL-AR300M✅ Formalities
Dependencies