[pulseaudio-discuss] PA and OS X
Daniel Mack
daniel at caiaq.de
Sun Jul 19 04:26:29 PDT 2009
On Sun, Jul 19, 2009 at 12:13:05PM +0100, Colin Guthrie wrote:
> 'Twas brillig, and Daniel Mack at 18/07/09 13:05 did gyre and gimble:
>> I've put some pieces together now and what I got is
>>
>> - a kernel module that loads and unloads fine and offers a virtual
>> stereo soundcard which can be selected by any CoreAudio application.
>> - a user space interface to share the ring buffers with application so
>> that audio can be transported in and out.
>> - a skeleton for an
>> application that connects to that interface and maps the shared memory
>> buffers.
>> - a PreferencePane which has no function yet but can be used later to
>> control setting for the virtual audio device and the local sound server.
>>
>> Sounds like a lot, but there's still a long way to go until we'll hear
>> anything.
>
> That's still a million times further on than last week! Awesome work :D
For those interested, I've put my tree online:
http://github.com/zonque/PulseAudioOSX/tree/master
>> So it seams that libglib2 is missing in the linker list. Haven't
>> debugged any further, hoping that someone has a solution already :)
>
> Hmmm. This is some sort of over/under linking issue I think. The place
> where this is defined is based on a weak reference, which means that if
> it doesn't exist, it should allow the app to continue.
>
> I suspect that the clue to fixing this would be in the PA_GCC_WEAKREF
> macro. I suspect this is simply not working on OSX.
Ah, so you're saying PA doesn't need glib2 at all?
> It's probably quite a trivial patch in src/pulsecore/proplist-util.c
>
> It checks for and defines _g_get_application_name, but if the
> PA_GCC_WEAKREF macro is not defined we don't do anything... I'd imagine
> a simple #else and a dummy implementation of _g_get_application_name()
> that returns NULL.
>
> Now interestingly, pulse does check for it via "if
> (_g_get_application_name)" so it should handle this already... Hmmm. I
> guess the dynamic linker isn't loading the library needed for the
> weakref for you. I'm not really sure now I've gone through this :s
>
> Check first if the PA_GCC_WEAKREF macro is defined and tyr and get some
> more info and follow it through is my recommendation for now.
>
> Whatever you do, you may have to do the same for
> _gtk_window_get_default_icon_name and _gdk_display...
Hmm. Maybe someone can come up with a patch :)
Thanks,
Daniel
More information about the pulseaudio-discuss
mailing list