-
-
Notifications
You must be signed in to change notification settings - Fork 11.4k
Conversation
This reverts commit bca54d8.
What's the use-case for PulseAudio on OSX? |
The main standard use-case: Other PulseAudio clients can play audio on your Mac. For example, you want to stream the audio from your Linux system over to your Mac. In my case, I am playing sound over SSH with PulseAudio. |
What configurations have you tested on? Pulseaudio was removed in #18199 because it couldn't compile reliably. |
I have MacOSX 10.8 with Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn). The old PulseAudio 2.1 (from #18199) also compiled and ran for me but I think CoreAudio support is missing there, that is why I tried PulseAudio 3.0. |
end | ||
|
||
# remove sconv_neon.c because it wont compile and is not needed. | ||
system "echo > src/pulsecore/sconv_neon.c" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you reported this issue to the developers?
Hm, so it's able to build the |
Here are the build logs from the failed build: https://gist.github.com/mistydemeo/e6497ac3ee4e3e2cdd1e |
Not sure if that file is compiling. But I just checked and I have that file in both 10.7 and 10.8 SDK:
I haven't reported it yet. I wasn't sure if there is maybe some setting wrong with the configure script because that file seems ARM (Neon) related. |
I made an upstream report about |
Another related bug report about that modules-coreaudio-detect should be loaded by default on MacOSX is here. Right now, the default config doesn't work out-of-the-box on MacOSX. |
There is another error in PulseAudio ( |
Another issue is when you try to build the trunk ( |
Multiprocessing.h exists, but is just a pointer to CoreServices/CoreServices.h; including it on its own is deprecated (as is FlatCarbon as a whole). That was actually the case at the time this code was done. The proper include would just be to include CoreServices/CoreServices.h. The OS X semaphore code in PulseAudio hasn't been changed substantially for four years. At any rate, this formula still doesn't build for me due to the Multiprocessing.h header. I'm surprised it works for you. Do you have an Xcode+CLT install? |
I have a standard Xcode (4.6.1) installation. Multiprocessing.h is not a pointer for me. It has this content but with the deprecation notice as you said. Probably CoreServices.h would include it indirectly, though (as normally, the main header includes everything else). I filled an upstream bug report here. I checked semaphore-*.c and there is also a POSIX pthreads implementation. I wonder why that isn't used instead. Maybe it is already or we can just patch the build to use that one. |
I pushed another commit which also removes the semaphore-osx.c from the build. It still builds fine for me, so it seems it wasn't used for me. |
Ok, semaphore-posix.c compiles fine but doesn't work because But I also still wonder why the current semaphore-osx.c code doesn't work for you. You say it doesn't find Multiprocessing.h for you although the file exists? So maybe some include path is missing? |
I have rewritten semaphore-osx.c myself (see here). (I also posted this upstream of course. See the bug report.) I also extended the formular so that it uses this rewritten semaphore-osx.c for now. |
Aha, the FlatCarbon one is a pointer to CoreServices.h, while the one in the CarbonCore framework is not. Odd. Thanks for submitting the bug reports. At this point there are enough issues that I won't pull PulseAudio as is, but can you keep track of the issues and resubmit if/when the PulseAudio devs act on them? Thanks! |
PulseAudio 3.0 compiles fine with minimal patching. This is the updated formular. PulseAudio works then and has CoreAudio support. To try out, edit
/usr/local/etc/pulse/default.pa
and changemodule-detect
tomodule-coreaudio-detect
.Note that the HEAD also almost compiles. The script
git-version-info
fails because it cannot find the.git
dir / git info. When trying that manually, something in the autogen fails - install-sh is missing.