GNOME Bugzilla – Bug 564948
Fix and clean up osxaudio
Last modified: 2009-01-23 08:40:10 UTC
osxaudiosrc doesn't work, and the code needs cleaning in general.
Created attachment 124903 [details] [review] syntax and formatting cleansing in prep for real work
Note that this is a patch against songbird's version of osxaudio. Which fixes a bunch of osxaudiosink problems, but breaks osxaudiosrc (or breaks it worse?), so I haven't pushed that upstream. Hopefully we'll be able to merge Justin and my work and get it back into gstreamer soon.
Created attachment 125057 [details] [review] syntax and formatting cleansing in prep for real work For consistency, I've updated the osxaudio_tidy patch to match exactly what I committed into my own repository. Note that there is one flaw in the patch: the parent of the ring buffer is specified as GST_TYPE_OSX_RING_BUFFER when it should really be GST_TYPE_RING_BUFFER.
Created attachment 125058 [details] [review] more cleanup and make osxaudiosrc work this needs to be applied after the formatting patch. it includes the parent type correction.
Created attachment 125242 [details] [review] more cleanup and make osxaudiosrc work input channels should get negotiated properly now
Justin, This looks pretty good - thanks for doing the work! Can you attach a single patch (either against gst cvs or songbird svn; I don't really mind too much) combining these? It'll make merging things a bit easier for me. Additionally, please remove all of the UNUSED() stuff. It's not done like that anywhere else; gobject style doesn't require that - so it's just extra noise.
Created attachment 125661 [details] [review] combine the two patches into one, remove UNUSED stuff
Landed this in cvs along with the rewrite it was based on (from songbird svn): 2009-01-02 Michael Smith <msmith@songbirdnest.com> Patch by: Justin Karnegas <justin@affinix.com> and Michael Smith <msmith@songbirdnest.com> * sys/osxaudio/gstosxaudio.c: * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudioelement.h: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosink.h: * sys/osxaudio/gstosxaudiosrc.c: * sys/osxaudio/gstosxaudiosrc.h: * sys/osxaudio/gstosxringbuffer.c: * sys/osxaudio/gstosxringbuffer.h: Rewrite osxaudio to work more flexibly and more reliably, using a different abstraction layer of coreaudio that is the recommended way of doing low-level audio I/O on OSX. Fixes byg #564948.