[pulseaudio-discuss] Selecting Airplay as PiulseAudio Sink

Aditya Rajgarhia adityar7 at gmail.com
Wed Jun 1 23:23:54 PDT 2011


On 05/25/2011 03:03 PM, Colin Guthrie wrote:
> If you could give more details I can advice more.
>
> Keep in mind that the Airport support is still rather rubbish in lots of
> ways (I say this as the author!) and does still need work. Timing and
> buffering in particular.

I finally managed to get it working. I was probably not operating the 
GUI applet properly. The Airport is now able to play the audio sent to 
it via PA. But as you point out, there are issues with timing and 
buffering which lead to extremely choppy sound that is basically unusable.

The raop_play tool, however, has no such problems and works perfectly. 
In fact, I can have it use a pipe as a source, and have PA use that pipe 
as the sink, thus streaming all audio to the Airport. This would be fine 
for just playing continuous music, but unfortunately it does not work 
well with non-trivial use cases such as pausing and restarting the 
audio, multiple sources, etc. due to the fifo nature of the pipe (for 
example, it will play remaining data in the pipe before playing new 
incoming data leading to unsynchronized audio from video playback).

You mentioned that some work is needed to tidy up the protocol. Should 
it not be possible to create a PA raop sink by simply copying the 
protocol implementation from raop_play? I looked at the raop_play code 
and the functions implemention the actualy sending the receiving of data 
are quite simple. Or are there other complications in writing the PA 
sink? I'm not familiar with the details of the timing/buffering issues 
you mention nor with how PA works, but is this issue something inherent 
in PA, or do you think raop_play explicitly solves it?

Thanks,

Aditya


More information about the pulseaudio-discuss mailing list