On Wed, 2013-10-16 at 22:04 -0500, Hajime Fujita wrote: > Hi, > > I've been working on raop2 support for the raop module. > > Currently when starting playback through RAOP, there is a huge delay in > sound. 2-3 sec after starting music from a player software, actual sound > starts being heard from the speaker. > And as a result, there is a gap between a screen and sound. For example, > progress counter of a player software shows "00:03" when the actual > music begins. This would be a serious issue when playing movie. > > I'm wondering how I can solve this issue. I think most of the delay is > due to protocol initialization and impossible to reduce. So the feasible > approach might be to tell the application that playback is not yet ready. > > Is there any document or existing module from which I can learn some > idea to address this issue? If you want lip-sync with movies, you "only" need to provide accurate latency information in your sink implementation. The latency reporting is done by handling the PA_SINK_MESSAGE_GET_LATENCY message. It seems that module-raop-sink.c (the version in upstream) already tries pretty hard to estimate the latency accurately. I think the logic depends on TCP's flow control, though, and if I recall correctly, you were working on UDP support. Does the RAOP protocol have any latency reporting functionality? If not, then you can only guess what the real latency is. -- Tanu