hfujita / pulseaudio-raop2

Experimental RAOP2 (Apple AirPlay2) support for PulseAudio
http://hfujita.github.io/pulseaudio-raop2/
Other
137 stars 19 forks source link

AirPlay output device does not show up in sound settings #10

Open leplatrem opened 10 years ago

leplatrem commented 10 years ago

Thanks for this amazing contribution ! I've been waiting for this for a long time :)

My problem is that no Airplay device appear in the sound applet, whereas avahi discovers them well. (I tried restarting avahi too).

I am running Ubuntu 13.10, compiled with the flags you mentionned in the docs, checked the option in paprefs, I am running your pulseaudio version (sound stops when it's killed), and no firewall running.

$ avahi-browse -t --all  | grep Air
+   eth0 IPv6 0024D4764109@Freebox Player                   AirTunes Remote Audio local
+   eth0 IPv4 0024D4A56CA5@Freebox Server                   AirTunes Remote Audio local
+   eth0 IPv4 0024D4764109@Freebox Player                   AirTunes Remote Audio local

I see nothing relevant in pulseaudio log either.. (https://friendpaste.com/4HO4AuJ8052GzgtUko7LpX)

If you have any hints on where to start digging, I would be very grateful ! Thanks !

hfujita commented 10 years ago

Can I see the result of

$ aptitude search ~ipulse

?

I'm particularly curious about if pulseaudio-module-zeroconf is installed.

leplatrem commented 10 years ago

Here it comes !

i   gstreamer0.10-pulseaudio                                                                - GStreamer plugin for PulseAudio                                                                  
i   gstreamer1.0-pulseaudio                                                                 - GStreamer plugin for PulseAudio                                                                  
i   libcanberra-pulse                                                                       - PulseAudio backend for libcanberra                                                               
i   libpulse-dev                                                                            - PulseAudio client development headers and libraries                                              
i   libpulse-mainloop-glib0                                                                 - PulseAudio client libraries (glib support)                                                       
i   libpulse0                                                                               - PulseAudio client libraries                                                                      
idA libpulse0:i386                                                                          - PulseAudio client libraries                                                                      
i   libpulsedsp                                                                             - PulseAudio OSS pre-load library                                                                  
i   pulseaudio                                                                              - PulseAudio sound server                                                                          
i   pulseaudio-module-bluetooth                                                             - Bluetooth module for PulseAudio sound server                                                     
i A pulseaudio-module-gconf                                                                 - GConf module for PulseAudio sound server                                                         
i   pulseaudio-module-raop                                                                  - RAOP module for PulseAudio sound server                                                          
i   pulseaudio-module-x11                                                                   - X11 module for PulseAudio sound server                                                           
i A pulseaudio-module-zeroconf                                                              - Zeroconf module for PulseAudio sound server                                                      
i   pulseaudio-utils                                                                        - Command line tools for the PulseAudio sound server                                               
i A vlc-plugin-pulse                                                                        - PulseAudio plugin for VLC                     

Something weird : the Airplay remotes do not show up when running the locally compiled version. However, they now appear using the packaged version (with pulseaudio -D or after reboot). Unfortunately they do not seem to work and crash...

ManuelSelva commented 10 years ago

HI, any news on this issue. I am facing the same problem on Ubuntu 14.10 (I am really looking for a way to stream my music on my Freebox revolution)

hfujita commented 9 years ago

Hi, thanks to Colin Leroy, I pushed the latest raop2 branch which is rebased on some latest revision of PA master (=close to 5.0). There's a bunch of refactoring which might affect many aspects of the raop2 module. So could you try to see if this issue still exists with the latest version (branch: cl/raop2-v2 commit:1a410ad7)?

ManuelSelva commented 9 years ago

Hi,

I justed pulled the last version of the project: on branch hf/raop2-v2 commit 832019c6f14849fe76175fc7e5adc553cb90ef3c I recompiled the pulseaudio binary.

The problem is still there: no Airplay device appear in the sound applet, whereas avahi still discovers them well. Any idea on this issue ?

hfujita commented 9 years ago

@ManuelSelva If you don't mind could you upload the full log from PulseAudio? You can use https://gist.github.com/ or any other similar service such as pastebin.

ManuelSelva commented 9 years ago

@hfujita Off course I'll do that. I am at office now (it's 8.30 am in France), I'll do it at home this evening.

ManuelSelva commented 9 years ago

Here https://gist.github.com/ManuelSelva/b216a02c24183632aa89#file-pulse-log is a log file obtained using (after having killed the pulseaudio process packaged into my ubuntu distribution)

./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/ --log-time=1 -vvvv 2>&1 | tee pulse.log wait few seconds opens the sound dialog and see that only built in audio is available as output killed pulseaudio with ctrl+c

Please let me know if you need any additionale information or want me to do other tests

hfujita commented 9 years ago

Thanks @ManuelSelva! Here's mine: https://gist.github.com/hfujita/b989814e4109ae5087c8 Looks like you two have the same issue. The issue I think is, your PA does not load module-gconf.so. More specifically, your PA is not looking under src/.libs/ for some reason.

What was your command line option for ./configure? (You can find it in config.log in the top directory.) Mine is

./configure --prefix=/home/hfujita --enable-x11 --disable-hal-compat
piit79 commented 9 years ago

@hfujita Actually, my build wasn't looking under src/.libs either - I had to run it with ./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/.libs Then it started to work. By the way, thanks a lot for the recent update! I feel like I could start using this patched pulseaudio instead of the standard one in Ubuntu :)

ManuelSelva commented 9 years ago

Thanks all for your help. I am progressing but still have an issue. Here are the line dealing with gconf module in my log file when running pulsaudio with -p $(pwd)/src/.libs:

4( 0.015| 0.000) D: [lt-pulseaudio] module.c: Checking for existence of '/home/manu/These/GitHub/pulseaudio-raop2/src/.libs/module-gconf.so': success
95( 0.015| 0.000) E: [lt-pulseaudio] ltdl-bind-now.c: Failed to open module /home/manu/These/GitHub/pulseaudio-raop2/src/.libs/.libs/module-gconf.so: /home/manu/These/GitHub/pulseaudio-r\ aop2/src/.libs/.libs/module-gconf.so: cannot open shared object file: No such file or directory

It succeded in finding the module in the .libs directory but when trying to use it the runtime use a path with ./libs/.libs (twice) and hence doesn't find the so file.

When running with -p $(pwd)/src/ the output is:

6( 0.010| 0.000) D: [lt-pulseaudio] module.c: Checking for existence of '/home/manu/These/GitHub/pulseaudio-raop2/src/module-gconf.so': failure

It doesn't look in .libs directory. What am I doing wrong ? I am feeling that I am amlost there to stream music on my Freebox ;-)

My configure log is:

./configure --prefix=/home/manu --enable-x11 --disable-hal-compat

hfujita commented 9 years ago

What do you get by doing

grep abs_builddir src/Makefile

at the pulseaudio top source directory?

Also, what do you get from

ls -l /proc/`pgrep pulseaudio`/exe

while you are running pulseaudio?

ManuelSelva commented 9 years ago

the grep command returns:

abs_builddir = /home/manu/These/GitHub/pulseaudio-raop2/src -DPA_BUILDDIR=\"$(abs_builddir)\" @echo "Coverage data now available at: $(abs_builddir)/coverage/index.html"

and ls while pulse audio is running:

lrwxrwxrwx 1 manu manu 0 Oct 16 10:11 /proc/26670/exe -> /home/manu/Documents/Manu/These/GitHub/pulseaudio-raop2/src/.libs/lt-pulseaudio

hfujita commented 9 years ago

@ManuelSelva Okay it seems like you have a link from /home/manu/Documents/Manu/These/to /home/manu/These/. What if you try on different directory, which is not a link to some other directory?

(some background: PulseAudio appears to change mode when running from build directory. Looks like only when it is launched in the build directory it tries to look at .libs as well. This directory detection is based on path name. But if there is a link and thus alias for the directory name, this build directory detection fails.)

ManuelSelva commented 9 years ago

@hfujita

Yeahhhh, it's working ! Many thanks and sorry for the late reply, and let me know if one day you come in Grenoble France, I'll introduce my favorites french songs over the air with good french wines ;-)

