Comments (8)
I've seen this on a few systems and unfortunately I have no idea what's happening. In some cases, TCP packets sent to the UPnP device (Sonos or other) takes forever to reach it, it happens in bursts and buffering is not enough to deal with that. I assume it's network configuration/prioritization related, but I really don't understand. There is nothing special in the code at that place, just a send() of bytes that sometimes return after more than a couple of sec, even if the other party is supposed to be ready. It's a blocking send, but I've tried using a non-blocking socket and verify it's ready for writing with no better result. The thread which is sending packets over HTTP has nothing else to do, so even if it's suspended in the send, it does not prevent anything else to run. And there is no reason why the send would block for long because the data are sent from a UDP source, so they arrive in real time, it's not like TCP should suspend the connection because the player is full ... basically, no idea again except look at your router for some traffic prioritisation maybe.
from airconnect.
I used to have a similar problem which solved itself magically if replacing the flac codec with pcm wav.
from airconnect.
from airconnect.
Any help on finding this issue would be really appreciated. I've seen it on Windows, Linux and MacOS .... The difference with pcm vs flac is that each send() in PCM is 1408 bytes, so closer to MTU where in flac, each call is less as data are compressed. I'm wondering if there is not something funny with Nagle/MSS and all that. I tried that route a while ago but could find anything
from airconnect.
I've added TCP_NODELAY in 0.2.0.4 - I can't remember if I tried that in the past. Let me know how it works
from airconnect.
from airconnect.
That's correct, Sonos does not accept PCM raw format, it must be encapsulated into WAV or AIFF (which is really horrible ...)
from airconnect.
closed for inactivity
from airconnect.
Related Issues (20)
- Sonos Play3 paired as Stereo ist not discoverd by airconnect HOT 5
- Airconnect on Ubuntu with Virtual Machine Hyper-V HOT 14
- Aircast sends 500 error when used with pipewire airplay sink HOT 16
- Allow for not appending '+' to the name of clients HOT 9
- How I can use this in conjunction with multi-speaker listening? HOT 4
- running from command line works as expected but running as a service doesnt HOT 3
- Health check support HOT 2
- aircast-linux-x86-static Buffer overrun 1025 HOT 2
- Use with ESP32 HOT 9
- Unable to start application on Mac HOT 2
- 1.5.2.zip file missing? HOT 3
- [Doc] Wrong reference to Spotify players HOT 1
- Does not appear as airplay speaker HOT 20
- Can somebody help me please on osx HOT 2
- Removing renderer HOT 5
- Windows Identifying AirConnectUPNP as a virus HOT 2
- Too Many Missing Frames HOT 1
- Sonos - Starting playback takes very long time to start HOT 18
- deleted HOT 5
- SSL problem with Raspberry Pi 5 HOT 2
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 airconnect.