[pulseaudio-discuss] RAOP2 patch testing result

Alexander E. Patrakov patrakov at gmail.com
Thu Nov 13 09:39:45 PST 2014


13.11.2014 02:13, Martin Blanchard wrote:
> On Tue, 2014-11-11 at 23:45 +0500, Alexander E. Patrakov wrote:
>> Hi.
>
> Hello Alexander!
>
>> I have cloned the raop2-v2 branch from
>> https://github.com/colinleroy/pulseaudio
>
> First, thanks for the testings.
>
>> The following test was applied.
>>
>> I have installed the "Android HiFi" application (also known as "HiFi
>> Speaker"), version 1.7 Beta, on my Android phone, and started it.
>>
>> Link: http://forum.xda-developers.com/showthread.php?p=29986442
>>
>> Version is important: this one is possibly-buggy in an interesting way.
>> Also, newer versions require a license for more than 30 minutes of
>> playback. Note: for some reason, Google Play has removed this app, so
>> you can only get it from various shady sources such as above.
>>
>> Then, I ran the following command:
>>
>> pacmd load-module module-raop-discover
>>
>> Result: it found the speaker!
>>
>> Then I started mpv on a music file, and redirected its output to the
>> HiFi Speaker using pavucontrol. Result: it worked.
>>
>> Then I pressed the back arrow to seek back. Result: it froze.
>
> I can reproduce that, will try to fix it. You should not experience such
> a problem with GStreamer based players, I think. Have you try any other
> players?

I had no GStreamer-based players installed, so installed gst123 for a 
quick test. Result: same freeze.

Also tested with VLC, seeking there does not freeze.

With Bino, I was able to trigger this assertion failure:

E: [raop-sink-[192.168.1.39]:5000] rtsp_client.c: Assertion 'c->url' 
failed at modules/rtp/rtsp_client.c:441, function rtsp_exec(). Aborting.


>
>> Then I killed the HiFi Speaker application on Android. Result:
>> PulseAudio unfroze mpv's stream and moved it back to analog headphones.
>>
>> Then I started Airfoil Speakers on Android. Result: PulseAudio does not
>> see it, even if module-raop-discover is reloaded.
>
> This may be a module-raop-discover bug (Avahi related). Can you post the
> full pulseaudio log?

Sure. And here is what "avahi-browse --all" prints:

aep at aep-haswell ~/raop/pulseaudio $ avahi-browse --all
+   eno1 IPv6 aep at aep-haswell: Built-in Audio Digital Stereo (HDMI) 
_pulse-sink._tcp     local
+   eno1 IPv6 aep at aep-haswell: Built-in Audio Analog Stereo 
_pulse-sink._tcp     local
+   eno1 IPv4 aep at aep-haswell: Built-in Audio Digital Stereo (HDMI) 
_pulse-sink._tcp     local
+   eno1 IPv4 aep at aep-haswell: Built-in Audio Analog Stereo 
_pulse-sink._tcp     local
+   eno1 IPv6 aep at aep-haswell 
_pulse-server._tcp   local
+   eno1 IPv4 aep at aep-haswell 
_pulse-server._tcp   local
+   eno1 IPv6 aep at aep-haswell: HD Webcam C910 Analog Stereo 
_pulse-source._tcp   local
+   eno1 IPv6 aep at aep-haswell: Built-in Audio Analog Stereo 
_pulse-source._tcp   local
+   eno1 IPv4 aep at aep-haswell: HD Webcam C910 Analog Stereo 
_pulse-source._tcp   local
+   eno1 IPv4 aep at aep-haswell: Built-in Audio Analog Stereo 
_pulse-source._tcp   local
+   eno1 IPv6 aep-haswell                                   _ssh._tcp 
          local
+   eno1 IPv4 aep-haswell                                   _ssh._tcp 
          local
+   eno1 IPv6 aep-haswell [94:de:80:6f:9a:d4] 
_workstation._tcp    local
+   eno1 IPv4 aep-haswell [94:de:80:6f:9a:d4] 
_workstation._tcp    local
+   eno1 IPv6 aep-haswell 
_sftp-ssh._tcp       local
+   eno1 IPv4 aep-haswell 
_sftp-ssh._tcp       local
+   eno1 IPv6 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local
+   eno1 IPv6 5CF8A18FB95B at Android (2) 
_airfoilspeaker._tcp local
+   eno1 IPv4 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local
-   eno1 IPv4 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local
-   eno1 IPv6 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local
+   eno1 IPv4 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local
+   eno1 IPv6 5CF8A18FB95B at Android 
_airfoilspeaker._tcp local

The relevant part of the pulseaudio log is:

D: [raop-sink-[192.168.1.39]:5000] raop-client.c: Can't stream, 
connection not established yet...
D: [raop-sink-[192.168.1.39]:5000] raop-client.c: Can't stream, 
connection not established yet...
D: [raop-sink-[192.168.1.39]:5000] raop-client.c: Can't stream, 
connection not established yet...
D: [raop-sink-[192.168.1.39]:5000] raop-client.c: Can't stream, 
connection not established yet...
D: [pulseaudio] socket-client.c: connect(): Connection refused
E: [pulseaudio] rtsp_client.c: Connection failed: Connection refused

So - it is not on port 5000. This connects and pretends to send audio:

pacmd load-module module-raop-sink 'server=[192.168.1.39]:6000' 
sink_name=raop_output.Airfoil.local 
sink_properties='device.description="Airfoil-Speakers"' protocol=UDP 
encryption=RSA codec=ALAC channels=2 format=16 rate=44100

protocol=TCP causes Airfoil Speakers to crash.

All the attempts of PulseAudio to speak to Airfoil Speakers have been 
logged and attached.

-- 
Alexander E. Patrakov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pulse-raop.log.gz
Type: application/gzip
Size: 44808 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20141113/1e3e9666/attachment-0001.bin>


More information about the pulseaudio-discuss mailing list