[pulseaudio-discuss] An raop2 support

Hajime Fujita crisp.fujita at nifty.com
Fri Sep 13 21:01:45 PDT 2013


Hi Anton,

Thank you for testing and reporting several issues.

Anton Lundin wrote:
> On 06 September, 2013 - Hajime Fujita wrote:
> 
>> Hi Anton,
>>
>> Thank you for your interest.
>>
>> I have switched to a new branch and several new features/fixes are
>> integrated. Could you test this one, if you'd like?
>> https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge
>>
>> The following command should allow you to switch to the latest branch.
>> $ cd pulseaudio-raop2
>> $ git fetch origin
>> $ git checkout -b raop2-for-merge origin/raop2-for-merge
>>
>> Or you can simply clone the whole tree again (assuming that your
>> internet connection to github is fast enough.)
> 
> I tested the new branch, and stuff worked loads better!
> 
> I also tested the patches you posted here on the list on top of current
> master and it worked the same.
> 
> I have quite a few assertions:
> raop_packet_buffer.c: Assertion 'packet->data[4 + 3] == (seq_num & 0xff)' failed at modules/raop/raop_packet_buffer.c:154, function pa_raop_pb_read_packet(). Aborting.
> 
> This should be fully reproducible if you test the raop module against
> XBMC.

Hmm... I thought this should not happen (that's why I inserted assertion
instead of warning).
I found one clear bug in the current implementation.

I've pushed two patches to the `raop2-for-merge1` branch with aiming to
solve this issue (again, sorry for the terrible branch naming!)
https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge1

> Against the Denon receiver i se some errors like:
> E: [lt-pulseaudio] rtsp_client.c: Assertion 'c->url' failed at modules/rtp/rtsp_client.c:400, function rtsp_exec(). Aborting.
> 
> Thats related to when i move the volume slider. I could get you a
> network trace if that helps?

I'm aware of this issue and found out the cause.
I'm now trying to figure out what would be the best way to fix it...

> 
> I also se some:
> D: [lt-pulseaudio] rtsp_client.c: Sending command: RECORD
> E: [raop-sink] module-raop-sink.c: Failed to send UDP packet: Resource temporarily unavailable
> 
> When setting up a stream.
> 
> While i tested the patches posted to the list, i also tested the new
> tunnel sink and it worked to tunnel to a raop sink with the new module
> without the "stuttering", yey =)
> 
> 
> //Anton
> 
> 
>>
>> Anton Lundin wrote:
>>> On 28 August, 2013 - Hajime Fujita wrote:
>>>
>>>> Hello,
>>>>
>>>> Recently I found that the current PulseAudio did not support the latest
>>>> AirPlay audio streaming, so I started to brush up the raop2
>>>> implementation based on Christophe Fergeau and Martin Blanchard's
>>>> implementation.
>>>>
>>>> Here is my ongoing work.
>>>> https://github.com/hfujita/pulseaudio-raop2 (repo)
>>>> http://hfujita.github.io/pulseaudio-raop2/ (brief document)
>>>>
>>>> My primary goal is to enjoy musics in my AV receiver from Linux, but a
>>>> vague ambitious is to get the code merged into upstream so that anyone
>>>> can use the feature by just using distro packages.
>>>>
>>>> Current status:
>>>> * Plays music with Pioneer VSX-43.
>>>> * Sound test (launched from the GNOME sound setting dialog) does not
>>>> work (no sound heard).
>>>> * When stop playing music and then start again, PulseAudio may go into
>>>> an abnormal state (no sound/hang up/crash).
>>>> * Works reasonably fine with VLC/totem but when playing music from
>>>> Rhythmbox, quite rough sound is heard.
>>>> * Packet retransmission is not supported yet.
>>>>
>>>> I'm very happy to hear any sort of suggestions.
>>>> In the near future I may ask several technical questions about
>>>> PulseAudio internals.
>>>
>>> Hi!
>>>
>>> I thought i take it for a spinn and try it against my XBMC machine and my
>>> Denon-1912, and got some mixed results.
>>>
>>> First i thought i test it by running another pulseaudio server on my
>>> machine and use tunnel-sink to connect my "regular" server to the server
>>> with the new raop-module in it, but that didn't really work. Something
>>> with the raop-module doesn't really behave when a tunnel sink is feeding
>>> it.
>>
>> Could you point me out any document that I can follow to reproduce the
>> above situation?
>>
>>> Later i tested to run a real client against it, and that works quite
>>> well!
>>> Occasional stutter, maybe once a minute, when running against XBMC, but
>>> stutter every 10 seconds or so when running against the Denon receiver.
>>
>> This might be fixed by the latest patch I showed before, as they
>> introduce packet retransmission and more precise timing calculation.
>>
>>> Looks like XBMC uses libshairport and it might be a interesting project
>>> to write a module using that to receive raop to pulseaudio?
>>
>> Could be interesting, but my current interest is to use Linux machine as
>> an audio source, not the sink. Also it's beyond my capability right now.
>>
>>>
>>>
>>> //Anton
>>>
>>>
>>
>> Thanks,
>> Hajime
>>
>>
>> _______________________________________________
>> pulseaudio-discuss mailing list
>> pulseaudio-discuss at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
> 


Thanks,
Hajime



More information about the pulseaudio-discuss mailing list