Two last questions:

1- your log says you have pulseaudio 5, I guess this is because you got it from a version not yet commited and pushed here on git hub ?

2- What is the cleanest way to replace my Ubuntu's packaged pulseaudio by the one I built from your patched version ?

Thanks again,


Manu

hfujita commented 9 years ago

@ManuelSelva Glad to hear it worked. Yeah I'd love to visit France and other European countries as most of the users and developers of this feature seem to live in Europe.

Answers to the questions:

  1. Perhaps you need to pull the latest tag to get the correct version printout. Try git fetch --tags and then ./autogen.sh maybe.
  2. While I have not actually tried yet, but I would start from the pulseaudio 5.0 PPA (https://launchpad.net/~ubuntu-audio-dev/+archive/ubuntu/pulse-testing) and include the raop2 patch in the package.
ManuelSelva commented 9 years ago

@hfujita For the tag question, running git fetch --tags and then git tag -l shows:

.... v3.99.1 v3.99.2 v4.0

Have I a pulsaudio pacthed based on the 5.0 version and my version problem is only about the version reporting or have I a 4.0 version patched ?

hfujita commented 9 years ago

@ManuelSelva Are you actually using my latest branch? What are the output of these commands:

git remote -v
git branch -a
git show HEAD --stat
ManuelSelva commented 9 years ago

@hfujita

git remote -v origin git@github.com:hfujita/pulseaudio-raop2.git (fetch) origin git@github.com:hfujita/pulseaudio-raop2.git (push)

git branch -a * hf/raop2-v2 remotes/origin/HEAD -> origin/hf/raop2-v2...

git show HEAD --stat commit 832019c6f14849fe76175fc7e5adc553cb90ef3c Author: josla972 <josla972@users.noreply.github.com> Date: Sun Oct 12 00:15:00 2014 -0500 ....

hfujita commented 9 years ago

Sorry, looks like I forgot to push tags to my repository. Could you try it again?

ManuelSelva commented 9 years ago

It's ok now. So I already had the 5.0 version but the wrong version was reported ?

hfujita commented 9 years ago

Yes. Version string is generated from git tag, which is not pushed/pulled to/from server by default.