Re-enable VV on the new branch voice-video voice-video_bookmark
authorStephen Holt <sholt@adium.im>
Sat, 19 Nov 2011 15:06:54 -0800
branchvoice-video
changeset 4303 2462557cacc1
parent 4302 e1b9ae18f03b
Re-enable VV on the new branch
Adium.xcodeproj/project.pbxproj
Dependencies/build.sh
Dependencies/phases/build_purple.sh
Dependencies/phases/make_frameworks.sh
Frameworks/Adium Framework/Source/AIAccount.h
Frameworks/Adium Framework/Source/AIAdiumProtocol.h
Frameworks/libglib.framework/Versions/2.0.0/Headers/glibconfig.h
Frameworks/libglib.framework/Versions/2.0.0/Headers/libglib.h
Frameworks/libglib.framework/Versions/2.0.0/libglib
Frameworks/libgmodule.framework/Versions/2.0.0/Headers/libgmodule.h
Frameworks/libgmodule.framework/Versions/2.0.0/libgmodule
Frameworks/libgobject.framework/Versions/2.0.0/Headers/libgobject.h
Frameworks/libgobject.framework/Versions/2.0.0/libgobject
Frameworks/libgstapp.framework/Headers
Frameworks/libgstapp.framework/Resources
Frameworks/libgstapp.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstapp.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstapp.framework/Versions/0.10.0/libgstapp
Frameworks/libgstapp.framework/Versions/Current
Frameworks/libgstapp.framework/libgstapp
Frameworks/libgstaudio.framework/Headers
Frameworks/libgstaudio.framework/Resources
Frameworks/libgstaudio.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstaudio.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstaudio.framework/Versions/0.10.0/libgstaudio
Frameworks/libgstaudio.framework/Versions/Current
Frameworks/libgstaudio.framework/libgstaudio
Frameworks/libgstbase.framework/Headers
Frameworks/libgstbase.framework/Resources
Frameworks/libgstbase.framework/Versions/0.10.0/Headers/no_headers_here.txt
Frameworks/libgstbase.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstbase.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstbase.framework/Versions/0.10.0/libgstbase
Frameworks/libgstbase.framework/Versions/Current
Frameworks/libgstbase.framework/libgstbase
Frameworks/libgstcontroller.framework/Headers
Frameworks/libgstcontroller.framework/Resources
Frameworks/libgstcontroller.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstcontroller.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstcontroller.framework/Versions/0.10.0/libgstcontroller
Frameworks/libgstcontroller.framework/Versions/Current
Frameworks/libgstcontroller.framework/libgstcontroller
Frameworks/libgstdataprotocol.framework/Headers
Frameworks/libgstdataprotocol.framework/Resources
Frameworks/libgstdataprotocol.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstdataprotocol.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstdataprotocol.framework/Versions/0.10.0/libgstdataprotocol
Frameworks/libgstdataprotocol.framework/Versions/Current
Frameworks/libgstdataprotocol.framework/libgstdataprotocol
Frameworks/libgstfarsight.framework/Headers
Frameworks/libgstfarsight.framework/Resources
Frameworks/libgstfarsight.framework/Versions/0.10.0/Headers/no_headers_here.txt
Frameworks/libgstfarsight.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstfarsight.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstfarsight.framework/Versions/0.10.0/libgstfarsight
Frameworks/libgstfarsight.framework/Versions/Current
Frameworks/libgstfarsight.framework/libgstfarsight
Frameworks/libgstinterfaces.framework/Headers
Frameworks/libgstinterfaces.framework/Resources
Frameworks/libgstinterfaces.framework/Versions/0.10.0/Headers/no_headers_here.txt
Frameworks/libgstinterfaces.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstinterfaces.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstinterfaces.framework/Versions/0.10.0/libgstinterfaces
Frameworks/libgstinterfaces.framework/Versions/Current
Frameworks/libgstinterfaces.framework/libgstinterfaces
Frameworks/libgstnet.framework/Headers
Frameworks/libgstnet.framework/Resources
Frameworks/libgstnet.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstnet.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstnet.framework/Versions/0.10.0/libgstnet
Frameworks/libgstnet.framework/Versions/Current
Frameworks/libgstnet.framework/libgstnet
Frameworks/libgstnetbuffer.framework/Headers
Frameworks/libgstnetbuffer.framework/Resources
Frameworks/libgstnetbuffer.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstnetbuffer.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstnetbuffer.framework/Versions/0.10.0/libgstnetbuffer
Frameworks/libgstnetbuffer.framework/Versions/Current
Frameworks/libgstnetbuffer.framework/libgstnetbuffer
Frameworks/libgstreamer.framework/Headers
Frameworks/libgstreamer.framework/PlugIns/libfsfunnel.so
Frameworks/libgstreamer.framework/PlugIns/libfsmsnconference.so
Frameworks/libgstreamer.framework/PlugIns/libfsrtcpfilter.so
Frameworks/libgstreamer.framework/PlugIns/libfsrtpconference.so
Frameworks/libgstreamer.framework/PlugIns/libfsselector.so
Frameworks/libgstreamer.framework/PlugIns/libfsvideoanyrate.so
Frameworks/libgstreamer.framework/PlugIns/libgstadder.so
Frameworks/libgstreamer.framework/PlugIns/libgstalaw.so
Frameworks/libgstreamer.framework/PlugIns/libgstapp.so
Frameworks/libgstreamer.framework/PlugIns/libgstaudiorate.so
Frameworks/libgstreamer.framework/PlugIns/libgstaudioresample.so
Frameworks/libgstreamer.framework/PlugIns/libgstautodetect.so
Frameworks/libgstreamer.framework/PlugIns/libgstcoreelements.so
Frameworks/libgstreamer.framework/PlugIns/libgstcoreindexers.so
Frameworks/libgstreamer.framework/PlugIns/libgstffmpegcolorspace.so
Frameworks/libgstreamer.framework/PlugIns/libgstjrtp.so
Frameworks/libgstreamer.framework/PlugIns/libgstlevel.so
Frameworks/libgstreamer.framework/PlugIns/libgstmulaw.so
Frameworks/libgstreamer.framework/PlugIns/libgstnetsim.so
Frameworks/libgstreamer.framework/PlugIns/libgstnice.so
Frameworks/libgstreamer.framework/PlugIns/libgstosxaudio.so
Frameworks/libgstreamer.framework/PlugIns/libgstosxvideosink.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtp.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtpdemux.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtpjitterbuffer.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtpmanager.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtppayloads.so
Frameworks/libgstreamer.framework/PlugIns/libgstrtsp.so
Frameworks/libgstreamer.framework/PlugIns/libgsttcp.so
Frameworks/libgstreamer.framework/PlugIns/libgsttypefindfunctions.so
Frameworks/libgstreamer.framework/PlugIns/libgstudp.so
Frameworks/libgstreamer.framework/PlugIns/libgstvideobox.so
Frameworks/libgstreamer.framework/PlugIns/libgstvideocrop.so
Frameworks/libgstreamer.framework/PlugIns/libgstvideomixer.so
Frameworks/libgstreamer.framework/PlugIns/libgstvideorate.so
Frameworks/libgstreamer.framework/PlugIns/libgstvideoscale.so
Frameworks/libgstreamer.framework/PlugIns/libgstvolume.so
Frameworks/libgstreamer.framework/Resources
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappsink.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappsrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/audio-enumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/audio.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudioclock.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiofilter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiosink.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiosrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstbaseaudiosink.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstbaseaudiosrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstringbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/mixerutils.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/multichannel.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstadapter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasesink.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasesrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasetransform.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbitreader.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbytereader.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbytewriter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstcollectpads.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstdataqueue.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstpushsrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gsttypefindhelper.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/cdda/gstcddabasesrc.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstcontroller.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstcontrolsource.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstinterpolationcontrolsource.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstlfocontrolsource.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/dataprotocol/dataprotocol.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-base-conference.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-candidate.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-codec.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-conference-iface.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-element-added-notifier.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-enum-types.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-interfaces.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-participant.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-plugin.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-session.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-stream-transmitter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-stream.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-transmitter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/fft/gstfft.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/fft/gstfftf32.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/fft/gstfftf64.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/fft/gstffts16.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/fft/gstffts32.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/floatcast/floatcast.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/glib-compat.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gst.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstbin.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstbufferlist.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstbus.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstcaps.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstchildproxy.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstclock.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstcompat.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstconfig.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstdebugutils.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstelement.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstelementfactory.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstenumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsterror.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstevent.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstfilter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstformat.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstghostpad.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstindex.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstindexfactory.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstinfo.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstinterface.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstiterator.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstmacros.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstmarshal.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstmessage.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstminiobject.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstobject.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpad.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpadtemplate.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstparamspecs.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstparse.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpipeline.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstplugin.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpluginfeature.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpoll.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstpreset.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstquery.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstregistry.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstsegment.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gststructure.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstsystemclock.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttaglist.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttagsetter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttask.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttaskpool.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttrace.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttypefind.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsttypefindfactory.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gsturi.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstutils.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstvalue.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstversion.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/gstxml.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/colorbalance.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/colorbalancechannel.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/interfaces-enumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/mixer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/mixeroptions.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/mixertrack.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/navigation.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/propertyprobe.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/streamvolume.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/tuner.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/tunerchannel.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/tunernorm.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/videoorientation.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/interfaces/xoverlay.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/net/gstnet.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/net/gstnetclientclock.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/net/gstnettimepacket.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/net/gstnettimeprovider.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/netbuffer/gstnetbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/pbutils/descriptions.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/pbutils/install-plugins.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/pbutils/missing-plugins.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/pbutils/pbutils-enumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/pbutils/pbutils.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/riff/riff-ids.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/riff/riff-media.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/riff/riff-read.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstbasertpaudiopayload.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstbasertpdepayload.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstbasertppayload.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstrtcpbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstrtpbuffer.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtp/gstrtppayloads.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtsp-enumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspbase64.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspconnection.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspdefs.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspextension.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspmessage.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtsprange.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtsptransport.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/rtsp/gstrtspurl.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/sdp/gstsdp.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/sdp/gstsdpmessage.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/tag/gsttagdemux.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/tag/tag.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/video/gstvideofilter.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/video/gstvideosink.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/video/video-enumtypes.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/video/video.h
Frameworks/libgstreamer.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstreamer.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstreamer.framework/Versions/0.10.0/libgstreamer
Frameworks/libgstreamer.framework/Versions/Current
Frameworks/libgstreamer.framework/libgstreamer
Frameworks/libgstrtp.framework/Headers
Frameworks/libgstrtp.framework/Resources
Frameworks/libgstrtp.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstrtp.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstrtp.framework/Versions/0.10.0/libgstrtp
Frameworks/libgstrtp.framework/Versions/Current
Frameworks/libgstrtp.framework/libgstrtp
Frameworks/libgstrtsp.framework/Headers
Frameworks/libgstrtsp.framework/Resources
Frameworks/libgstrtsp.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstrtsp.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstrtsp.framework/Versions/0.10.0/libgstrtsp
Frameworks/libgstrtsp.framework/Versions/Current
Frameworks/libgstrtsp.framework/libgstrtsp
Frameworks/libgstsdp.framework/Headers
Frameworks/libgstsdp.framework/Resources
Frameworks/libgstsdp.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstsdp.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstsdp.framework/Versions/0.10.0/libgstsdp
Frameworks/libgstsdp.framework/Versions/Current
Frameworks/libgstsdp.framework/libgstsdp
Frameworks/libgsttag.framework/Headers
Frameworks/libgsttag.framework/Resources
Frameworks/libgsttag.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgsttag.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgsttag.framework/Versions/0.10.0/libgsttag
Frameworks/libgsttag.framework/Versions/Current
Frameworks/libgsttag.framework/libgsttag
Frameworks/libgstvideo.framework/Headers
Frameworks/libgstvideo.framework/Resources
Frameworks/libgstvideo.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings
Frameworks/libgstvideo.framework/Versions/0.10.0/Resources/Info.plist
Frameworks/libgstvideo.framework/Versions/0.10.0/libgstvideo
Frameworks/libgstvideo.framework/Versions/Current
Frameworks/libgstvideo.framework/libgstvideo
Frameworks/libgthread.framework/Versions/2.0.0/Headers/libgthread.h
Frameworks/libgthread.framework/Versions/2.0.0/libgthread
Frameworks/libintl.framework/Versions/8/libintl
Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib
Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib
Frameworks/libmeanwhile.framework/Versions/1/Headers/libmeanwhile.h
Frameworks/libmeanwhile.framework/Versions/1/libmeanwhile
Frameworks/libnice.framework/Headers
Frameworks/libnice.framework/Resources
Frameworks/libnice.framework/Versions/0/Resources/English.lproj/InfoPlist.strings
Frameworks/libnice.framework/Versions/0/Resources/Info.plist
Frameworks/libnice.framework/Versions/0/libnice
Frameworks/libnice.framework/Versions/Current
Frameworks/libnice.framework/libnice
Frameworks/liboil.framework/Headers
Frameworks/liboil.framework/Resources
Frameworks/liboil.framework/Versions/0.3.0/Resources/English.lproj/InfoPlist.strings
Frameworks/liboil.framework/Versions/0.3.0/Resources/Info.plist
Frameworks/liboil.framework/Versions/0.3.0/liboil
Frameworks/liboil.framework/Versions/Current
Frameworks/liboil.framework/liboil
Frameworks/libotr.framework/Versions/2.2.0/libotr
Frameworks/libpurple.framework/Headers
Frameworks/libpurple.framework/Resources
Frameworks/libpurple.framework/Versions/0.10.0/Headers/valgrind.h
Frameworks/libpurple.framework/Versions/0.10.0/Resources/bn_IN/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ca/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ca/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ca/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/cs/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/cs/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/cs/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/da/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/da/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/da/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/de/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/de/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/de/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/de/LC_MESSAGES/libgpg-error.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/el/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/en_GB/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/en_GB/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/en_GB/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/es/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/es/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/es/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fi/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fi/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fi/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fr/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fr/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fr/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/fr/LC_MESSAGES/libgpg-error.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/hr/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/hu/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/hu/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/hu/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/it/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/it/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/it/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ja/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ja/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ja/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/mai/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/mhr/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/mr/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nb/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nb/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nb/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nl/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nl/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/nl/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pl/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pl/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pl/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pl/LC_MESSAGES/libgpg-error.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pt_BR/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pt_BR/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/pt_BR/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ru/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ru/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/ru/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/sv/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/sv/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/sv/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/sv/LC_MESSAGES/libgpg-error.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/tr/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/tr/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/tr/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/uk/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/uk/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/uk/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/zh_CN/LC_MESSAGES/gst-plugins-base-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/zh_CN/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/zh_CN/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/zh_TW/LC_MESSAGES/gst-plugins-good-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/Resources/zh_TW/LC_MESSAGES/gstreamer-0.10.mo
Frameworks/libpurple.framework/Versions/0.10.0/libpurple
Plugins/Purple Service/CBPurpleAccount.h
Plugins/Purple Service/CBPurpleAccount.m
Plugins/Purple Service/ESPurpleJabberAccount.h
Plugins/Purple Service/SLPurpleCocoaAdapter.m
Plugins/Purple Service/adiumPurpleCore.m
Source/AIAdium.h
Source/AIAdium.m
--- a/Adium.xcodeproj/project.pbxproj	Sat Nov 19 15:02:16 2011 -0800
+++ b/Adium.xcodeproj/project.pbxproj	Sat Nov 19 15:06:54 2011 -0800
@@ -120,7 +120,10 @@
 		113900B40F85BF880081A418 /* AIURLHandlerAdvancedPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 113900B30F85BF880081A418 /* AIURLHandlerAdvancedPreferences.m */; };
 		1139011C0F85C9450081A418 /* AIURLHandlerPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1139011B0F85C9450081A418 /* AIURLHandlerPlugin.m */; };
 		1139FFAA0F85260E0081A418 /* AIIRCChannelLinker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1139FFA90F85260E0081A418 /* AIIRCChannelLinker.m */; };
+		113E06AF10D0ABE3005D5B9A /* adiumPurpleMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = 113E06AE10D0ABE3005D5B9A /* adiumPurpleMedia.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		113F26A00F5CC03F00954772 /* AITwitterURLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 113F269F0F5CC03F00954772 /* AITwitterURLParser.m */; };
+		1147FCC410D1CB4C004E9E8D /* AIMediaWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1147FCC310D1CB4C004E9E8D /* AIMediaWindowController.m */; };
+		1147FCC810D1CB83004E9E8D /* AIMediaWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1147FCC710D1CB83004E9E8D /* AIMediaWindow.nib */; };
 		114849B90F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 114849B70F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		114849BA0F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 114849B80F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m */; };
 		114849BC0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 114849BB0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib */; };
@@ -149,6 +152,10 @@
 		117866E20EC759B9003E9B97 /* FTProgressResendRollover_Selected.tif in Resources */ = {isa = PBXBuildFile; fileRef = 117866DC0EC759B9003E9B97 /* FTProgressResendRollover_Selected.tif */; };
 		117866E30EC759B9003E9B97 /* FTProgressResendRollover.tif in Resources */ = {isa = PBXBuildFile; fileRef = 117866DD0EC759B9003E9B97 /* FTProgressResendRollover.tif */; };
 		117D6DC00BC5F0C40080D02B /* notify.png in Resources */ = {isa = PBXBuildFile; fileRef = 117D6DBF0BC5F0C40080D02B /* notify.png */; };
+		1181976810D0B0D2003E8ECA /* adiumPurpleMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 113E06A910D0ABA0005D5B9A /* adiumPurpleMedia.m */; };
+		118199C610D0B65A003E8ECA /* AIMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = 118199C410D0B65A003E8ECA /* AIMedia.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		118199C710D0B65A003E8ECA /* AIMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 118199C510D0B65A003E8ECA /* AIMedia.m */; };
+		11819A0410D0B8BE003E8ECA /* AIMediaController.m in Sources */ = {isa = PBXBuildFile; fileRef = 11819A0310D0B8BE003E8ECA /* AIMediaController.m */; };
 		11819A1B10D0B95D003E8ECA /* AIMediaControllerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 11819A0910D0B90E003E8ECA /* AIMediaControllerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		11879C0B0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */; };
 		11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */; };
@@ -623,6 +630,14 @@
 		34B4B5A40708B049002C4C6D /* ESDebugController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B4B5A20708B049002C4C6D /* ESDebugController.m */; };
 		34B588A1058D833A00E7EF0D /* ExceptionHandling.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34B588A0058D833A00E7EF0D /* ExceptionHandling.framework */; };
 		34B5E2600A7C94D3005186E6 /* AILogDateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B5E25E0A7C94D3005186E6 /* AILogDateFormatter.m */; };
+		34B8936C102BCDAB000ABB8E /* libgstreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89367102BCDAB000ABB8E /* libgstreamer.framework */; };
+		34B8936D102BCDAB000ABB8E /* libgstinterfaces.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89368102BCDAB000ABB8E /* libgstinterfaces.framework */; };
+		34B8936E102BCDAB000ABB8E /* libgstfarsight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89369102BCDAB000ABB8E /* libgstfarsight.framework */; };
+		34B8936F102BCDAB000ABB8E /* libgstbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34B8936A102BCDAB000ABB8E /* libgstbase.framework */; };
+		34B89478102BCDB4000ABB8E /* libgstreamer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89367102BCDAB000ABB8E /* libgstreamer.framework */; };
+		34B89479102BCDB4000ABB8E /* libgstinterfaces.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89368102BCDAB000ABB8E /* libgstinterfaces.framework */; };
+		34B8947A102BCDB4000ABB8E /* libgstfarsight.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34B89369102BCDAB000ABB8E /* libgstfarsight.framework */; };
+		34B8947B102BCDB4000ABB8E /* libgstbase.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34B8936A102BCDAB000ABB8E /* libgstbase.framework */; };
 		34B9C7920A255DCE00CEA8AE /* LogViewerDateFilter.nib in Resources */ = {isa = PBXBuildFile; fileRef = 34B9C7910A255DCE00CEA8AE /* LogViewerDateFilter.nib */; };
 		34BC8F7B0ACA3AAC00562745 /* AIScannerDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 34BC8F790ACA3AAC00562745 /* AIScannerDebug.m */; };
 		34BD9D4A053146CC000AB133 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F59DB6AD033EB74801A8010A /* main.m */; };
@@ -1409,12 +1424,38 @@
 		76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */; };
 		7E6F8A94105611B700C6D80D /* libotr.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
 		7E6F8ACD105613AD00C6D80D /* libotr.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
+		7E7CF7F11124B982001CFC73 /* libgstsdp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E7CF7F01124B982001CFC73 /* libgstsdp.framework */; };
+		7E7CF7F51124B9A8001CFC73 /* libgstsdp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E7CF7F01124B982001CFC73 /* libgstsdp.framework */; };
 		7E824CDD06387FAF00813072 /* LinkEditor.nib in Resources */ = {isa = PBXBuildFile; fileRef = 7E824CCE06387FAF00813072 /* LinkEditor.nib */; };
 		7E824CE106387FAF00813072 /* SHAutoValidatingTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E824CD206387FAF00813072 /* SHAutoValidatingTextView.m */; };
 		7E824CE306387FAF00813072 /* SHLinkEditorWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E824CD406387FAF00813072 /* SHLinkEditorWindowController.m */; };
 		7E824CEB06387FAF00813072 /* SHLinkManagementPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E824CDC06387FAF00813072 /* SHLinkManagementPlugin.m */; };
+		7E884AB81124A2920082963F /* libgstapp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884AB71124A2920082963F /* libgstapp.framework */; };
+		7E884ABA1124A2930082963F /* libgstnet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884AB91124A2930082963F /* libgstnet.framework */; };
+		7E884ABC1124A2930082963F /* libgstnetbuffer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABB1124A2930082963F /* libgstnetbuffer.framework */; };
+		7E884ABE1124A2930082963F /* libgstrtp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABD1124A2930082963F /* libgstrtp.framework */; };
+		7E884AC01124A2930082963F /* libnice.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABF1124A2930082963F /* libnice.framework */; };
+		7E884AE61124A45F0082963F /* libgstapp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884AB71124A2920082963F /* libgstapp.framework */; };
+		7E884AE71124A45F0082963F /* libgstnet.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884AB91124A2930082963F /* libgstnet.framework */; };
+		7E884AE81124A45F0082963F /* libgstnetbuffer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABB1124A2930082963F /* libgstnetbuffer.framework */; };
+		7E884AE91124A45F0082963F /* libgstrtp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABD1124A2930082963F /* libgstrtp.framework */; };
+		7E884AEA1124A45F0082963F /* libnice.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E884ABF1124A2930082963F /* libnice.framework */; };
 		7E959AD010E3187000C26397 /* AIMathCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E959ACF10E3187000C26397 /* AIMathCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		7EA7F03D1124AA8500E0C1F0 /* libgstaudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F03C1124AA8500E0C1F0 /* libgstaudio.framework */; };
+		7EA7F03F1124AA8500E0C1F0 /* libgstcontroller.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F03E1124AA8500E0C1F0 /* libgstcontroller.framework */; };
+		7EA7F0411124AA8500E0C1F0 /* libgstdataprotocol.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0401124AA8500E0C1F0 /* libgstdataprotocol.framework */; };
+		7EA7F0431124AA8500E0C1F0 /* libgstrtsp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0421124AA8500E0C1F0 /* libgstrtsp.framework */; };
+		7EA7F0451124AA8500E0C1F0 /* libgstvideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0441124AA8500E0C1F0 /* libgstvideo.framework */; };
+		7EA7F0471124AA8500E0C1F0 /* liboil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0461124AA8500E0C1F0 /* liboil.framework */; };
+		7EA7F05A1124AAA900E0C1F0 /* libgstaudio.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F03C1124AA8500E0C1F0 /* libgstaudio.framework */; };
+		7EA7F05B1124AAA900E0C1F0 /* libgstcontroller.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F03E1124AA8500E0C1F0 /* libgstcontroller.framework */; };
+		7EA7F05C1124AAA900E0C1F0 /* libgstdataprotocol.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0401124AA8500E0C1F0 /* libgstdataprotocol.framework */; };
+		7EA7F05D1124AAA900E0C1F0 /* libgstrtsp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0421124AA8500E0C1F0 /* libgstrtsp.framework */; };
+		7EA7F05E1124AAA900E0C1F0 /* libgstvideo.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0441124AA8500E0C1F0 /* libgstvideo.framework */; };
+		7EA7F05F1124AAA900E0C1F0 /* liboil.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA7F0461124AA8500E0C1F0 /* liboil.framework */; };
 		7EC033B214590E0700CF24FB /* MessageWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7EC033B114590E0700CF24FB /* MessageWindow.xib */; };
+		7EDDBF141130D02400D31F1E /* libgsttag.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EDDBF131130D02400D31F1E /* libgsttag.framework */; };
+		7EDDBF1F1130D06700D31F1E /* libgsttag.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EDDBF131130D02400D31F1E /* libgsttag.framework */; };
 		811033510CDE170B00EC6038 /* ssl-cdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 811033500CDE170B00EC6038 /* ssl-cdsa.c */; };
 		811034050CDE216F00EC6038 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340C1ABE0BD58FAB00D09235 /* Security.framework */; };
 		811035180CDE783800EC6038 /* SecurityInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 811035170CDE783800EC6038 /* SecurityInterface.framework */; };
@@ -1648,7 +1689,24 @@
 			dstPath = "";
 			dstSubfolderSpec = 10;
 			files = (
+				7EDDBF1F1130D06700D31F1E /* libgsttag.framework in Copy Frameworks */,
+				7E7CF7F51124B9A8001CFC73 /* libgstsdp.framework in Copy Frameworks */,
+				7EA7F05A1124AAA900E0C1F0 /* libgstaudio.framework in Copy Frameworks */,
+				7EA7F05B1124AAA900E0C1F0 /* libgstcontroller.framework in Copy Frameworks */,
+				7EA7F05C1124AAA900E0C1F0 /* libgstdataprotocol.framework in Copy Frameworks */,
+				7EA7F05D1124AAA900E0C1F0 /* libgstrtsp.framework in Copy Frameworks */,
+				7EA7F05E1124AAA900E0C1F0 /* libgstvideo.framework in Copy Frameworks */,
+				7EA7F05F1124AAA900E0C1F0 /* liboil.framework in Copy Frameworks */,
+				7E884AE61124A45F0082963F /* libgstapp.framework in Copy Frameworks */,
+				7E884AE71124A45F0082963F /* libgstnet.framework in Copy Frameworks */,
+				7E884AE81124A45F0082963F /* libgstnetbuffer.framework in Copy Frameworks */,
+				7E884AE91124A45F0082963F /* libgstrtp.framework in Copy Frameworks */,
+				7E884AEA1124A45F0082963F /* libnice.framework in Copy Frameworks */,
 				116E369A10B72934002EDB0F /* Growl.framework in Copy Frameworks */,
+				34B89478102BCDB4000ABB8E /* libgstreamer.framework in Copy Frameworks */,
+				34B89479102BCDB4000ABB8E /* libgstinterfaces.framework in Copy Frameworks */,
+				34B8947A102BCDB4000ABB8E /* libgstfarsight.framework in Copy Frameworks */,
+				34B8947B102BCDB4000ABB8E /* libgstbase.framework in Copy Frameworks */,
 				118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */,
 				633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */,
 				639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */,
@@ -4765,6 +4823,23 @@
 				633405990F9C2C00003C77A9 /* AIUtilities.framework in Frameworks */,
 				3485D8EB09EB446900232CC4 /* Adium.framework in Frameworks */,
 				118A44500FEEA828008153C0 /* libjson-glib.framework in Frameworks */,
+				34B8936C102BCDAB000ABB8E /* libgstreamer.framework in Frameworks */,
+				34B8936D102BCDAB000ABB8E /* libgstinterfaces.framework in Frameworks */,
+				34B8936E102BCDAB000ABB8E /* libgstfarsight.framework in Frameworks */,
+				34B8936F102BCDAB000ABB8E /* libgstbase.framework in Frameworks */,
+				7E884AB81124A2920082963F /* libgstapp.framework in Frameworks */,
+				7E884ABA1124A2930082963F /* libgstnet.framework in Frameworks */,
+				7E884ABC1124A2930082963F /* libgstnetbuffer.framework in Frameworks */,
+				7E884ABE1124A2930082963F /* libgstrtp.framework in Frameworks */,
+				7E884AC01124A2930082963F /* libnice.framework in Frameworks */,
+				7EA7F03D1124AA8500E0C1F0 /* libgstaudio.framework in Frameworks */,
+				7EA7F03F1124AA8500E0C1F0 /* libgstcontroller.framework in Frameworks */,
+				7EA7F0411124AA8500E0C1F0 /* libgstdataprotocol.framework in Frameworks */,
+				7EA7F0431124AA8500E0C1F0 /* libgstrtsp.framework in Frameworks */,
+				7EA7F0451124AA8500E0C1F0 /* libgstvideo.framework in Frameworks */,
+				7EA7F0471124AA8500E0C1F0 /* liboil.framework in Frameworks */,
+				7E7CF7F11124B982001CFC73 /* libgstsdp.framework in Frameworks */,
+				7EDDBF141130D02400D31F1E /* libgsttag.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8923,6 +8998,7 @@
 				345D68A20F1FD59F002F2D01 /* PurpleFacebookService.h in Headers */,
 				345D68A80F1FD5AA002F2D01 /* PurpleFacebookAccount.h in Headers */,
 				34064D110F21B34200AA6FE3 /* PurpleFacebookAccountViewController.h in Headers */,
+				113E06AF10D0ABE3005D5B9A /* adiumPurpleMedia.h in Headers */,
 				34D8153A13B663650022C8C4 /* AIFacebookXMPPAccount.h in Headers */,
 				34D8153D13B663650022C8C4 /* AIFacebookXMPPAccountViewController.h in Headers */,
 				34D8154013B663650022C8C4 /* AIFacebookXMPPOAuthWebViewWindowController.h in Headers */,
@@ -9061,6 +9137,7 @@
 				112B47670F82E0FC00690E84 /* AIXtraInfo.h in Headers */,
 				34F17FCE0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h in Headers */,
 				63B0EC9D0F8FBB660062476B /* AIProxyListObject.h in Headers */,
+				118199C610D0B65A003E8ECA /* AIMedia.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9748,6 +9825,7 @@
 				1130EA9D109B445D00FB3454 /* pref-mention.png in Resources */,
 				1130EA9E109B445D00FB3454 /* pref-messagealerts.png in Resources */,
 				11AE5555109CC88C0074BDC2 /* pref-confirmations.png in Resources */,
+				1147FCC810D1CB83004E9E8D /* AIMediaWindow.nib in Resources */,
 				5A9A9F8B11F295EB00328DF9 /* Stop sign.png in Resources */,
 				D10A3A2B122C61EF003B5A7E /* source-destination.png in Resources */,
 				34333FF3127F6E77007050E8 /* TemporaryIRCAccountWindow.nib in Resources */,
@@ -9960,6 +10038,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				1181976810D0B0D2003E8ECA /* adiumPurpleMedia.m in Sources */,
 				1192E6DA0FD30578003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m in Sources */,
 				117009A70F7E7D720078D6AB /* AIIRCServicesPasswordPlugin.m in Sources */,
 				3485DB1909EBCE6500232CC4 /* SLPurpleCocoaAdapter.m in Sources */,
@@ -10424,6 +10503,8 @@
 				112939100FD5AE1400FA8F53 /* AIConfirmationsAdvancedPreferences.m in Sources */,
 				11D915720FFC100700B39713 /* AIGenericMultipartImageUploader.m in Sources */,
 				11000D041098863B0096A1E2 /* AIDefaultFontRemovalPlugin.m in Sources */,
+				11819A0410D0B8BE003E8ECA /* AIMediaController.m in Sources */,
+				1147FCC410D1CB4C004E9E8D /* AIMediaWindowController.m in Sources */,
 				5A9A9F8911F2951400328DF9 /* AIDoNothingContactAlertPlugin.m in Sources */,
 				76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */,
 				5A94397B1279ECB800FDD81D /* AIImgurImageUploader.m in Sources */,
@@ -10549,6 +10630,7 @@
 				112B47680F82E0FC00690E84 /* AIXtraInfo.m in Sources */,
 				34F17FCF0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m in Sources */,
 				63B0EC9C0F8FBB660062476B /* AIProxyListObject.m in Sources */,
+				118199C710D0B65A003E8ECA /* AIMedia.m in Sources */,
 				5A23E0BC13EDB9CD0032EF52 /* AdiumAddressBookAction_AIM.applescript in Sources */,
 				5A23E0BD13EDB9CD0032EF52 /* AdiumAddressBookAction_ICQ.applescript in Sources */,
 				5A23E0BE13EDB9CD0032EF52 /* AdiumAddressBookAction_Jabber.applescript in Sources */,
--- a/Dependencies/build.sh	Sat Nov 19 15:02:16 2011 -0800
+++ b/Dependencies/build.sh	Sat Nov 19 15:06:54 2011 -0800
@@ -3,7 +3,7 @@
 source phases/utility.sh
 source phases/build_dependencies.sh
 source phases/build_otr.sh
-#source phases/build_vv_dependencies.sh
+source phases/build_vv_dependencies.sh
 source phases/build_purple.sh
 source phases/make_frameworks.sh
 
@@ -161,8 +161,8 @@
 	eval `$DEVELOPER/usr/bin/pump --startup`
 else
 	# Try to find the right gcc, even when XCode4 is installed
-	export CC="$DEVELOPER/usr/bin/gcc"
-	export CXX="$DEVELOPER/usr/bin/g++"
+	export CC="$DEVELOPER/usr/bin/gcc-4.2"
+	export CXX="$DEVELOPER/usr/bin/g++-4.2"
 	export CCAS="$CC"
 	export OBJC="$CC"
 fi
@@ -207,10 +207,10 @@
 	   build_meanwhile $@
 
     	build_intltool $@
-    	build_jsonglib $@
+	build_jsonglib $@
 
-    	#build_gstreamer $@
-    	#build_farsight $@
+    	build_gstreamer $@
+    	build_farsight $@
 
     	build_libpurple $@	
 
--- a/Dependencies/phases/build_purple.sh	Sat Nov 19 15:02:16 2011 -0800
+++ b/Dependencies/phases/build_purple.sh	Sat Nov 19 15:06:54 2011 -0800
@@ -118,8 +118,7 @@
 				--disable-dbus \
 				--enable-gnutls=no \
 				--enable-nss=no \
-				--enable-vv=no \
-				--disable-gstreamer \
+				--enable-vv=yes \
 				--disable-idn \
 				$KERBEROS"
 		xconfigure "$BASE_CFLAGS -I/usr/include/kerberosIV -DHAVE_SSL \
--- a/Dependencies/phases/make_frameworks.sh	Sat Nov 19 15:02:16 2011 -0800
+++ b/Dependencies/phases/make_frameworks.sh	Sat Nov 19 15:06:54 2011 -0800
@@ -62,7 +62,22 @@
 		quiet mkdir "${jsonDir}" || true
 		log cp -R "${ROOTDIR}/build/include/json-glib-${JSON_GLIB_VERSION}/json-glib" "${jsonDir}"
 		
-
+		## VV stuff
+		
+		#gstreamer
+		status "Staging gstreamer and plugins headers"
+		local gstDir="${ROOTDIR}/build/lib/include/libgstreamer-${GSTREAMER_VERSION}.0"
+		quiet mkdir "${gstDir}" || true
+		log cp -R "${ROOTDIR}/build/include/gstreamer-${GSTREAMER_VERSION}" "${gstDir}"
+		
+		local non_includes=( "libgstbase-${GSTREAMER_VERSION}.0" \
+							 "libgstfarsight-${GSTREAMER_VERSION}.0" \
+							 "libgstinterfaces-${GSTREAMER_VERSION}.0" )
+		for no_include_lib in ${non_includes[@]} ; do
+			quiet mkdir "${ROOTDIR}/build/lib/include/${no_include_lib}" || true
+			touch "${ROOTDIR}/build/lib/include/${no_include_lib}/no_headers_here.txt"
+		done
+		
 		#libpurple
 		status "Staging libpurple headers"
 		local purpleDir="${ROOTDIR}/build/lib/include/libpurple-${LIBPURPLE_VERSION}"
@@ -111,6 +126,13 @@
 		log python "${ROOTDIR}/framework_maker/frameworkize.py" \
 			"${ROOTDIR}/build/lib/libpurple.${LIBPURPLE_VERSION}.dylib" \
 			"${FRAMEWORK_DIR}"
+		
+		status "Adding gst support frameworks..."
+		for (( i=0; i<${#GST_DEPS[@]}; i++ )) ; do
+			log python "${ROOTDIR}/framework_maker/frameworkize.py" \
+				"${ROOTDIR}/build/lib/${GST_DEPS[i]}" \
+				"${FRAMEWORK_DIR}"
+		done
 
 		status "Adding the Adium framework header..."
 		log cp "${ROOTDIR}/libpurple-full.h" \
@@ -118,6 +140,16 @@
 
 		log cp "${ROOTDIR}/Libpurple-Info.plist" \
 			"${FRAMEWORK_DIR}/libpurple.subproj/libpurple.framework/Resources/Info.plist"
+		
+		status "Adding gst plugins..."
+		GST_PLUGINS_DIR="${ROOTDIR}/Frameworks/libgstreamer.subproj/libgstreamer.framework/PlugIns"
+		quiet mkdir "${GST_PLUGINS_DIR}"
+		
+		log python "${ROOTDIR}/framework_maker/pluginize.py" "${ROOTDIR}/build/lib/gstreamer-0.10" "${ROOTDIR}/Frameworks/libgstreamer.subproj/libgstreamer.framework/PlugIns"
+		
+		pushd "${ROOTDIR}/build/lib/gstreamer-0.10/"
+		log cp *.so "${GST_PLUGINS_DIR}"
+		popd
 	fi
 	
 	status "Done making framework!"
--- a/Frameworks/Adium Framework/Source/AIAccount.h	Sat Nov 19 15:02:16 2011 -0800
+++ b/Frameworks/Adium Framework/Source/AIAccount.h	Sat Nov 19 15:06:54 2011 -0800
@@ -102,6 +102,67 @@
 	- (void)cancelFileTransfer:(ESFileTransfer *)fileTransfer;
 @end
 
+@class AIMedia;
+
+//Support for media
+@protocol AIAccount_Media
+/*!
+ * @brief Set the hold state for media.
+ *
+ * @param hold If the media's state should be hold
+ */
+- (void)media:(AIMedia *)media setHold:(BOOL)hold;
+
+/*!
+ * @brief Set the mute state for media.
+ *
+ * @param mute If the media's state should be mute
+ */
+- (void)media:(AIMedia *)media setMute:(BOOL)mute;
+
+/*!
+ * @brief Set the pause state for media.
+ *
+ * @param pause If the media's state should be pause
+ */
+- (void)media:(AIMedia *)media setPause:(BOOL)pause;
+
+/*!
+ * @brief Set the input volume for media.
+ *
+ * @param inputVolume The input volume between 0 and 1.0
+ */
+- (void)media:(AIMedia *)media setInputVolume:(CGFloat)inputVolume;
+
+/*!
+ * @brief Set the output volume for media.
+ *
+ * @param outputVolume The output volume between 0 and 1.0
+ */
+- (void)media:(AIMedia *)media setOutputVolume:(CGFloat)outputVolume;
+
+/*!
+ * @brief Close a media
+ *
+ * @param media The AIMedia to close
+ */
+- (void)closeMedia:(AIMedia *)media;
+
+/*!
+ * @brief Destroy a media
+ *
+ * @param media The media to be destroyed
+ *
+ * Gives the account an opportunity to teardown.
+ */
+- (void)destroyMedia:(AIMedia *)media;
+
+/*!
+ * @brief Accept a pending media
+ */
+- (void)incomingMedia:(AIMedia *)media acceptPendingRequest:(BOOL)accept;
+@end
+
 /*!
  * @protocol AIAccount_Privacy
  * @brief Support for privacy settings
--- a/Frameworks/Adium Framework/Source/AIAdiumProtocol.h	Sat Nov 19 15:02:16 2011 -0800
+++ b/Frameworks/Adium Framework/Source/AIAdiumProtocol.h	Sat Nov 19 15:06:54 2011 -0800
@@ -29,7 +29,7 @@
 @protocol AIAccountController, AIChatController, AIContactAlertsController, AIDebugController, AIEmoticonController,
 		AIPreferenceController, AIMenuController, AIApplescriptabilityController, AIStatusController,
 		AIContentController, AIToolbarController, AISoundController, AIDockController,
-		AIFileTransferController, AILoginController, AIInterfaceController, AIContactController;
+		AIFileTransferController, AILoginController, AIInterfaceController, AIContactController, AIMediaController;
 
 @protocol AIAdium <NSObject>
 @property (readonly, nonatomic) NSObject<AIAccountController> *accountController;
@@ -47,6 +47,7 @@
 @property (readonly, nonatomic) NSObject<AIToolbarController> *toolbarController;
 @property (readonly, nonatomic) NSObject<AIContactAlertsController> *contactAlertsController;
 @property (readonly, nonatomic) NSObject<AIFileTransferController> *fileTransferController;
+@property (readonly, nonatomic) NSObject<AIMediaController> *mediaController;
 @property (readonly, nonatomic) NSObject<AIDebugController> *debugController;
 @property (readonly, nonatomic) NSObject<AIApplescriptabilityController> *applescriptabilityController;
 
--- a/Frameworks/libglib.framework/Versions/2.0.0/Headers/glibconfig.h	Sat Nov 19 15:02:16 2011 -0800
+++ b/Frameworks/libglib.framework/Versions/2.0.0/Headers/glibconfig.h	Sat Nov 19 15:06:54 2011 -0800
@@ -139,7 +139,7 @@
 #endif
 
 #define G_HAVE_GNUC_VARARGS 1
-#define G_HAVE_GROWING_STACK 1
+#define G_HAVE_GROWING_STACK 0
 
 #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
 #define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
@@ -364,7 +364,7 @@
 #endif
 
 #define G_HAVE_GNUC_VARARGS 1
-#define G_HAVE_GROWING_STACK 1
+#define G_HAVE_GROWING_STACK 0
 
 #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
 #define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
Binary file Frameworks/libglib.framework/Versions/2.0.0/libglib has changed
Binary file Frameworks/libgmodule.framework/Versions/2.0.0/libgmodule has changed
Binary file Frameworks/libgobject.framework/Versions/2.0.0/libgobject has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstapp.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstapp.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstapp.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstapp";
Binary file Frameworks/libgstapp.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstapp.framework/Versions/0.10.0/libgstapp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstapp.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstapp.framework/libgstapp	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstapp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstaudio.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstaudio.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstaudio.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstaudio";
Binary file Frameworks/libgstaudio.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstaudio.framework/Versions/0.10.0/libgstaudio has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstaudio.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstaudio.framework/libgstaudio	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstaudio
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstbase.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstbase.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstbase.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstbase";
Binary file Frameworks/libgstbase.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstbase.framework/Versions/0.10.0/libgstbase has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstbase.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstbase.framework/libgstbase	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstbase
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstcontroller.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstcontroller.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstcontroller.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstcontroller";
Binary file Frameworks/libgstcontroller.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstcontroller.framework/Versions/0.10.0/libgstcontroller has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstcontroller.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstcontroller.framework/libgstcontroller	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstcontroller
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstdataprotocol.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstdataprotocol.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstdataprotocol.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstdataprotocol";
Binary file Frameworks/libgstdataprotocol.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstdataprotocol.framework/Versions/0.10.0/libgstdataprotocol has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstdataprotocol.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstdataprotocol.framework/libgstdataprotocol	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstdataprotocol
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstfarsight.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstfarsight.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstfarsight.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstfarsight";
Binary file Frameworks/libgstfarsight.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstfarsight.framework/Versions/0.10.0/libgstfarsight has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstfarsight.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstfarsight.framework/libgstfarsight	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstfarsight
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstinterfaces.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstinterfaces.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstinterfaces.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstinterfaces";
Binary file Frameworks/libgstinterfaces.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstinterfaces.framework/Versions/0.10.0/libgstinterfaces has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstinterfaces.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstinterfaces.framework/libgstinterfaces	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstinterfaces
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnet.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnet.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnet.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstnet";
Binary file Frameworks/libgstnet.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstnet.framework/Versions/0.10.0/libgstnet has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnet.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnet.framework/libgstnet	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstnet
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnetbuffer.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnetbuffer.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnetbuffer.framework/Versions/0.10.0/Resources/English.lproj/InfoPlist.strings	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libgstnetbuffer";
Binary file Frameworks/libgstnetbuffer.framework/Versions/0.10.0/Resources/Info.plist has changed
Binary file Frameworks/libgstnetbuffer.framework/Versions/0.10.0/libgstnetbuffer has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnetbuffer.framework/Versions/Current	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+0.10.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstnetbuffer.framework/libgstnetbuffer	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/libgstnetbuffer
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Headers	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Headers
\ No newline at end of file
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsfunnel.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsmsnconference.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsrtcpfilter.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsrtpconference.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsselector.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libfsvideoanyrate.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstadder.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstalaw.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstapp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstaudiorate.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstaudioresample.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstautodetect.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstcoreelements.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstcoreindexers.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstffmpegcolorspace.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstjrtp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstlevel.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstmulaw.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstnetsim.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstnice.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstosxaudio.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstosxvideosink.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtpdemux.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtpjitterbuffer.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtpmanager.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtppayloads.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstrtsp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgsttcp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgsttypefindfunctions.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstudp.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvideobox.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvideocrop.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvideomixer.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvideorate.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvideoscale.so has changed
Binary file Frameworks/libgstreamer.framework/PlugIns/libgstvolume.so has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Resources	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,1 @@
+Versions/0.10.0/Resources
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappbuffer.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,64 @@
+/* GStreamer
+ * Copyright (C) 2007 David Schleef <ds@schleef.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GST_APP_BUFFER_H_
+#define _GST_APP_BUFFER_H_
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_APP_BUFFER \
+  (gst_app_buffer_get_type())
+#define GST_APP_BUFFER(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_APP_BUFFER,GstAppBuffer))
+#define GST_APP_BUFFER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_APP_BUFFER,GstAppBufferClass))
+#define GST_IS_APP_BUFFER(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_APP_BUFFER))
+#define GST_IS_APP_BUFFER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_APP_BUFFER))
+
+typedef struct _GstAppBuffer GstAppBuffer;
+typedef struct _GstAppBufferClass GstAppBufferClass;
+typedef void (*GstAppBufferFinalizeFunc) (void *priv);
+
+struct _GstAppBuffer
+{
+  GstBuffer buffer;
+
+  /*< private >*/
+  GstAppBufferFinalizeFunc finalize;
+  void *priv;
+};
+
+struct _GstAppBufferClass
+{
+  GstBufferClass buffer_class;
+};
+
+GType gst_app_buffer_get_type(void);
+
+GstBuffer *gst_app_buffer_new (void *data, int length,
+    GstAppBufferFinalizeFunc finalize, void *priv);
+
+G_END_DECLS
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappsink.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,141 @@
+/* GStreamer
+ * Copyright (C) 2007 David Schleef <ds@schleef.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GST_APP_SINK_H_
+#define _GST_APP_SINK_H_
+
+#include <gst/gst.h>
+#include <gst/base/gstbasesink.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_APP_SINK \
+  (gst_app_sink_get_type())
+#define GST_APP_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_APP_SINK,GstAppSink))
+#define GST_APP_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_APP_SINK,GstAppSinkClass))
+#define GST_IS_APP_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_APP_SINK))
+#define GST_IS_APP_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_APP_SINK))
+/* Since 0.10.23 */
+#define GST_APP_SINK_CAST(obj) \
+  ((GstAppSink*)(obj))
+
+typedef struct _GstAppSink GstAppSink;
+typedef struct _GstAppSinkClass GstAppSinkClass;
+typedef struct _GstAppSinkPrivate GstAppSinkPrivate;
+
+/**
+ * GstAppSinkCallbacks:
+ * @eos: Called when the end-of-stream has been reached. This callback
+ *       is called from the steaming thread.
+ * @new_preroll: Called when a new preroll buffer is available. 
+ *       This callback is called from the steaming thread.
+ *       The new preroll buffer can be retrieved with
+ *       gst_app_sink_pull_preroll() either from this callback
+ *       or from any other thread.
+ * @new_buffer: Called when a new buffer is available. 
+ *       This callback is called from the steaming thread.
+ *       The new buffer can be retrieved with
+ *       gst_app_sink_pull_buffer() either from this callback
+ *       or from any other thread.
+ * @new_buffer_list: Called when a new bufferlist is available. 
+ *       This callback is called from the steaming thread.
+ *       The new bufferlist can be retrieved with
+ *       gst_app_sink_pull_buffer_list() either from this callback
+ *       or from any other thread.
+ *
+ * A set of callbacks that can be installed on the appsink with
+ * gst_app_sink_set_callbacks().
+ *
+ * Since: 0.10.23
+ */
+typedef struct {
+  void          (*eos)              (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_preroll)      (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_buffer)       (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_buffer_list)  (GstAppSink *sink, gpointer user_data);
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING - 1];
+} GstAppSinkCallbacks;
+
+struct _GstAppSink
+{
+  GstBaseSink basesink;
+
+  /*< private >*/
+  GstAppSinkPrivate *priv;
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING];
+};
+
+struct _GstAppSinkClass
+{
+  GstBaseSinkClass basesink_class;
+
+  /* signals */
+  void        (*eos)          (GstAppSink *sink);
+  void        (*new_preroll)  (GstAppSink *sink);
+  void        (*new_buffer)   (GstAppSink *sink);
+
+  /* actions */
+  GstBuffer     * (*pull_preroll)      (GstAppSink *sink);
+  GstBuffer     * (*pull_buffer)       (GstAppSink *sink);
+
+  /* ABI added */
+  GstBufferList * (*new_buffer_list)   (GstAppSink *sink);
+  GstBufferList * (*pull_buffer_list)  (GstAppSink *sink);
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING - 2];
+};
+
+GType gst_app_sink_get_type(void);
+
+void            gst_app_sink_set_caps         (GstAppSink *appsink, const GstCaps *caps);
+GstCaps *       gst_app_sink_get_caps         (GstAppSink *appsink);
+
+gboolean        gst_app_sink_is_eos           (GstAppSink *appsink);
+
+void            gst_app_sink_set_emit_signals (GstAppSink *appsink, gboolean emit);
+gboolean        gst_app_sink_get_emit_signals (GstAppSink *appsink);
+
+void            gst_app_sink_set_max_buffers  (GstAppSink *appsink, guint max);
+guint           gst_app_sink_get_max_buffers  (GstAppSink *appsink);
+
+void            gst_app_sink_set_drop         (GstAppSink *appsink, gboolean drop);
+gboolean        gst_app_sink_get_drop         (GstAppSink *appsink);
+
+GstBuffer *     gst_app_sink_pull_preroll     (GstAppSink *appsink);
+GstBuffer *     gst_app_sink_pull_buffer      (GstAppSink *appsink);
+GstBufferList * gst_app_sink_pull_buffer_list (GstAppSink *appsink);
+
+void            gst_app_sink_set_callbacks    (GstAppSink * appsink,
+                                               GstAppSinkCallbacks *callbacks,
+					       gpointer user_data,
+					       GDestroyNotify notify);
+
+G_END_DECLS
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/app/gstappsrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,149 @@
+/* GStreamer
+ * Copyright (C) 2007 David Schleef <ds@schleef.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GST_APP_SRC_H_
+#define _GST_APP_SRC_H_
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_APP_SRC \
+  (gst_app_src_get_type())
+#define GST_APP_SRC(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_APP_SRC,GstAppSrc))
+#define GST_APP_SRC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_APP_SRC,GstAppSrcClass))
+#define GST_IS_APP_SRC(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_APP_SRC))
+#define GST_IS_APP_SRC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_APP_SRC))
+/* Since 0.10.23 */
+#define GST_APP_SRC_CAST(obj) \
+  ((GstAppSrc*)(obj))
+
+typedef struct _GstAppSrc GstAppSrc;
+typedef struct _GstAppSrcClass GstAppSrcClass;
+typedef struct _GstAppSrcPrivate GstAppSrcPrivate;
+
+/**
+ * GstAppSrcCallbacks:
+ * @need_data: Called when the appsrc needs more data. A buffer or EOS should be
+ *    pushed to appsrc from this thread or another thread. @length is just a hint
+ *    and when it is set to -1, any number of bytes can be pushed into @appsrc.
+ * @enough_data: Called when appsrc has enough data. It is recommended that the
+ *    application stops calling push-buffer until the need_data callback is
+ *    emited again to avoid excessive buffer queueing.
+ * @seek_data: Called when a seek should be performed to the offset.
+ *    The next push-buffer should produce buffers from the new @offset.
+ *    This callback is only called for seekable stream types.
+ *
+ * A set of callbacks that can be installed on the appsrc with
+ * gst_app_src_set_callbacks().
+ *
+ * Since: 0.10.23
+ */
+typedef struct {
+  void      (*need_data)    (GstAppSrc *src, guint length, gpointer user_data);
+  void      (*enough_data)  (GstAppSrc *src, gpointer user_data);
+  gboolean  (*seek_data)    (GstAppSrc *src, guint64 offset, gpointer user_data);
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING];
+} GstAppSrcCallbacks;
+
+/**
+ * GstAppStreamType:
+ * @GST_APP_STREAM_TYPE_STREAM: No seeking is supported in the stream, such as a
+ * live stream.
+ * @GST_APP_STREAM_TYPE_SEEKABLE: The stream is seekable but seeking might not
+ * be very fast, such as data from a webserver. 
+ * @GST_APP_STREAM_TYPE_RANDOM_ACCESS: The stream is seekable and seeking is fast,
+ * such as in a local file.
+ *
+ * The stream type.
+ */
+typedef enum
+{
+  GST_APP_STREAM_TYPE_STREAM,
+  GST_APP_STREAM_TYPE_SEEKABLE,
+  GST_APP_STREAM_TYPE_RANDOM_ACCESS
+} GstAppStreamType;
+
+struct _GstAppSrc
+{
+  GstBaseSrc basesrc;
+
+  /*< private >*/
+  GstAppSrcPrivate *priv;
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING];
+};
+
+struct _GstAppSrcClass
+{
+  GstBaseSrcClass basesrc_class;
+
+  /* signals */
+  void          (*need_data)       (GstAppSrc *src, guint length);
+  void          (*enough_data)     (GstAppSrc *src);
+  gboolean      (*seek_data)       (GstAppSrc *src, guint64 offset);
+
+  /* actions */
+  GstFlowReturn (*push_buffer)     (GstAppSrc *src, GstBuffer *buffer);
+  GstFlowReturn (*end_of_stream)   (GstAppSrc *src);
+
+  /*< private >*/
+  gpointer     _gst_reserved[GST_PADDING];
+};
+
+GType gst_app_src_get_type(void);
+
+void             gst_app_src_set_caps         (GstAppSrc *appsrc, const GstCaps *caps);
+GstCaps*         gst_app_src_get_caps         (GstAppSrc *appsrc);
+
+void             gst_app_src_set_size         (GstAppSrc *appsrc, gint64 size);
+gint64           gst_app_src_get_size         (GstAppSrc *appsrc);
+
+void             gst_app_src_set_stream_type  (GstAppSrc *appsrc, GstAppStreamType type);
+GstAppStreamType gst_app_src_get_stream_type  (GstAppSrc *appsrc);
+
+void             gst_app_src_set_max_bytes    (GstAppSrc *appsrc, guint64 max);
+guint64          gst_app_src_get_max_bytes    (GstAppSrc *appsrc);
+
+void             gst_app_src_set_latency      (GstAppSrc *appsrc, guint64 min, guint64 max);
+void             gst_app_src_get_latency      (GstAppSrc *appsrc, guint64 *min, guint64 *max);
+
+void             gst_app_src_set_emit_signals (GstAppSrc *appsrc, gboolean emit);
+gboolean         gst_app_src_get_emit_signals (GstAppSrc *appsrc);
+
+GstFlowReturn    gst_app_src_push_buffer      (GstAppSrc *appsrc, GstBuffer *buffer);
+GstFlowReturn    gst_app_src_end_of_stream    (GstAppSrc *appsrc);
+
+void             gst_app_src_set_callbacks    (GstAppSrc * appsrc,
+                                               GstAppSrcCallbacks *callbacks,
+                                               gpointer user_data,
+                                               GDestroyNotify notify);
+
+G_END_DECLS
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/audio-enumtypes.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,29 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_AUDIO_ENUM_TYPES_H__
+#define __GST_AUDIO_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "multichannel.h" */
+GType gst_audio_channel_position_get_type (void);
+#define GST_TYPE_AUDIO_CHANNEL_POSITION (gst_audio_channel_position_get_type())
+
+/* enumerations from "gstringbuffer.h" */
+GType gst_ring_buffer_state_get_type (void);
+#define GST_TYPE_RING_BUFFER_STATE (gst_ring_buffer_state_get_type())
+GType gst_ring_buffer_seg_state_get_type (void);
+#define GST_TYPE_RING_BUFFER_SEG_STATE (gst_ring_buffer_seg_state_get_type())
+GType gst_buffer_format_type_get_type (void);
+#define GST_TYPE_BUFFER_FORMAT_TYPE (gst_buffer_format_type_get_type())
+GType gst_buffer_format_get_type (void);
+#define GST_TYPE_BUFFER_FORMAT (gst_buffer_format_get_type())
+G_END_DECLS
+
+#endif /* __GST_AUDIO_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/audio.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,179 @@
+/* GStreamer
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Library       <2001> Thomas Vander Stichele <thomas@apestaart.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gst/gst.h>
+
+#ifndef __GST_AUDIO_AUDIO_H__
+#define __GST_AUDIO_AUDIO_H__
+
+G_BEGIN_DECLS
+
+/* For people that are looking at this source: the purpose of these defines is
+ * to make GstCaps a bit easier, in that you don't have to know all of the
+ * properties that need to be defined. you can just use these macros. currently
+ * (8/01) the only plugins that use these are the passthrough, speed, volume,
+ * adder, and [de]interleave plugins. These are for convenience only, and do not
+ * specify the 'limits' of GStreamer. you might also use these definitions as a
+ * base for making your own caps, if need be.
+ *
+ * For example, to make a source pad that can output streams of either mono
+ * float or any channel int:
+ *
+ *  template = gst_pad_template_new
+ *    ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
+ *    gst_caps_append(gst_caps_new ("sink_int",  "audio/x-raw-int",
+ *                                  GST_AUDIO_INT_PAD_TEMPLATE_PROPS),
+ *                    gst_caps_new ("sink_float", "audio/x-raw-float",
+ *                                  GST_AUDIO_FLOAT_PAD_TEMPLATE_PROPS)),
+ *    NULL);
+ *
+ *  sinkpad = gst_pad_new_from_template(template, "sink");
+ *
+ * Andy Wingo, 18 August 2001
+ * Thomas, 6 September 2002 */
+
+/* conversion macros */
+/**
+ * GST_FRAMES_TO_CLOCK_TIME:
+ * @frames: sample frames
+ * @rate: sampling rate
+ * 
+ * Calculate clocktime from sample @frames and @rate.
+ */
+#define GST_FRAMES_TO_CLOCK_TIME(frames, rate) \
+  ((GstClockTime) gst_util_uint64_scale_round (frames, GST_SECOND, rate))
+
+/**
+ * GST_CLOCK_TIME_TO_FRAMES:
+ * @clocktime: clock time
+ * @rate: sampling rate
+ * 
+ * Calculate frames from @clocktime and sample @rate.
+ */
+#define GST_CLOCK_TIME_TO_FRAMES(clocktime, rate) \
+  gst_util_uint64_scale_round (clocktime, rate, GST_SECOND)
+
+/**
+ * GST_AUDIO_DEF_RATE:
+ * 
+ * Standard sampling rate used in consumer audio.
+ */
+#define GST_AUDIO_DEF_RATE 44100
+
+/**
+ * GST_AUDIO_INT_PAD_TEMPLATE_CAPS:
+ * 
+ * Template caps for integer audio. Can be used when defining a 
+ * #GstStaticPadTemplate
+ */
+#define GST_AUDIO_INT_PAD_TEMPLATE_CAPS \
+  "audio/x-raw-int, " \
+  "rate = (int) [ 1, MAX ], " \
+  "channels = (int) [ 1, MAX ], " \
+  "endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, " \
+  "width = (int) { 8, 16, 24, 32 }, " \
+  "depth = (int) [ 1, 32 ], " \
+  "signed = (boolean) { true, false }"
+
+/**
+ * GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS:
+ * 
+ * Template caps for 16bit integer stereo audio in native byte-order.
+ * Can be used when defining a #GstStaticPadTemplate
+ */
+#define GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS \
+  "audio/x-raw-int, " \
+  "rate = (int) [ 1, MAX ], " \
+  "channels = (int) 2, " \
+  "endianness = (int) BYTE_ORDER, " \
+  "width = (int) 16, " \
+  "depth = (int) 16, " \
+  "signed = (boolean) true"
+
+/**
+ * GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS:
+ * 
+ * Template caps for float audio. Can be used when defining a 
+ * #GstStaticPadTemplate
+ */
+#define GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS \
+  "audio/x-raw-float, " \
+  "rate = (int) [ 1, MAX ], " \
+  "channels = (int) [ 1, MAX ], " \
+  "endianness = (int) { LITTLE_ENDIAN , BIG_ENDIAN }, " \
+  "width = (int) { 32, 64 }"
+
+/**
+ * GST_AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS:
+ * 
+ * Template caps for 32bit float mono audio in native byte-order.
+ * Can be used when defining a #GstStaticPadTemplate
+ */
+#define GST_AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS \
+  "audio/x-raw-float, " \
+  "width = (int) 32, " \
+  "rate = (int) [ 1, MAX ], " \
+  "channels = (int) 1, " \
+  "endianness = (int) BYTE_ORDER"
+
+/*
+ * this library defines and implements some helper functions for audio
+ * handling
+ */
+
+/* get byte size of audio frame (based on caps of pad */
+int      gst_audio_frame_byte_size      (GstPad* pad);
+
+/* get length in frames of buffer */
+long     gst_audio_frame_length         (GstPad* pad, GstBuffer* buf);
+
+GstClockTime gst_audio_duration_from_pad_buffer (GstPad * pad, GstBuffer * buf);
+
+/* check if the buffer size is a whole multiple of the frame size */
+gboolean gst_audio_is_buffer_framed     (GstPad* pad, GstBuffer* buf);
+
+/* functions useful for _getcaps functions */
+/**
+ * GstAudioFieldFlag:
+ *
+ * Do not use anymore.
+ *
+ * Deprecated: use gst_structure_set() directly
+ */
+#ifndef GST_DISABLE_DEPRECATED
+typedef enum {
+  GST_AUDIO_FIELD_RATE          = (1 << 0),
+  GST_AUDIO_FIELD_CHANNELS      = (1 << 1),
+  GST_AUDIO_FIELD_ENDIANNESS    = (1 << 2),
+  GST_AUDIO_FIELD_WIDTH         = (1 << 3),
+  GST_AUDIO_FIELD_DEPTH         = (1 << 4),
+  GST_AUDIO_FIELD_SIGNED        = (1 << 5)
+} GstAudioFieldFlag;
+#endif
+
+#ifndef GST_DISABLE_DEPRECATED
+void gst_audio_structure_set_int (GstStructure *structure, GstAudioFieldFlag flag);
+#endif /* GST_DISABLE_DEPRECATED */
+
+GstBuffer *gst_audio_buffer_clip (GstBuffer *buffer, GstSegment *segment, gint rate, gint frame_size);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_AUDIO_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudioclock.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,103 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstaudioclock.h: Clock for use by audio plugins
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AUDIO_CLOCK_H__
+#define __GST_AUDIO_CLOCK_H__
+
+#include <gst/gst.h>
+#include <gst/gstsystemclock.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_AUDIO_CLOCK \
+  (gst_audio_clock_get_type())
+#define GST_AUDIO_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_CLOCK,GstAudioClock))
+#define GST_AUDIO_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_CLOCK,GstAudioClockClass))
+#define GST_IS_AUDIO_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_CLOCK))
+#define GST_IS_AUDIO_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_CLOCK))
+#define GST_AUDIO_CLOCK_CAST(obj) \
+  ((GstAudioClock*)(obj))
+
+typedef struct _GstAudioClock GstAudioClock;
+typedef struct _GstAudioClockClass GstAudioClockClass;
+
+/**
+ * GstAudioClockGetTimeFunc:
+ * @clock: the #GstAudioClock
+ * @user_data: user data
+ *
+ * This function will be called whenever the current clock time needs to be
+ * calculated. If this function returns #GST_CLOCK_TIME_NONE, the last reported
+ * time will be returned by the clock.
+ *
+ * Returns: the current time or #GST_CLOCK_TIME_NONE if the previous time should
+ * be used.
+ */
+typedef GstClockTime (*GstAudioClockGetTimeFunc) (GstClock *clock, gpointer user_data);
+
+/**
+ * GstAudioClock:
+ * @clock: parent #GstSystemClock
+ *
+ * Opaque #GstAudioClock.
+ */
+struct _GstAudioClock {
+  GstSystemClock clock;
+
+  /* --- protected --- */
+  GstAudioClockGetTimeFunc func;
+  gpointer user_data;
+
+  GstClockTime last_time;
+
+  /*< private >*/
+  union {
+    struct {
+      GstClockTimeDiff   time_offset;
+    } ABI;
+    /* adding + 0 to mark ABI change to be undone later */
+    gpointer _gst_reserved[GST_PADDING + 0];
+  } abidata;
+};
+
+struct _GstAudioClockClass {
+  GstSystemClockClass parent_class;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType           gst_audio_clock_get_type        (void);
+GstClock*       gst_audio_clock_new             (const gchar *name, GstAudioClockGetTimeFunc func,
+                                                 gpointer user_data);
+void            gst_audio_clock_reset           (GstAudioClock *clock, GstClockTime time);
+
+GstClockTime    gst_audio_clock_get_time        (GstClock * clock);
+GstClockTime    gst_audio_clock_adjust          (GstClock * clock, GstClockTime time);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_CLOCK_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiofilter.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,96 @@
+/* GStreamer
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+#ifndef __GST_AUDIO_FILTER_H__
+#define __GST_AUDIO_FILTER_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/audio/gstringbuffer.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstAudioFilter GstAudioFilter;
+typedef struct _GstAudioFilterClass GstAudioFilterClass;
+
+#define GST_TYPE_AUDIO_FILTER \
+  (gst_audio_filter_get_type())
+#define GST_AUDIO_FILTER(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_FILTER,GstAudioFilter))
+#define GST_AUDIO_FILTER_CAST(obj) \
+  ((GstAudioFilter *) (obj))
+#define GST_AUDIO_FILTER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER,GstAudioFilterClass))
+#define GST_AUDIO_FILTER_CLASS_CAST(klass) \
+  ((GstAudioFilterClass *) (klass))
+#define GST_IS_AUDIO_FILTER(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER))
+#define GST_IS_AUDIO_FILTER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER))
+
+/**
+ * GstAudioFilter:
+ * @basetransform: Element parent class
+ *
+ * Base class for audio filters with the same format for input and output.
+ *
+ * Since: 0.10.12
+ */
+struct _GstAudioFilter {
+  GstBaseTransform basetransform;
+
+  /*< protected >*/
+  GstRingBufferSpec format;   /* currently configured format */
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstAudioFilterClass:
+ * @basetransformclass: parent class
+ * @setup: virtual function called whenever the format changes
+ *
+ * In addition to the @setup virtual function, you should also override the
+ * GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual
+ * function.
+ *
+ * Since: 0.10.12
+ */
+
+struct _GstAudioFilterClass {
+  GstBaseTransformClass basetransformclass;
+
+  /* virtual function, called whenever the format changes */
+  gboolean  (*setup) (GstAudioFilter * filter, GstRingBufferSpec * format);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType   gst_audio_filter_get_type (void);
+
+void    gst_audio_filter_class_add_pad_templates (GstAudioFilterClass * klass,
+                                                  const GstCaps       * allowed_caps);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_FILTER_H__ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiosink.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,102 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstaudiosink.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AUDIO_SINK_H__
+#define __GST_AUDIO_SINK_H__
+
+#include <gst/gst.h>
+#include <gst/audio/gstbaseaudiosink.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_AUDIO_SINK             (gst_audio_sink_get_type())
+#define GST_AUDIO_SINK(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SINK,GstAudioSink))
+#define GST_AUDIO_SINK_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
+#define GST_AUDIO_SINK_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
+#define GST_IS_AUDIO_SINK(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SINK))
+#define GST_IS_AUDIO_SINK_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SINK))
+
+typedef struct _GstAudioSink GstAudioSink;
+typedef struct _GstAudioSinkClass GstAudioSinkClass;
+
+/**
+ * GstAudioSink:
+ * 
+ * Opaque #GstAudioSink.
+ */
+struct _GstAudioSink {
+  GstBaseAudioSink       element;
+
+  /*< private >*/ /* with LOCK */
+  GThread   *thread;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstAudioSinkClass:
+ * @parent_class: the parent class structure.
+ * @open: Open the device. No configuration needs to be done at this point.
+ *        This function is also used to check if the device is available.
+ * @prepare: Prepare the device to operate with the specified parameters.
+ * @unprepare: Undo operations done in prepare.
+ * @close: Close the device.
+ * @write: Write data to the device.
+ * @delay: Return how many samples are still in the device. This is used to
+ *         drive the synchronisation.
+ * @reset: Returns as quickly as possible from a write and flush any pending
+ *         samples from the device.
+ *
+ * #GstAudioSink class. Override the vmethods to implement functionality.
+ */
+struct _GstAudioSinkClass {
+  GstBaseAudioSinkClass parent_class;
+
+  /* vtable */
+
+  /* open the device with given specs */
+  gboolean (*open)      (GstAudioSink *sink);
+  /* prepare resources and state to operate with the given specs */
+  gboolean (*prepare)   (GstAudioSink *sink, GstRingBufferSpec *spec);
+  /* undo anything that was done in prepare() */
+  gboolean (*unprepare) (GstAudioSink *sink);
+  /* close the device */
+  gboolean (*close)     (GstAudioSink *sink);
+  /* write samples to the device */
+  /* FIXME 0.11: change return value to gint, as most implementation use that
+   * already anyway */
+  guint    (*write)     (GstAudioSink *sink, gpointer data, guint length);
+  /* get number of samples queued in the device */
+  guint    (*delay)     (GstAudioSink *sink);
+  /* reset the audio device, unblock from a write */
+  void     (*reset)     (GstAudioSink *sink);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_audio_sink_get_type(void);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_SINK_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstaudiosrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,99 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstaudiosrc.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AUDIO_SRC_H__
+#define __GST_AUDIO_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/audio/gstbaseaudiosrc.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_AUDIO_SRC              (gst_audio_src_get_type())
+#define GST_AUDIO_SRC(obj)              (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SRC,GstAudioSrc))
+#define GST_AUDIO_SRC_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
+#define GST_AUDIO_SRC_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
+#define GST_IS_AUDIO_SRC(obj)           (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SRC))
+#define GST_IS_AUDIO_SRC_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SRC))
+
+typedef struct _GstAudioSrc GstAudioSrc;
+typedef struct _GstAudioSrcClass GstAudioSrcClass;
+
+/**
+ * GstAudioSrc:
+ * @element: parent class
+ *
+ * Base class for simple audio sources.
+ */
+struct _GstAudioSrc {
+  GstBaseAudioSrc        element;
+
+  /*< private >*/ /* with LOCK */
+  GThread   *thread;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstAudioSrcClass:
+ * @parent_class: the parent class.
+ * @open: open the device with the specified caps
+ * @prepare: configure device with format
+ * @unprepare: undo the configuration
+ * @close: close the device
+ * @read: read samples to the audio device
+ * @delay: the number of samples queued in the device
+ * @reset: unblock a read to the device and reset.
+ *
+ * #GstAudioSrc class. Override the vmethod to implement
+ * functionality.
+ */
+struct _GstAudioSrcClass {
+  GstBaseAudioSrcClass parent_class;
+
+  /* vtable */
+
+  /* open the device with given specs */
+  gboolean (*open)      (GstAudioSrc *src);
+  /* prepare resources and state to operate with the given specs */
+  gboolean (*prepare)   (GstAudioSrc *src, GstRingBufferSpec *spec);
+  /* undo anything that was done in prepare() */
+  gboolean (*unprepare) (GstAudioSrc *src);
+  /* close the device */
+  gboolean (*close)     (GstAudioSrc *src);
+  /* read samples from the device */
+  guint    (*read)      (GstAudioSrc *src, gpointer data, guint length);
+  /* get number of samples queued in the device */
+  guint    (*delay)     (GstAudioSrc *src);
+  /* reset the audio device, unblock from a write */
+  void     (*reset)     (GstAudioSrc *src);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_audio_src_get_type(void);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_SRC_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstbaseaudiosink.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,166 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstbaseaudiosink.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/* a base class for audio sinks.
+ *
+ * It uses a ringbuffer to schedule playback of samples. This makes
+ * it very easy to drop or insert samples to align incoming
+ * buffers to the exact playback timestamp.
+ *
+ * Subclasses must provide a ringbuffer pointing to either DMA
+ * memory or regular memory. A subclass should also call a callback
+ * function when it has played N segments in the buffer. The subclass
+ * is free to use a thread to signal this callback, use EIO or any
+ * other mechanism.
+ *
+ * The base class is able to operate in push or pull mode. The chain
+ * mode will queue the samples in the ringbuffer as much as possible.
+ * The available space is calculated in the callback function.
+ *
+ * The pull mode will pull_range() a new buffer of N samples with a
+ * configurable latency. This allows for high-end real time
+ * audio processing pipelines driven by the audiosink. The callback
+ * function will be used to perform a pull_range() on the sinkpad.
+ * The thread scheduling the callback can be a real-time thread.
+ *
+ * Subclasses must implement a GstRingBuffer in addition to overriding
+ * the methods in GstBaseSink and this class.
+ */
+
+#ifndef __GST_BASE_AUDIO_SINK_H__
+#define __GST_BASE_AUDIO_SINK_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstbasesink.h>
+#include "gstringbuffer.h"
+#include "gstaudioclock.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_BASE_AUDIO_SINK                (gst_base_audio_sink_get_type())
+#define GST_BASE_AUDIO_SINK(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSink))
+#define GST_BASE_AUDIO_SINK_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSinkClass))
+#define GST_BASE_AUDIO_SINK_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SINK, GstBaseAudioSinkClass))
+#define GST_IS_BASE_AUDIO_SINK(obj)             (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SINK))
+#define GST_IS_BASE_AUDIO_SINK_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SINK))
+
+/**
+ * GST_BASE_AUDIO_SINK_CLOCK:
+ * @obj: a #GstBaseAudioSink
+ *
+ * Get the #GstClock of @obj.
+ */
+#define GST_BASE_AUDIO_SINK_CLOCK(obj)   (GST_BASE_AUDIO_SINK (obj)->clock)
+/**
+ * GST_BASE_AUDIO_SINK_PAD:
+ * @obj: a #GstBaseAudioSink
+ *
+ * Get the sink #GstPad of @obj.
+ */
+#define GST_BASE_AUDIO_SINK_PAD(obj)     (GST_BASE_SINK (obj)->sinkpad)
+
+/**
+ * GstBaseAudioSinkSlaveMethod:
+ * @GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE: Resample to match the master clock
+ * @GST_BASE_AUDIO_SINK_SLAVE_SKEW: Adjust playout pointer when master clock
+ * drifts too much.
+ * @GST_BASE_AUDIO_SINK_SLAVE_NONE: No adjustment is done.
+ *
+ * Different possible clock slaving algorithms used when the internal audio
+ * clock is not selected as the pipeline master clock.
+ */
+typedef enum
+{
+  GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE,
+  GST_BASE_AUDIO_SINK_SLAVE_SKEW,
+  GST_BASE_AUDIO_SINK_SLAVE_NONE
+} GstBaseAudioSinkSlaveMethod;
+
+#define GST_TYPE_BASE_AUDIO_SINK_SLAVE_METHOD (gst_base_audio_sink_slave_method_get_type ())
+
+typedef struct _GstBaseAudioSink GstBaseAudioSink;
+typedef struct _GstBaseAudioSinkClass GstBaseAudioSinkClass;
+typedef struct _GstBaseAudioSinkPrivate GstBaseAudioSinkPrivate;
+
+/**
+ * GstBaseAudioSink:
+ *
+ * Opaque #GstBaseAudioSink.
+ */
+struct _GstBaseAudioSink {
+  GstBaseSink    element;
+
+  /*< protected >*/ /* with LOCK */
+  /* our ringbuffer */
+  GstRingBuffer *ringbuffer;
+
+  /* required buffer and latency in microseconds */
+  guint64        buffer_time;
+  guint64        latency_time;
+
+  /* the next sample to write */
+  guint64        next_sample;
+
+  /* clock */
+  gboolean       provide_clock;
+  GstClock      *provided_clock;
+
+  /*< private >*/
+  GstBaseAudioSinkPrivate *priv;
+
+  gpointer _gst_reserved[GST_PADDING - 1];
+};
+
+/**
+ * GstBaseAudioSinkClass:
+ * @parent_class: the parent class.
+ * @create_ringbuffer: create and return a #GstRingBuffer to write to.
+ *
+ * #GstBaseAudioSink class. Override the vmethod to implement
+ * functionality.
+ */
+struct _GstBaseAudioSinkClass {
+  GstBaseSinkClass parent_class;
+
+  /* subclass ringbuffer allocation */
+  GstRingBuffer* (*create_ringbuffer)  (GstBaseAudioSink *sink);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_base_audio_sink_get_type(void);
+GType gst_base_audio_sink_slave_method_get_type (void);
+
+GstRingBuffer *gst_base_audio_sink_create_ringbuffer (GstBaseAudioSink *sink);
+
+void       gst_base_audio_sink_set_provide_clock      (GstBaseAudioSink *sink, gboolean provide);
+gboolean   gst_base_audio_sink_get_provide_clock      (GstBaseAudioSink *sink);
+
+void       gst_base_audio_sink_set_slave_method       (GstBaseAudioSink *sink,
+                                                       GstBaseAudioSinkSlaveMethod method);
+GstBaseAudioSinkSlaveMethod
+           gst_base_audio_sink_get_slave_method       (GstBaseAudioSink *sink);
+
+G_END_DECLS
+
+#endif /* __GST_BASE_AUDIO_SINK_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstbaseaudiosrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,146 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstbaseaudiosrc.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/* a base class for audio sources.
+ */
+
+#ifndef __GST_BASE_AUDIO_SRC_H__
+#define __GST_BASE_AUDIO_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+#include "gstringbuffer.h"
+#include "gstaudioclock.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_BASE_AUDIO_SRC                 (gst_base_audio_src_get_type())
+#define GST_BASE_AUDIO_SRC(obj)                 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrc))
+#define GST_BASE_AUDIO_SRC_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrcClass))
+#define GST_BASE_AUDIO_SRC_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SRC, GstBaseAudioSrcClass))
+#define GST_IS_BASE_AUDIO_SRC(obj)              (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SRC))
+#define GST_IS_BASE_AUDIO_SRC_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SRC))
+
+/**
+ * GST_BASE_AUDIO_SRC_CLOCK:
+ * @obj: a #GstBaseAudioSrc
+ *
+ * Get the #GstClock of @obj.
+ */
+#define GST_BASE_AUDIO_SRC_CLOCK(obj)    (GST_BASE_AUDIO_SRC (obj)->clock)
+/**
+ * GST_BASE_AUDIO_SRC_PAD:
+ * @obj: a #GstBaseAudioSrc
+ *
+ * Get the source #GstPad of @obj.
+ */
+#define GST_BASE_AUDIO_SRC_PAD(obj)      (GST_BASE_SRC (obj)->srcpad)
+
+typedef struct _GstBaseAudioSrc GstBaseAudioSrc;
+typedef struct _GstBaseAudioSrcClass GstBaseAudioSrcClass;
+typedef struct _GstBaseAudioSrcPrivate GstBaseAudioSrcPrivate;
+
+/**
+ * GstBaseAudioSrcSlaveMethod:
+ * @GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE: Resample to match the master clock. 
+ * @GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP: Retimestamp output buffers with master
+ * clock time.
+ * @GST_BASE_AUDIO_SRC_SLAVE_SKEW: Adjust capture pointer when master clock
+ * drifts too much.
+ * @GST_BASE_AUDIO_SRC_SLAVE_NONE: No adjustment is done. 
+ *
+ * Different possible clock slaving algorithms when the internal audio clock was
+ * not selected as the pipeline clock.
+ */
+typedef enum
+{
+  GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE,
+  GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP,
+  GST_BASE_AUDIO_SRC_SLAVE_SKEW,
+  GST_BASE_AUDIO_SRC_SLAVE_NONE
+} GstBaseAudioSrcSlaveMethod;
+
+#define GST_TYPE_BASE_AUDIO_SRC_SLAVE_METHOD (gst_base_audio_src_slave_method_get_type ())
+
+/**
+ * GstBaseAudioSrc:
+ *
+ * Opaque #GstBaseAudioSrc.
+ */
+struct _GstBaseAudioSrc {
+  GstPushSrc     element;
+
+  /*< protected >*/ /* with LOCK */
+  /* our ringbuffer */
+  GstRingBuffer *ringbuffer;
+
+  /* required buffer and latency */
+  GstClockTime   buffer_time;
+  GstClockTime   latency_time;
+
+  /* the next sample to write */
+  guint64        next_sample;
+
+  /* clock */
+  GstClock      *clock;
+
+  /*< private >*/
+  GstBaseAudioSrcPrivate *priv;
+
+  gpointer _gst_reserved[GST_PADDING - 1];
+};
+
+/**
+ * GstBaseAudioSrcClass:
+ * @parent_class: the parent class.
+ * @create_ringbuffer: create and return a #GstRingBuffer to read from.
+ *
+ * #GstBaseAudioSrc class. Override the vmethod to implement
+ * functionality.
+ */
+struct _GstBaseAudioSrcClass {
+  GstPushSrcClass parent_class;
+
+  /* subclass ringbuffer allocation */
+  GstRingBuffer* (*create_ringbuffer)  (GstBaseAudioSrc *src);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_base_audio_src_get_type(void);
+GType gst_base_audio_src_slave_method_get_type (void);
+
+GstRingBuffer *gst_base_audio_src_create_ringbuffer (GstBaseAudioSrc *src);
+
+void       gst_base_audio_src_set_provide_clock        (GstBaseAudioSrc *src, gboolean provide);
+gboolean   gst_base_audio_src_get_provide_clock        (GstBaseAudioSrc *src);
+
+void       gst_base_audio_src_set_slave_method         (GstBaseAudioSrc *src,
+                                                        GstBaseAudioSrcSlaveMethod method);
+GstBaseAudioSrcSlaveMethod
+           gst_base_audio_src_get_slave_method         (GstBaseAudioSrc *src);
+
+
+G_END_DECLS
+
+#endif /* __GST_BASE_AUDIO_SRC_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/gstringbuffer.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,408 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstringbuffer.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_RING_BUFFER_H__
+#define __GST_RING_BUFFER_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_RING_BUFFER             (gst_ring_buffer_get_type())
+#define GST_RING_BUFFER(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RING_BUFFER,GstRingBuffer))
+#define GST_RING_BUFFER_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RING_BUFFER,GstRingBufferClass))
+#define GST_RING_BUFFER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RING_BUFFER, GstRingBufferClass))
+#define GST_RING_BUFFER_CAST(obj)        ((GstRingBuffer *)obj)
+#define GST_IS_RING_BUFFER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RING_BUFFER))
+#define GST_IS_RING_BUFFER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RING_BUFFER))
+
+typedef struct _GstRingBuffer GstRingBuffer;
+typedef struct _GstRingBufferClass GstRingBufferClass;
+typedef struct _GstRingBufferSpec GstRingBufferSpec;
+
+/**
+ * GstRingBufferCallback:
+ * @rbuf: a #GstRingBuffer
+ * @data: target to fill
+ * @len: amount to fill
+ * @user_data: user data
+ *
+ * This function is set with gst_ring_buffer_set_callback() and is
+ * called to fill the memory at @data with @len bytes of samples. 
+ */
+typedef void (*GstRingBufferCallback) (GstRingBuffer *rbuf, guint8* data, guint len, gpointer user_data);
+
+/**
+ * GstRingBufferState:
+ * @GST_RING_BUFFER_STATE_STOPPED: The ringbuffer is stopped
+ * @GST_RING_BUFFER_STATE_PAUSED: The ringbuffer is paused
+ * @GST_RING_BUFFER_STATE_STARTED: The ringbuffer is started
+ *
+ * The state of the ringbuffer.
+ */
+typedef enum {
+  GST_RING_BUFFER_STATE_STOPPED,
+  GST_RING_BUFFER_STATE_PAUSED,
+  GST_RING_BUFFER_STATE_STARTED
+} GstRingBufferState;
+
+/**
+ * GstRingBufferSegState:
+ * @GST_SEGSTATE_INVALID: The content of the segment is invalid
+ * @GST_SEGSTATE_EMPTY: The segment is empty
+ * @GST_SEGSTATE_FILLED: The segment contains valid data
+ * @GST_SEGSTATE_PARTIAL: The segment partially contains valid data
+ *
+ * The state of a segment in the ringbuffer.
+ */
+typedef enum {
+  GST_SEGSTATE_INVALID,
+  GST_SEGSTATE_EMPTY,
+  GST_SEGSTATE_FILLED,
+  GST_SEGSTATE_PARTIAL
+} GstRingBufferSegState;
+
+/**
+ * GstBufferFormatType:
+ * @GST_BUFTYPE_LINEAR: samples in linear PCM
+ * @GST_BUFTYPE_FLOAT: samples in float 
+ * @GST_BUFTYPE_MU_LAW: samples in mulaw
+ * @GST_BUFTYPE_A_LAW: samples in alaw
+ * @GST_BUFTYPE_IMA_ADPCM: samples in ima adpcm
+ * @GST_BUFTYPE_MPEG: samples in mpeg audio format
+ * @GST_BUFTYPE_GSM: samples in gsm format
+ * @GST_BUFTYPE_IEC958: samples in IEC958 frames (e.g. AC3)
+ * @GST_BUFTYPE_AC3: samples in AC3 format
+ * @GST_BUFTYPE_EAC3: samples in EAC3 format
+ * @GST_BUFTYPE_DTS: samples in DTS format
+ *
+ * The format of the samples in the ringbuffer.
+ */
+typedef enum
+{
+  GST_BUFTYPE_LINEAR,
+  GST_BUFTYPE_FLOAT,
+  GST_BUFTYPE_MU_LAW,
+  GST_BUFTYPE_A_LAW,
+  GST_BUFTYPE_IMA_ADPCM,
+  GST_BUFTYPE_MPEG,
+  GST_BUFTYPE_GSM,
+  GST_BUFTYPE_IEC958,
+  GST_BUFTYPE_AC3,
+  GST_BUFTYPE_EAC3,
+  GST_BUFTYPE_DTS
+} GstBufferFormatType;
+
+typedef enum
+{
+  GST_UNKNOWN,
+
+  GST_S8,
+  GST_U8,
+
+  GST_S16_LE,
+  GST_S16_BE,
+  GST_U16_LE,
+  GST_U16_BE,
+
+  GST_S24_LE,
+  GST_S24_BE,
+  GST_U24_LE,
+  GST_U24_BE,
+
+  GST_S32_LE,
+  GST_S32_BE,
+  GST_U32_LE,
+  GST_U32_BE,
+
+  GST_S24_3LE,
+  GST_S24_3BE,
+  GST_U24_3LE,
+  GST_U24_3BE,
+  GST_S20_3LE,
+  GST_S20_3BE,
+  GST_U20_3LE,
+  GST_U20_3BE,
+  GST_S18_3LE,
+  GST_S18_3BE,
+  GST_U18_3LE,
+  GST_U18_3BE,
+
+  GST_FLOAT32_LE,
+  GST_FLOAT32_BE,
+
+  GST_FLOAT64_LE,
+  GST_FLOAT64_BE,
+
+  GST_MU_LAW,
+  GST_A_LAW,
+  GST_IMA_ADPCM,
+  GST_MPEG,
+  GST_GSM,
+  GST_IEC958,
+  GST_AC3,
+  GST_EAC3,
+  GST_DTS
+} GstBufferFormat;
+
+/**
+ * GstRingBufferSpec:
+ * @caps: The caps that generated the Spec.
+ * @type: the sample type
+ * @format: the sample format
+ * @sign: the sample sign
+ * @bigend: the endianness of the samples
+ * @width: the width of the samples
+ * @depth: th depth of the samples
+ * @rate: the samplerate
+ * @channels: the number of channels
+ * @latency_time: the latency in microseconds
+ * @buffer_time: the total buffer size in microseconds
+ * @segsize: the size of one segment in bytes
+ * @segtotal: the total number of segments
+ * @bytes_per_sample: number of bytes in one sample
+ * @silence_sample: bytes representing one sample of silence
+ * @seglatency: number of segments queued in the lower level device,
+ *  defaults to segtotal
+ *
+ * The structure containing the format specification of the ringbuffer.
+ */
+struct _GstRingBufferSpec
+{
+  /*< public >*/
+  /* in */
+  GstCaps  *caps;               /* the caps of the buffer */
+
+  /* in/out */
+  GstBufferFormatType   type;
+  GstBufferFormat format;
+  gboolean  sign;
+  gboolean  bigend;
+  gint      width;
+  gint      depth;
+  gint      rate;
+  gint      channels;
+  
+  guint64  latency_time;        /* the required/actual latency time, this is the
+				 * actual the size of one segment and the
+				 * minimum possible latency we can achieve. */
+  guint64  buffer_time;         /* the required/actual time of the buffer, this is
+				 * the total size of the buffer and maximum
+				 * latency we can compensate for. */
+  gint     segsize;             /* size of one buffer segment in bytes, this value
+				 * should be chosen to match latency_time as
+				 * well as possible. */
+  gint     segtotal;            /* total number of segments, this value is the
+				 * number of segments of @segsize and should be
+				 * chosen so that it matches buffer_time as
+				 * close as possible. */
+  /* out */
+  gint     bytes_per_sample;    /* number of bytes of one sample */
+  guint8   silence_sample[32];  /* bytes representing silence */
+
+  /* ABI added 0.10.20 */
+  gint     seglatency;          /* number of segments queued in the lower
+				 * level device, defaults to segtotal. */
+
+  /*< private >*/
+  /* gpointer _gst_reserved[GST_PADDING]; */
+  guint8 _gst_reserved[(sizeof (gpointer) * GST_PADDING) - sizeof (gint)];
+};
+
+#define GST_RING_BUFFER_GET_COND(buf) (((GstRingBuffer *)buf)->cond)
+#define GST_RING_BUFFER_WAIT(buf)     (g_cond_wait (GST_RING_BUFFER_GET_COND (buf), GST_OBJECT_GET_LOCK (buf)))
+#define GST_RING_BUFFER_SIGNAL(buf)   (g_cond_signal (GST_RING_BUFFER_GET_COND (buf)))
+#define GST_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_RING_BUFFER_GET_COND (buf)))
+
+/**
+ * GstRingBuffer:
+ * @cond: used to signal start/stop/pause/resume actions
+ * @open: boolean indicating that the ringbuffer is open
+ * @acquired: boolean indicating that the ringbuffer is acquired
+ * @data: data in the ringbuffer
+ * @spec: format and layout of the ringbuffer data
+ * @segstate: status of each segment in the ringbuffer (unused)
+ * @samples_per_seg: number of samples in one segment
+ * @empty_seg: pointer to memory holding one segment of silence samples
+ * @state: state of the buffer
+ * @segdone: readpointer in the ringbuffer
+ * @segbase: segment corresponding to segment 0 (unused)
+ * @waiting: is a reader or writer waiting for a free segment
+ *
+ * The ringbuffer base class structure.
+ */
+struct _GstRingBuffer {
+  GstObject              object;
+
+  /*< public >*/ /* with LOCK */
+  GCond                 *cond;
+  gboolean               open;
+  gboolean               acquired;
+  GstBuffer             *data;
+  GstRingBufferSpec      spec;
+  GstRingBufferSegState *segstate;
+  gint                   samples_per_seg;
+  guint8                *empty_seg;
+
+  /*< public >*/ /* ATOMIC */
+  gint                   state;
+  gint                   segdone;
+  gint                   segbase;
+  gint                   waiting;
+
+  /*< private >*/
+  GstRingBufferCallback  callback;
+  gpointer               cb_data;
+
+  /*< private >*/
+  union {
+    struct {
+      gboolean           flushing;
+      /* ATOMIC */
+      gint               may_start;
+      gboolean           active;
+    } ABI;
+    /* adding + 0 to mark ABI change to be undone later */
+    gpointer _gst_reserved[GST_PADDING + 0];
+  } abidata;
+};
+
+/**
+ * GstRingBufferClass:
+ * @parent_class: parent class
+ * @open_device:  open the device, don't set any params or allocate anything
+ * @acquire: allocate the resources for the ringbuffer using the given spec
+ * @release: free resources of the ringbuffer
+ * @close_device: close the device
+ * @start: start processing of samples
+ * @pause: pause processing of samples
+ * @resume: resume processing of samples after pause
+ * @stop: stop processing of samples
+ * @delay: get number of samples queued in device
+ * @activate: activate the thread that starts pulling and monitoring the
+ * consumed segments in the device. Since 0.10.22
+ * @commit: write samples into the ringbuffer
+ * @clear_all: clear the entire ringbuffer Since 0.10.24
+ *
+ * The vmethods that subclasses can override to implement the ringbuffer.
+ */
+struct _GstRingBufferClass {
+  GstObjectClass parent_class;
+
+  /*< public >*/
+  gboolean     (*open_device)  (GstRingBuffer *buf);
+  gboolean     (*acquire)      (GstRingBuffer *buf, GstRingBufferSpec *spec);
+  gboolean     (*release)      (GstRingBuffer *buf);
+  gboolean     (*close_device) (GstRingBuffer *buf);
+
+  gboolean     (*start)        (GstRingBuffer *buf);
+  gboolean     (*pause)        (GstRingBuffer *buf);
+  gboolean     (*resume)       (GstRingBuffer *buf);
+  gboolean     (*stop)         (GstRingBuffer *buf);
+
+  guint        (*delay)        (GstRingBuffer *buf);
+
+  /* ABI added */
+  gboolean     (*activate)     (GstRingBuffer *buf, gboolean active);
+
+  guint        (*commit)       (GstRingBuffer * buf, guint64 *sample,
+                                guchar * data, gint in_samples, 
+                                gint out_samples, gint * accum);
+
+  void         (*clear_all)    (GstRingBuffer * buf);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING - 3];
+};
+
+GType gst_ring_buffer_get_type(void);
+
+/* callback stuff */
+void            gst_ring_buffer_set_callback    (GstRingBuffer *buf, GstRingBufferCallback cb, 
+                                                 gpointer user_data);
+
+gboolean        gst_ring_buffer_parse_caps      (GstRingBufferSpec *spec, GstCaps *caps);
+void            gst_ring_buffer_debug_spec_caps (GstRingBufferSpec *spec);
+void            gst_ring_buffer_debug_spec_buff (GstRingBufferSpec *spec);
+
+gboolean        gst_ring_buffer_convert         (GstRingBuffer * buf, GstFormat src_fmt,
+                                                 gint64 src_val, GstFormat dest_fmt,
+						 gint64 * dest_val);
+
+/* device state */
+gboolean        gst_ring_buffer_open_device     (GstRingBuffer *buf);
+gboolean        gst_ring_buffer_close_device    (GstRingBuffer *buf);
+
+gboolean        gst_ring_buffer_device_is_open  (GstRingBuffer *buf);
+
+/* allocate resources */
+gboolean        gst_ring_buffer_acquire         (GstRingBuffer *buf, GstRingBufferSpec *spec);
+gboolean        gst_ring_buffer_release         (GstRingBuffer *buf);
+
+gboolean        gst_ring_buffer_is_acquired     (GstRingBuffer *buf);
+
+/* activating */
+gboolean        gst_ring_buffer_activate        (GstRingBuffer *buf, gboolean active);
+gboolean        gst_ring_buffer_is_active       (GstRingBuffer *buf);
+
+/* flushing */
+void            gst_ring_buffer_set_flushing    (GstRingBuffer *buf, gboolean flushing);
+
+/* playback/pause */
+gboolean        gst_ring_buffer_start           (GstRingBuffer *buf);
+gboolean        gst_ring_buffer_pause           (GstRingBuffer *buf);
+gboolean        gst_ring_buffer_stop            (GstRingBuffer *buf);
+
+/* get status */
+guint           gst_ring_buffer_delay           (GstRingBuffer *buf);
+guint64         gst_ring_buffer_samples_done    (GstRingBuffer *buf);
+
+void            gst_ring_buffer_set_sample      (GstRingBuffer *buf, guint64 sample);
+
+/* clear all segments */
+void            gst_ring_buffer_clear_all       (GstRingBuffer *buf);
+
+/* commit samples */
+guint           gst_ring_buffer_commit          (GstRingBuffer *buf, guint64 sample, 
+                                                 guchar *data, guint len);
+guint           gst_ring_buffer_commit_full     (GstRingBuffer * buf, guint64 *sample,
+		                                 guchar * data, gint in_samples, 
+						 gint out_samples, gint * accum);
+
+/* read samples */
+guint           gst_ring_buffer_read            (GstRingBuffer *buf, guint64 sample, 
+                                                 guchar *data, guint len);
+
+/* mostly protected */
+/* not yet implemented
+gboolean        gst_ring_buffer_prepare_write   (GstRingBuffer *buf, gint *segment, guint8 **writeptr, gint *len);
+*/
+gboolean        gst_ring_buffer_prepare_read    (GstRingBuffer *buf, gint *segment, guint8 **readptr, gint *len);
+void            gst_ring_buffer_clear           (GstRingBuffer *buf, gint segment);
+void            gst_ring_buffer_advance         (GstRingBuffer *buf, guint advance);
+
+void            gst_ring_buffer_may_start       (GstRingBuffer *buf, gboolean allowed);
+
+
+G_END_DECLS
+
+#endif /* __GST_RING_BUFFER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/mixerutils.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,50 @@
+/* GStreamer
+ * Copyright (C) 2005-2006 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AUDIO_MIXERUTILS_H__
+#define __GST_AUDIO_MIXERUTILS_H__
+
+#include <gst/gst.h>
+#include <gst/interfaces/mixer.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GstAudioMixerFilterFunc:
+ * @mixer: a #GstElement implementing the #GstMixer interface
+ * @user_data: user data
+ *
+ * Function that will be called by gst_audio_default_registry_mixer_filter()
+ * so the caller can decide which mixer elements should be kept and returned.
+ * When the mixer element is passed to the callback function, it is opened
+ * and in READY state. If you decide to keep the element, you need to set it
+ * back to NULL state yourself (unless you want to keep it opened of course).
+ *
+ * Returns: TRUE if the element should be kept, FALSE otherwise.
+ */
+typedef gboolean (*GstAudioMixerFilterFunc) (GstMixer * mixer, gpointer user_data);
+
+
+GList * gst_audio_default_registry_mixer_filter (GstAudioMixerFilterFunc  filter_func,
+                                                 gboolean                 first,
+                                                 gpointer                 user_data);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_MIXERUTILS_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/audio/multichannel.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,97 @@
+/* GStreamer Multichannel-Audio helper functions
+ * (c) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AUDIO_MULTICHANNEL_H__
+#define __GST_AUDIO_MULTICHANNEL_H__
+
+#include <gst/audio/audio.h>
+#include <gst/audio/audio-enumtypes.h>
+
+G_BEGIN_DECLS
+
+typedef enum {
+  GST_AUDIO_CHANNEL_POSITION_INVALID = -1,
+
+  /* Main front speakers. Mono and left/right are mututally exclusive! */
+  GST_AUDIO_CHANNEL_POSITION_FRONT_MONO,
+  GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+  GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+
+  /* rear. Left/right and center are mututally exclusive! */
+  GST_AUDIO_CHANNEL_POSITION_REAR_CENTER,
+  GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
+  GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
+
+  /* subwoofer/low-frequency */
+  GST_AUDIO_CHANNEL_POSITION_LFE,
+
+  /* Center front speakers. Center and left/right_of_center cannot be
+   * used together! */
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+  GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
+  GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
+
+  /* sides */
+  GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+  GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+
+  /* for multi-channel input and output with more than 8 channels,
+   * incompatible with all other positions, either all positions
+   * are defined or all positions are undefined, but can't mix'n'match  */
+  GST_AUDIO_CHANNEL_POSITION_NONE,
+
+  /* don't use - counter */
+  GST_AUDIO_CHANNEL_POSITION_NUM
+} GstAudioChannelPosition;
+
+/* Retrieves or sets the positions from/to a GstStructure. Only
+ * works with fixed caps, caller should check for that! Caller
+ * g_free()s result of the getter. */
+GstAudioChannelPosition *
+        gst_audio_get_channel_positions (GstStructure *str);
+void    gst_audio_set_channel_positions (GstStructure *str,
+                                         const GstAudioChannelPosition *pos);
+
+/* Sets a (non-fixed) list of possible audio channel positions
+ * on a structure (this requires the "channels" property to
+ * be fixed!) or on a caps (here, the "channels" property may be
+ * unfixed and the caps may even contain multiple structures). */
+void    gst_audio_set_structure_channel_positions_list
+                                        (GstStructure *str,
+                                         const GstAudioChannelPosition *pos,
+                                         gint          num_positions);
+void    gst_audio_set_caps_channel_positions_list
+                                        (GstCaps      *caps,
+                                         const GstAudioChannelPosition *pos,
+                                         gint          num_positions);
+
+/* Custom fixate function. Elements that implement some sort of
+ * channel conversion algorhithm should use this function for
+ * fixating on GstAudioChannelPosition properties. It will take
+ * care of equal channel positioning (left/right). Caller g_free()s
+ * the return value. The input properties may be (and are supposed
+ * to be) unfixed. */
+GstAudioChannelPosition *
+        gst_audio_fixate_channel_positions (GstStructure *str);
+
+gboolean gst_audio_check_channel_positions (const GstAudioChannelPosition * pos, guint channels);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_MULTICHANNEL_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstadapter.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,104 @@
+/* GStreamer
+ * Copyright (C) 2004 Benjamin Otte <otte@gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gst/gst.h>
+
+#ifndef __GST_ADAPTER_H__
+#define __GST_ADAPTER_H__
+
+G_BEGIN_DECLS
+
+
+#define GST_TYPE_ADAPTER \
+  (gst_adapter_get_type())
+#define GST_ADAPTER(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_ADAPTER, GstAdapter))
+#define GST_ADAPTER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_ADAPTER, GstAdapterClass))
+#define GST_ADAPTER_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_ADAPTER, GstAdapterClass))
+#define GST_IS_ADAPTER(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_ADAPTER))
+#define GST_IS_ADAPTER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_ADAPTER))
+
+typedef struct _GstAdapter GstAdapter;
+typedef struct _GstAdapterClass GstAdapterClass;
+typedef struct _GstAdapterPrivate GstAdapterPrivate;
+
+/**
+ * GstAdapter:
+ * @object: the parent object.
+ *
+ * The opaque #GstAdapter data structure.
+ */
+struct _GstAdapter {
+  GObject       object;
+
+  /*< private >*/
+  GSList *      buflist;
+  guint         size;
+  guint         skip;
+
+  /* we keep state of assembled pieces */
+  guint8 *      assembled_data;
+  guint         assembled_size;
+  guint         assembled_len;
+
+  /* ABI added */
+  /* Remember where the end of our buffer list is to
+   * speed up the push */
+  GSList *buflist_end;
+
+  GstAdapterPrivate *priv;
+
+  gpointer _gst_reserved[GST_PADDING - 2];
+};
+
+struct _GstAdapterClass {
+  GObjectClass  parent_class;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType                   gst_adapter_get_type            (void);
+
+GstAdapter *            gst_adapter_new                 (void);
+
+void                    gst_adapter_clear               (GstAdapter *adapter);
+void                    gst_adapter_push                (GstAdapter *adapter, GstBuffer* buf);
+const guint8 *          gst_adapter_peek                (GstAdapter *adapter, guint size);
+void                    gst_adapter_copy                (GstAdapter *adapter, guint8 *dest,
+                                                         guint offset, guint size);
+void                    gst_adapter_flush               (GstAdapter *adapter, guint flush);
+guint8*                 gst_adapter_take                (GstAdapter *adapter, guint nbytes);
+GstBuffer*              gst_adapter_take_buffer         (GstAdapter *adapter, guint nbytes);
+guint                   gst_adapter_available           (GstAdapter *adapter);
+guint                   gst_adapter_available_fast      (GstAdapter *adapter);
+
+GstClockTime            gst_adapter_prev_timestamp      (GstAdapter *adapter, guint64 *distance);
+
+guint                   gst_adapter_masked_scan_uint32  (GstAdapter * adapter, guint32 mask,
+                                                         guint32 pattern, guint offset, guint size);
+
+
+G_END_DECLS
+
+#endif /* __GST_ADAPTER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasesink.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,242 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2000 Wim Taymans <wtay@chello.be>
+ *
+ * gstbasesink.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BASE_SINK_H__
+#define __GST_BASE_SINK_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+
+#define GST_TYPE_BASE_SINK              (gst_base_sink_get_type())
+#define GST_BASE_SINK(obj)              (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SINK,GstBaseSink))
+#define GST_BASE_SINK_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SINK,GstBaseSinkClass))
+#define GST_BASE_SINK_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SINK, GstBaseSinkClass))
+#define GST_IS_BASE_SINK(obj)           (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SINK))
+#define GST_IS_BASE_SINK_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SINK))
+#define GST_BASE_SINK_CAST(obj)         ((GstBaseSink *) (obj))
+
+/**
+ * GST_BASE_SINK_PAD:
+ * @obj: base sink instance
+ *
+ * Gives the pointer to the #GstPad object of the element.
+ */
+#define GST_BASE_SINK_PAD(obj)          (GST_BASE_SINK_CAST (obj)->sinkpad)
+
+typedef struct _GstBaseSink GstBaseSink;
+typedef struct _GstBaseSinkClass GstBaseSinkClass;
+typedef struct _GstBaseSinkPrivate GstBaseSinkPrivate;
+
+/**
+ * GstBaseSink:
+ * @element: the parent element.
+ *
+ * The opaque #GstBaseSink data structure.
+ */
+struct _GstBaseSink {
+  GstElement     element;
+
+  /*< protected >*/
+  GstPad        *sinkpad;
+  GstActivateMode       pad_mode;
+
+  /*< protected >*/ /* with LOCK */
+  guint64        offset;
+  gboolean       can_activate_pull;
+  gboolean       can_activate_push;
+
+  /*< protected >*/ /* with PREROLL_LOCK */
+  GQueue        *preroll_queue;
+  gint           preroll_queue_max_len;
+  gint           preroll_queued;
+  gint           buffers_queued;
+  gint           events_queued;
+  gboolean       eos;
+  gboolean       eos_queued;
+  gboolean       need_preroll;
+  gboolean       have_preroll;
+  gboolean       playing_async;
+
+  /*< protected >*/ /* with STREAM_LOCK */
+  gboolean       have_newsegment;
+  GstSegment     segment;
+
+  /*< private >*/ /* with LOCK */
+  GstClockID     clock_id;
+  GstClockTime   end_time;
+  gboolean       sync;
+  gboolean       flushing;
+
+  /*< private >*/
+  union {
+    struct {
+      /* segment used for clipping incoming buffers */
+      GstSegment    *clip_segment;
+      /* max amount of time a buffer can be late, -1 no limit. */
+      gint64         max_lateness;
+      gboolean       running;
+    } ABI;
+    gpointer _gst_reserved[GST_PADDING_LARGE - 1];
+  } abidata;
+
+  GstBaseSinkPrivate *priv;
+};
+
+/**
+ * GstBaseSinkClass:
+ * @parent_class: Element parent class
+ * @get_caps: Called to get sink pad caps from the subclass
+ * @set_caps: Notify subclass of changed caps
+ * @buffer_alloc: Subclasses can override to perform custom buffer allocations
+ * @get_times: Called to get the start and end times for synchronising
+ *     the passed buffer to the clock
+ * @start: Start processing. Ideal for opening resources in the subclass
+ * @stop: Stop processing. Subclasses should use this to close resources.
+ * @unlock: Unlock any pending access to the resource. Subclasses should
+ *     unblock any blocked function ASAP
+ * @unlock_stop: Clear the previous unlock request. Subclasses should clear
+ *     any state they set during unlock(), such as clearing command queues.
+ * @event: Override this to handle events arriving on the sink pad
+ * @preroll: Called to present the preroll buffer if desired
+ * @render: Called when a buffer should be presented or output, at the
+ *     correct moment if the #GstBaseSink has been set to sync to the clock.
+ * @render_list: Same as @render but used whith buffer lists instead of
+ *     buffers. Since: 0.10.24
+ * @async_play: Subclasses should override this when they need to perform
+ *     special processing when changing to the PLAYING state asynchronously.
+ *     Called with the OBJECT_LOCK held.
+ * @activate_pull: Subclasses should override this when they can provide an
+ *     alternate method of spawning a thread to drive the pipeline in pull mode.
+ *     Should start or stop the pulling thread, depending on the value of the
+ *     "active" argument. Called after actually activating the sink pad in pull
+ *     mode. The default implementation starts a task on the sink pad.
+ * @fixate: Only useful in pull mode, this vmethod will be called in response to
+ *     gst_pad_fixate_caps() being called on the sink pad. Implement if you have
+ *     ideas about what should be the default values for the caps you support.
+ *
+ * Subclasses can override any of the available virtual methods or not, as
+ * needed. At the minimum, the @render method should be overridden to
+ * output/present buffers.
+ */
+struct _GstBaseSinkClass {
+  GstElementClass parent_class;
+
+  /* get caps from subclass */
+  GstCaps*      (*get_caps)     (GstBaseSink *sink);
+  /* notify subclass of new caps */
+  gboolean      (*set_caps)     (GstBaseSink *sink, GstCaps *caps);
+
+  /* allocate a new buffer with given caps */
+  GstFlowReturn (*buffer_alloc) (GstBaseSink *sink, guint64 offset, guint size,
+                                 GstCaps *caps, GstBuffer **buf);
+
+  /* get the start and end times for syncing on this buffer */
+  void          (*get_times)    (GstBaseSink *sink, GstBuffer *buffer,
+                                 GstClockTime *start, GstClockTime *end);
+
+  /* start and stop processing, ideal for opening/closing the resource */
+  gboolean      (*start)        (GstBaseSink *sink);
+  gboolean      (*stop)         (GstBaseSink *sink);
+
+  /* unlock any pending access to the resource. subclasses should unlock
+   * any function ASAP. */
+  gboolean      (*unlock)       (GstBaseSink *sink);
+
+  /* notify subclass of event, preroll buffer or real buffer */
+  gboolean      (*event)        (GstBaseSink *sink, GstEvent *event);
+  GstFlowReturn (*preroll)      (GstBaseSink *sink, GstBuffer *buffer);
+  GstFlowReturn (*render)       (GstBaseSink *sink, GstBuffer *buffer);
+
+  /* ABI additions */
+
+  /* when an ASYNC state change to PLAYING happens */ /* with LOCK */
+  GstStateChangeReturn (*async_play)   (GstBaseSink *sink);
+
+  /* start or stop a pulling thread */
+  gboolean      (*activate_pull)(GstBaseSink *sink, gboolean active);
+
+  /* fixate sink caps during pull-mode negotiation */
+  void          (*fixate)       (GstBaseSink *sink, GstCaps *caps);
+
+  /* Clear a previously indicated unlock request not that unlocking is
+   * complete. Sub-classes should clear any command queue or indicator they
+   * set during unlock */
+  gboolean      (*unlock_stop)  (GstBaseSink *sink);
+
+  /* Render a BufferList */
+  GstFlowReturn (*render_list)  (GstBaseSink *sink, GstBufferList *buffer_list);
+
+  /*< private >*/
+  gpointer       _gst_reserved[GST_PADDING_LARGE-5];
+};
+
+GType gst_base_sink_get_type(void);
+
+GstFlowReturn   gst_base_sink_do_preroll        (GstBaseSink *sink, GstMiniObject *obj);
+GstFlowReturn   gst_base_sink_wait_preroll      (GstBaseSink *sink);
+
+/* synchronizing against the clock */
+void            gst_base_sink_set_sync          (GstBaseSink *sink, gboolean sync);
+gboolean        gst_base_sink_get_sync          (GstBaseSink *sink);
+
+/* dropping late buffers */
+void            gst_base_sink_set_max_lateness  (GstBaseSink *sink, gint64 max_lateness);
+gint64          gst_base_sink_get_max_lateness  (GstBaseSink *sink);
+
+/* performing QoS */
+void            gst_base_sink_set_qos_enabled   (GstBaseSink *sink, gboolean enabled);
+gboolean        gst_base_sink_is_qos_enabled    (GstBaseSink *sink);
+
+/* doing async state changes */
+void            gst_base_sink_set_async_enabled (GstBaseSink *sink, gboolean enabled);
+gboolean        gst_base_sink_is_async_enabled  (GstBaseSink *sink);
+
+/* tuning synchronisation */
+void            gst_base_sink_set_ts_offset     (GstBaseSink *sink, GstClockTimeDiff offset);
+GstClockTimeDiff gst_base_sink_get_ts_offset    (GstBaseSink *sink);
+
+/* last buffer */
+GstBuffer *     gst_base_sink_get_last_buffer   (GstBaseSink *sink);
+
+/* latency */
+gboolean        gst_base_sink_query_latency     (GstBaseSink *sink, gboolean *live, gboolean *upstream_live,
+                                                 GstClockTime *min_latency, GstClockTime *max_latency);
+GstClockTime    gst_base_sink_get_latency       (GstBaseSink *sink);
+
+/* render delay */
+void            gst_base_sink_set_render_delay  (GstBaseSink *sink, GstClockTime delay);
+GstClockTime    gst_base_sink_get_render_delay  (GstBaseSink *sink);
+
+/* blocksize */
+void            gst_base_sink_set_blocksize     (GstBaseSink *sink, guint blocksize);
+guint           gst_base_sink_get_blocksize     (GstBaseSink *sink);
+
+GstClockReturn  gst_base_sink_wait_clock        (GstBaseSink *sink, GstClockTime time,
+                                                 GstClockTimeDiff * jitter);
+GstFlowReturn   gst_base_sink_wait_eos          (GstBaseSink *sink, GstClockTime time,
+                                                 GstClockTimeDiff *jitter);
+
+G_END_DECLS
+
+#endif /* __GST_BASE_SINK_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasesrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,253 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2000 Wim Taymans <wtay@chello.be>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstbasesrc.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BASE_SRC_H__
+#define __GST_BASE_SRC_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_BASE_SRC               (gst_base_src_get_type())
+#define GST_BASE_SRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_SRC,GstBaseSrc))
+#define GST_BASE_SRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_SRC,GstBaseSrcClass))
+#define GST_BASE_SRC_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_SRC, GstBaseSrcClass))
+#define GST_IS_BASE_SRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_SRC))
+#define GST_IS_BASE_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_SRC))
+#define GST_BASE_SRC_CAST(obj)          ((GstBaseSrc *)(obj))
+
+/**
+ * GstBaseSrcFlags:
+ * @GST_BASE_SRC_STARTED: has source been started
+ * @GST_BASE_SRC_FLAG_LAST: offset to define more flags
+ *
+ * The #GstElement flags that a basesrc element may have.
+ */
+typedef enum {
+  GST_BASE_SRC_STARTED           = (GST_ELEMENT_FLAG_LAST << 0),
+  /* padding */
+  GST_BASE_SRC_FLAG_LAST         = (GST_ELEMENT_FLAG_LAST << 2)
+} GstBaseSrcFlags;
+
+typedef struct _GstBaseSrc GstBaseSrc;
+typedef struct _GstBaseSrcClass GstBaseSrcClass;
+typedef struct _GstBaseSrcPrivate GstBaseSrcPrivate;
+
+/**
+ * GST_BASE_SRC_PAD:
+ * @obj: base source instance
+ *
+ * Gives the pointer to the #GstPad object of the element.
+ */
+#define GST_BASE_SRC_PAD(obj)                 (GST_BASE_SRC_CAST (obj)->srcpad)
+
+
+/**
+ * GstBaseSrc:
+ * @element: the parent element.
+ *
+ * The opaque #GstBaseSrc data structure.
+ */
+struct _GstBaseSrc {
+  GstElement     element;
+
+  /*< protected >*/
+  GstPad        *srcpad;
+
+  /* available to subclass implementations */
+  /* MT-protected (with LIVE_LOCK) */
+  GMutex        *live_lock;
+  GCond         *live_cond;
+  gboolean       is_live;
+  gboolean       live_running;
+
+  /* MT-protected (with LOCK) */
+  gint           blocksize;     /* size of buffers when operating push based */
+  gboolean       can_activate_push;     /* some scheduling properties */
+  GstActivateMode pad_mode;
+  gboolean       seekable; /* not used anymore */
+  gboolean       random_access;
+
+  GstClockID     clock_id;      /* for syncing */
+  GstClockTime   end_time;
+
+  /* MT-protected (with STREAM_LOCK) */
+  GstSegment     segment;
+  gboolean       need_newsegment;
+
+  guint64        offset;        /* current offset in the resource, unused */
+  guint64        size;          /* total size of the resource, unused */
+
+  gint           num_buffers;
+  gint           num_buffers_left;
+
+  /*< private >*/
+  union {
+    struct {
+      /* FIXME: those fields should be moved into the private struct */
+      gboolean  typefind;
+      gboolean  running;
+      GstEvent *pending_seek;
+    } ABI;
+    gpointer       _gst_reserved[GST_PADDING_LARGE-1];
+  } data;
+
+  GstBaseSrcPrivate *priv;
+};
+
+/**
+ * GstBaseSrcClass:
+ * @parent_class: Element parent class
+ * @get_caps: Called to get the caps to report
+ * @set_caps: Notify subclass of changed output caps
+ * @negotiate: Negotiated the caps with the peer.
+ * @newsegment: Generate and send a new_segment event (UNUSED)
+ * @start: Start processing. Subclasses should open resources and prepare
+ *    to produce data.
+ * @stop: Stop processing. Subclasses should use this to close resources.
+ * @get_times: Given a buffer, return the start and stop time when it
+ *    should be pushed out. The base class will sync on the clock using
+ *    these times.
+ * @get_size: Return the total size of the resource, in the configured format.
+ * @is_seekable: Check if the source can seek
+ * @unlock: Unlock any pending access to the resource. Subclasses should
+ *    unblock any blocked function ASAP
+ * @unlock_stop: Clear the previous unlock request. Subclasses should clear
+ *    any state they set during unlock(), such as clearing command queues.
+ * @event: Override this to implement custom event handling.
+ * @create: Ask the subclass to create a buffer with offset and size.
+ * @do_seek: Perform seeking on the resource to the indicated segment.
+ * @prepare_seek_segment: Prepare the GstSegment that will be passed to the
+ *   do_seek vmethod for executing a seek request. Sub-classes should override
+ *   this if they support seeking in formats other than the configured native
+ *   format. By default, it tries to convert the seek arguments to the
+ *   configured native format and prepare a segment in that format.
+ *   Since: 0.10.13
+ * @query: Handle a requested query.
+ * @check_get_range: Check whether the source would support pull-based
+ *   operation if it were to be opened now. This vfunc is optional, but
+ *   should be implemented if possible to avoid unnecessary start/stop
+ *   cycles. The default implementation will open and close the resource
+ *   to find out whether get_range is supported, and that is usually
+ *   undesirable.
+ * @fixate: Called during negotiation if caps need fixating. Implement instead of
+ *   setting a fixate function on the source pad.
+ *
+ * Subclasses can override any of the available virtual methods or not, as
+ * needed. At the minimum, the @create method should be overridden to produce
+ * buffers.
+ */
+struct _GstBaseSrcClass {
+  GstElementClass parent_class;
+
+  /*< public >*/
+  /* virtual methods for subclasses */
+
+  /* get caps from subclass */
+  GstCaps*      (*get_caps)     (GstBaseSrc *src);
+  /* notify the subclass of new caps */
+  gboolean      (*set_caps)     (GstBaseSrc *src, GstCaps *caps);
+
+  /* decide on caps */
+  gboolean      (*negotiate)    (GstBaseSrc *src);
+
+  /* generate and send a newsegment (UNUSED) */
+  gboolean      (*newsegment)   (GstBaseSrc *src);
+
+  /* start and stop processing, ideal for opening/closing the resource */
+  gboolean      (*start)        (GstBaseSrc *src);
+  gboolean      (*stop)         (GstBaseSrc *src);
+
+  /* given a buffer, return start and stop time when it should be pushed
+   * out. The base class will sync on the clock using these times. */
+  void          (*get_times)    (GstBaseSrc *src, GstBuffer *buffer,
+                                 GstClockTime *start, GstClockTime *end);
+
+  /* get the total size of the resource in bytes */
+  gboolean      (*get_size)     (GstBaseSrc *src, guint64 *size);
+
+  /* check if the resource is seekable */
+  gboolean      (*is_seekable)  (GstBaseSrc *src);
+  /* unlock any pending access to the resource. subclasses should unlock
+   * any function ASAP. */
+  gboolean      (*unlock)       (GstBaseSrc *src);
+
+  /* notify subclasses of an event */
+  gboolean      (*event)        (GstBaseSrc *src, GstEvent *event);
+
+  /* ask the subclass to create a buffer with offset and size */
+  GstFlowReturn (*create)       (GstBaseSrc *src, guint64 offset, guint size,
+                                 GstBuffer **buf);
+
+  /* additions that change padding... */
+  /* notify subclasses of a seek */
+  gboolean      (*do_seek)      (GstBaseSrc *src, GstSegment *segment);
+  /* notify subclasses of a query */
+  gboolean      (*query)        (GstBaseSrc *src, GstQuery *query);
+
+  /* check whether the source would support pull-based operation if
+   * it were to be opened now. This vfunc is optional, but should be
+   * implemented if possible to avoid unnecessary start/stop cycles.
+   * The default implementation will open and close the resource to
+   * find out whether get_range is supported and that is usually
+   * undesirable. */
+  gboolean      (*check_get_range) (GstBaseSrc *src);
+
+  /* called if, in negotiation, caps need fixating */
+  void          (*fixate)       (GstBaseSrc *src, GstCaps *caps);
+
+  /* Clear any pending unlock request, as we succeeded in unlocking */
+  gboolean      (*unlock_stop)  (GstBaseSrc *src);
+
+  /* Prepare the segment on which to perform do_seek(), converting to the
+   * current basesrc format. */
+  gboolean      (*prepare_seek_segment) (GstBaseSrc *src, GstEvent *seek,
+                                         GstSegment *segment);
+
+  /*< private >*/
+  gpointer       _gst_reserved[GST_PADDING_LARGE - 6];
+};
+
+GType gst_base_src_get_type (void);
+
+GstFlowReturn   gst_base_src_wait_playing     (GstBaseSrc *src);
+
+void            gst_base_src_set_live         (GstBaseSrc *src, gboolean live);
+gboolean        gst_base_src_is_live          (GstBaseSrc *src);
+
+void            gst_base_src_set_format       (GstBaseSrc *src, GstFormat format);
+
+gboolean        gst_base_src_query_latency    (GstBaseSrc *src, gboolean * live,
+                                               GstClockTime * min_latency,
+                                               GstClockTime * max_latency);
+
+void            gst_base_src_set_blocksize    (GstBaseSrc *src, gulong blocksize);
+gulong          gst_base_src_get_blocksize    (GstBaseSrc *src);
+
+void            gst_base_src_set_do_timestamp (GstBaseSrc *src, gboolean timestamp);
+gboolean        gst_base_src_get_do_timestamp (GstBaseSrc *src);
+
+gboolean        gst_base_src_new_seamless_segment (GstBaseSrc *src, gint64 start, gint64 stop, gint64 position);
+G_END_DECLS
+
+#endif /* __GST_BASE_SRC_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbasetransform.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,270 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BASE_TRANSFORM_H__
+#define __GST_BASE_TRANSFORM_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_BASE_TRANSFORM		   (gst_base_transform_get_type())
+#define GST_BASE_TRANSFORM(obj)		   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
+#define GST_BASE_TRANSFORM_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
+#define GST_BASE_TRANSFORM_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
+#define GST_IS_BASE_TRANSFORM(obj)	   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
+#define GST_IS_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
+/* since 0.10.4 */
+#define GST_BASE_TRANSFORM_CAST(obj)	((GstBaseTransform *)(obj))
+
+/**
+ * GST_BASE_TRANSFORM_SINK_NAME:
+ *
+ * The name of the templates for the sink pad.
+ */
+#define GST_BASE_TRANSFORM_SINK_NAME	"sink"
+/**
+ * GST_BASE_TRANSFORM_SRC_NAME:
+ *
+ * The name of the templates for the source pad.
+ */
+#define GST_BASE_TRANSFORM_SRC_NAME	"src"
+
+/**
+ * GST_BASE_TRANSFORM_SRC_PAD:
+ * @obj: base transform instance
+ *
+ * Gives the pointer to the source #GstPad object of the element.
+ *
+ * Since: 0.10.4
+ */
+#define GST_BASE_TRANSFORM_SRC_PAD(obj)		(GST_BASE_TRANSFORM_CAST (obj)->srcpad)
+
+/**
+ * GST_BASE_TRANSFORM_SINK_PAD:
+ * @obj: base transform instance
+ *
+ * Gives the pointer to the sink #GstPad object of the element.
+ *
+ * Since: 0.10.4
+ */
+#define GST_BASE_TRANSFORM_SINK_PAD(obj)	(GST_BASE_TRANSFORM_CAST (obj)->sinkpad)
+
+/**
+ * GST_BASE_TRANSFORM_FLOW_DROPPED:
+ *
+ * A #GstFlowReturn that can be returned from transform and transform_ip to
+ * indicate that no output buffer was generated.
+ *
+ * Since: 0.10.13
+ */
+#define GST_BASE_TRANSFORM_FLOW_DROPPED   GST_FLOW_CUSTOM_SUCCESS
+
+/**
+ * GST_BASE_TRANSFORM_LOCK:
+ * @obj: base transform instance
+ *
+ * Obtain a lock to protect the transform function from concurrent access.
+ *
+ * Since: 0.10.13
+ */
+#define GST_BASE_TRANSFORM_LOCK(obj)   g_mutex_lock (GST_BASE_TRANSFORM_CAST (obj)->transform_lock)
+
+/**
+ * GST_BASE_TRANSFORM_UNLOCK:
+ * @obj: base transform instance
+ *
+ * Release the lock that protects the transform function from concurrent access.
+ *
+ * Since: 0.10.13
+ */
+#define GST_BASE_TRANSFORM_UNLOCK(obj) g_mutex_unlock (GST_BASE_TRANSFORM_CAST (obj)->transform_lock)
+
+typedef struct _GstBaseTransform GstBaseTransform;
+typedef struct _GstBaseTransformClass GstBaseTransformClass;
+typedef struct _GstBaseTransformPrivate GstBaseTransformPrivate;
+
+/**
+ * GstBaseTransform:
+ * @element: the parent element.
+ *
+ * The opaque #GstBaseTransform data structure.
+ */
+struct _GstBaseTransform {
+  GstElement	 element;
+
+  /*< protected >*/
+  /* source and sink pads */
+  GstPad	*sinkpad;
+  GstPad	*srcpad;
+
+  /* Set by sub-class */
+  gboolean	 passthrough;
+  gboolean	 always_in_place;
+
+  GstCaps	*cache_caps1;
+  guint		 cache_caps1_size;
+  GstCaps	*cache_caps2;
+  guint		 cache_caps2_size;
+  gboolean	 have_same_caps;
+
+  gboolean	 delay_configure;
+  gboolean	 pending_configure;
+  gboolean	 negotiated;
+
+  gboolean       have_newsegment;
+
+  /* MT-protected (with STREAM_LOCK) */
+  GstSegment     segment;
+
+  GMutex	*transform_lock;
+
+  /*< private >*/
+  GstBaseTransformPrivate *priv;
+
+  gpointer       _gst_reserved[GST_PADDING_LARGE - 1];
+};
+
+/**
+ * GstBaseTransformClass:
+ * @transform_caps: Optional.  Given the pad in this direction and the given
+ *                  caps, what caps are allowed on the other pad in this
+ *                  element ?
+ * @fixate_caps:    Optional. Given the pad in this direction and the given
+ *                  caps, fixate the caps on the other pad.
+ * @transform_size: Optional. Given the size of a buffer in the given direction
+ *                  with the given caps, calculate the size in bytes of a buffer
+ *                  on the other pad with the given other caps.
+ *                  The default implementation uses get_unit_size and keeps
+ *                  the number of units the same.
+ * @get_unit_size:  Required if the transform is not in-place.
+ *                  get the size in bytes of one unit for the given caps.
+ * @set_caps:       allows the subclass to be notified of the actual caps set.
+ * @start:          Optional.
+ *                  Called when the element starts processing.
+ *                  Allows opening external resources.
+ * @stop:           Optional.
+ *                  Called when the element stops processing.
+ *                  Allows closing external resources.
+ * @transform:      Required if the element does not operate in-place.
+ *                  Transforms one incoming buffer to one outgoing buffer.
+ *                  The function is allowed to change size/timestamp/duration
+ *                  of the outgoing buffer.
+ * @transform_ip:   Required if the element operates in-place.
+ *                  Transform the incoming buffer in-place.
+ * @event:          Optional.
+ *                  Event handler on the sink pad. This function should return
+ *                  TRUE if the base class should forward the event. 
+ * @src_event:      Optional.
+ *                  Event handler on the source pad.
+ * @passthrough_on_same_caps: If set to TRUE, passthrough mode will be
+ *                            automatically enabled if the caps are the same.
+ * @prepare_output_buffer: Optional.
+ *                         Subclasses can override this to do their own
+ *                         allocation of output buffers.  Elements that only do
+ *                         analysis can return a subbuffer or even just
+ *                         increment the reference to the input buffer (if in
+ *                         passthrough mode)
+ * @before_transform: Optional. Since 0.10.22
+ *                    This method is called right before the base class will
+ *                    start processing. Dynamic properties or other delayed
+ *                    configuration could be performed in this method.
+ *
+ * Subclasses can override any of the available virtual methods or not, as
+ * needed. At minimum either @transform or @transform_ip need to be overridden.
+ * If the element can overwrite the input data with the results (data is of the
+ * same type and quantity) it should provide @transform_ip.
+ */
+struct _GstBaseTransformClass {
+  GstElementClass parent_class;
+
+  /*< public >*/
+  /* virtual methods for subclasses */
+
+  GstCaps*	(*transform_caps) (GstBaseTransform *trans,
+                                   GstPadDirection direction,
+                                   GstCaps *caps);
+
+  void		(*fixate_caps)	  (GstBaseTransform *trans,
+                                   GstPadDirection direction, GstCaps *caps,
+                                   GstCaps *othercaps);
+
+  gboolean      (*transform_size) (GstBaseTransform *trans,
+                                   GstPadDirection direction,
+                                   GstCaps *caps, guint size,
+                                   GstCaps *othercaps, guint *othersize);
+
+  gboolean      (*get_unit_size)  (GstBaseTransform *trans, GstCaps *caps,
+                                   guint *size);
+
+  gboolean      (*set_caps)     (GstBaseTransform *trans, GstCaps *incaps,
+                                 GstCaps *outcaps);
+
+  gboolean      (*start)        (GstBaseTransform *trans);
+  gboolean      (*stop)         (GstBaseTransform *trans);
+
+  gboolean      (*event)        (GstBaseTransform *trans, GstEvent *event);
+
+  GstFlowReturn (*transform)    (GstBaseTransform *trans, GstBuffer *inbuf,
+                                 GstBuffer *outbuf);
+  GstFlowReturn (*transform_ip) (GstBaseTransform *trans, GstBuffer *buf);
+
+  /* FIXME: When adjusting the padding, move these to nicer places in the class */
+  gboolean       passthrough_on_same_caps;
+
+  GstFlowReturn (*prepare_output_buffer) (GstBaseTransform * trans,
+     GstBuffer *input, gint size, GstCaps *caps, GstBuffer **buf);
+
+  /* src event */
+  gboolean      (*src_event)      (GstBaseTransform *trans, GstEvent *event);
+
+  void          (*before_transform)  (GstBaseTransform *trans, GstBuffer *buffer);
+
+  /*< private >*/
+  gpointer       _gst_reserved[GST_PADDING_LARGE - 2];
+};
+
+GType           gst_base_transform_get_type         (void);
+
+void		gst_base_transform_set_passthrough  (GstBaseTransform *trans,
+	                                             gboolean passthrough);
+gboolean	gst_base_transform_is_passthrough   (GstBaseTransform *trans);
+
+void		gst_base_transform_set_in_place     (GstBaseTransform *trans,
+	                                             gboolean in_place);
+gboolean	gst_base_transform_is_in_place      (GstBaseTransform *trans);
+
+void		gst_base_transform_update_qos       (GstBaseTransform *trans,
+						     gdouble proportion,
+						     GstClockTimeDiff diff,
+						     GstClockTime timestamp);
+void		gst_base_transform_set_qos_enabled  (GstBaseTransform *trans,
+		                                     gboolean enabled);
+gboolean	gst_base_transform_is_qos_enabled   (GstBaseTransform *trans);
+
+void            gst_base_transform_set_gap_aware    (GstBaseTransform *trans,
+                                                     gboolean gap_aware);
+
+void		gst_base_transform_suggest          (GstBaseTransform *trans,
+	                                             GstCaps *caps, guint size);
+void		gst_base_transform_reconfigure      (GstBaseTransform *trans);
+G_END_DECLS
+
+#endif /* __GST_BASE_TRANSFORM_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbitreader.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,105 @@
+/* GStreamer
+ *
+ * Copyright (C) 2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BIT_READER_H__
+#define __GST_BIT_READER_H__
+
+#include <gst/gst.h>
+
+/* FIXME: inline functions */
+
+G_BEGIN_DECLS
+
+#define GST_BIT_READER(reader) ((GstBitReader *) (reader))
+
+/**
+ * GstBitReader:
+ * @data: Data from which the bit reader will read
+ * @size: Size of @data in bytes
+ * @byte: Current byte position
+ * @bit: Bit position in the current byte
+ *
+ * A bit reader instance.
+ */
+typedef struct {
+  const guint8 *data;
+  guint size;
+
+  guint byte;  /* Byte position */
+  guint bit;   /* Bit position in the current byte */
+} GstBitReader;
+
+GstBitReader * gst_bit_reader_new (const guint8 *data, guint size);
+GstBitReader * gst_bit_reader_new_from_buffer (const GstBuffer *buffer);
+void gst_bit_reader_free (GstBitReader *reader);
+
+void gst_bit_reader_init (GstBitReader *reader, const guint8 *data, guint size);
+void gst_bit_reader_init_from_buffer (GstBitReader *reader, const GstBuffer *buffer);
+
+gboolean gst_bit_reader_set_pos (GstBitReader *reader, guint pos);
+
+guint gst_bit_reader_get_pos (const GstBitReader *reader);
+guint gst_bit_reader_get_remaining (const GstBitReader *reader);
+
+guint gst_bit_reader_get_size (const GstBitReader *reader);
+
+gboolean gst_bit_reader_skip (GstBitReader *reader, guint nbits);
+gboolean gst_bit_reader_skip_to_byte (GstBitReader *reader);
+
+gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader, guint8 *val, guint nbits);
+gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader, guint16 *val, guint nbits);
+gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader, guint32 *val, guint nbits);
+gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader, guint64 *val, guint nbits);
+
+gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader, guint8 *val, guint nbits);
+gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader, guint16 *val, guint nbits);
+gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader, guint32 *val, guint nbits);
+gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader, guint64 *val, guint nbits);
+
+/**
+ * GST_BIT_READER_INIT:
+ * @data: Data from which the #GstBitReader should read
+ * @size: Size of @data in bytes
+ *
+ * A #GstBitReader must be initialized with this macro, before it can be
+ * used. This macro can used be to initialize a variable, but it cannot
+ * be assigned to a variable. In that case you have to use
+ * gst_bit_reader_init().
+ *
+ * Since: 0.10.22
+ */
+#define GST_BIT_READER_INIT(data, size) {data, size, 0, 0}
+
+/**
+ * GST_BIT_READER_INIT_FROM_BUFFER:
+ * @buffer: Buffer from which the #GstBitReader should read
+ *
+ * A #GstBitReader must be initialized with this macro, before it can be
+ * used. This macro can used be to initialize a variable, but it cannot
+ * be assigned to a variable. In that case you have to use
+ * gst_bit_reader_init().
+ *
+ * Since: 0.10.22
+ */
+#define GST_BIT_READER_INIT_FROM_BUFFER(buffer) {GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer), 0, 0}
+
+G_END_DECLS
+
+#endif /* __GST_BIT_READER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbytereader.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,476 @@
+/* GStreamer byte reader
+ *
+ * Copyright (C) 2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>.
+ * Copyright (C) 2009 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BYTE_READER_H__
+#define __GST_BYTE_READER_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_BYTE_READER(reader) ((GstByteReader *) (reader))
+
+/**
+ * GstByteReader:
+ * @data: Data from which the bit reader will read
+ * @size: Size of @data in bytes
+ * @byte: Current byte position
+ *
+ * A byte reader instance.
+ */
+typedef struct {
+  const guint8 *data;
+  guint size;
+
+  guint byte;  /* Byte position */
+} GstByteReader;
+
+GstByteReader * gst_byte_reader_new (const guint8 *data, guint size);
+GstByteReader * gst_byte_reader_new_from_buffer (const GstBuffer *buffer);
+void gst_byte_reader_free (GstByteReader *reader);
+
+void gst_byte_reader_init (GstByteReader *reader, const guint8 *data, guint size);
+void gst_byte_reader_init_from_buffer (GstByteReader *reader, const GstBuffer *buffer);
+
+gboolean gst_byte_reader_set_pos (GstByteReader *reader, guint pos);
+
+guint gst_byte_reader_get_pos (const GstByteReader *reader);
+guint gst_byte_reader_get_remaining (const GstByteReader *reader);
+
+guint gst_byte_reader_get_size (const GstByteReader *reader);
+
+gboolean gst_byte_reader_skip (GstByteReader *reader, guint nbytes);
+
+gboolean gst_byte_reader_get_uint8 (GstByteReader *reader, guint8 *val);
+gboolean gst_byte_reader_get_int8 (GstByteReader *reader, gint8 *val);
+gboolean gst_byte_reader_get_uint16_le (GstByteReader *reader, guint16 *val);
+gboolean gst_byte_reader_get_int16_le (GstByteReader *reader, gint16 *val);
+gboolean gst_byte_reader_get_uint16_be (GstByteReader *reader, guint16 *val);
+gboolean gst_byte_reader_get_int16_be (GstByteReader *reader, gint16 *val);
+gboolean gst_byte_reader_get_uint24_le (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_get_int24_le (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_get_uint24_be (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_get_int24_be (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_get_uint32_le (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_get_int32_le (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_get_uint32_be (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_get_int32_be (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_get_uint64_le (GstByteReader *reader, guint64 *val);
+gboolean gst_byte_reader_get_int64_le (GstByteReader *reader, gint64 *val);
+gboolean gst_byte_reader_get_uint64_be (GstByteReader *reader, guint64 *val);
+gboolean gst_byte_reader_get_int64_be (GstByteReader *reader, gint64 *val);
+
+gboolean gst_byte_reader_peek_uint8 (GstByteReader *reader, guint8 *val);
+gboolean gst_byte_reader_peek_int8 (GstByteReader *reader, gint8 *val);
+gboolean gst_byte_reader_peek_uint16_le (GstByteReader *reader, guint16 *val);
+gboolean gst_byte_reader_peek_int16_le (GstByteReader *reader, gint16 *val);
+gboolean gst_byte_reader_peek_uint16_be (GstByteReader *reader, guint16 *val);
+gboolean gst_byte_reader_peek_int16_be (GstByteReader *reader, gint16 *val);
+gboolean gst_byte_reader_peek_uint24_le (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_peek_int24_le (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_peek_uint24_be (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_peek_int24_be (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_peek_uint32_le (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_peek_int32_le (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_peek_uint32_be (GstByteReader *reader, guint32 *val);
+gboolean gst_byte_reader_peek_int32_be (GstByteReader *reader, gint32 *val);
+gboolean gst_byte_reader_peek_uint64_le (GstByteReader *reader, guint64 *val);
+gboolean gst_byte_reader_peek_int64_le (GstByteReader *reader, gint64 *val);
+gboolean gst_byte_reader_peek_uint64_be (GstByteReader *reader, guint64 *val);
+gboolean gst_byte_reader_peek_int64_be (GstByteReader *reader, gint64 *val);
+
+gboolean gst_byte_reader_get_float32_le (GstByteReader *reader, gfloat *val);
+gboolean gst_byte_reader_get_float32_be (GstByteReader *reader, gfloat *val);
+gboolean gst_byte_reader_get_float64_le (GstByteReader *reader, gdouble *val);
+gboolean gst_byte_reader_get_float64_be (GstByteReader *reader, gdouble *val);
+
+gboolean gst_byte_reader_peek_float32_le (GstByteReader *reader, gfloat *val);
+gboolean gst_byte_reader_peek_float32_be (GstByteReader *reader, gfloat *val);
+gboolean gst_byte_reader_peek_float64_le (GstByteReader *reader, gdouble *val);
+gboolean gst_byte_reader_peek_float64_be (GstByteReader *reader, gdouble *val);
+
+gboolean gst_byte_reader_dup_data  (GstByteReader * reader, guint size, guint8       ** val);
+gboolean gst_byte_reader_get_data  (GstByteReader * reader, guint size, const guint8 ** val);
+gboolean gst_byte_reader_peek_data (GstByteReader * reader, guint size, const guint8 ** val);
+
+#define gst_byte_reader_dup_string(reader,str) \
+    gst_byte_reader_dup_string_utf8(reader,str)
+
+gboolean gst_byte_reader_dup_string_utf8  (GstByteReader * reader, gchar   ** str);
+gboolean gst_byte_reader_dup_string_utf16 (GstByteReader * reader, guint16 ** str);
+gboolean gst_byte_reader_dup_string_utf32 (GstByteReader * reader, guint32 ** str);
+
+#define gst_byte_reader_skip_string(reader) \
+    gst_byte_reader_skip_string_utf8(reader)
+
+gboolean gst_byte_reader_skip_string_utf8  (GstByteReader * reader);
+gboolean gst_byte_reader_skip_string_utf16 (GstByteReader * reader);
+gboolean gst_byte_reader_skip_string_utf32 (GstByteReader * reader);
+
+#define gst_byte_reader_get_string(reader,str) \
+    gst_byte_reader_get_string_utf8(reader,str)
+
+#define gst_byte_reader_peek_string(reader,str) \
+    gst_byte_reader_peek_string_utf8(reader,str)
+
+gboolean gst_byte_reader_get_string_utf8   (GstByteReader * reader, const gchar ** str);
+gboolean gst_byte_reader_peek_string_utf8  (GstByteReader * reader, const gchar ** str);
+
+guint    gst_byte_reader_masked_scan_uint32 (GstByteReader * reader,
+                                             guint32         mask,
+                                             guint32         pattern,
+                                             guint           offset,
+                                             guint           size);
+
+/**
+ * GST_BYTE_READER_INIT:
+ * @data: Data from which the #GstByteReader should read
+ * @size: Size of @data in bytes
+ *
+ * A #GstByteReader must be initialized with this macro, before it can be
+ * used. This macro can used be to initialize a variable, but it cannot
+ * be assigned to a variable. In that case you have to use
+ * gst_byte_reader_init().
+ *
+ * Since: 0.10.22
+ */
+#define GST_BYTE_READER_INIT(data, size) {data, size, 0}
+
+/**
+ * GST_BYTE_READER_INIT_FROM_BUFFER:
+ * @buffer: Buffer from which the #GstByteReader should read
+ *
+ * A #GstByteReader must be initialized with this macro, before it can be
+ * used. This macro can used be to initialize a variable, but it cannot
+ * be assigned to a variable. In that case you have to use
+ * gst_byte_reader_init().
+ *
+ * Since: 0.10.22
+ */
+#define GST_BYTE_READER_INIT_FROM_BUFFER(buffer) {GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer), 0}
+
+
+/* unchecked variants */
+
+static inline void
+gst_byte_reader_skip_unchecked (GstByteReader * reader, guint nbytes)
+{
+  reader->byte += nbytes;
+}
+
+#define __GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(bits,type,lower,upper,adj) \
+\
+static inline type \
+gst_byte_reader_peek_##lower##_unchecked (GstByteReader * reader) \
+{ \
+  type val = (type) GST_READ_##upper (reader->data + reader->byte); \
+  adj \
+  return val; \
+} \
+\
+static inline type \
+gst_byte_reader_get_##lower##_unchecked (GstByteReader * reader) \
+{ \
+  type val = gst_byte_reader_peek_##lower##_unchecked (reader); \
+  reader->byte += bits / 8; \
+  return val; \
+}
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(8,guint8,uint8,UINT8,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(8,gint8,int8,UINT8,/* */)
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(16,guint16,uint16_le,UINT16_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(16,guint16,uint16_be,UINT16_BE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(16,gint16,int16_le,UINT16_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(16,gint16,int16_be,UINT16_BE,/* */)
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,guint32,uint32_le,UINT32_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,guint32,uint32_be,UINT32_BE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,gint32,int32_le,UINT32_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,gint32,int32_be,UINT32_BE,/* */)
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(24,guint32,uint24_le,UINT24_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(24,guint32,uint24_be,UINT24_BE,/* */)
+
+/* fix up the sign for 24-bit signed ints stored in 32-bit signed ints */
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(24,gint32,int24_le,UINT24_LE,
+    if (val & 0x00800000) val |= 0xff000000;)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(24,gint32,int24_be,UINT24_BE,
+    if (val & 0x00800000) val |= 0xff000000;)
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,guint64,uint64_le,UINT64_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,guint64,uint64_be,UINT64_BE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,gint64,int64_le,UINT64_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,gint64,int64_be,UINT64_BE,/* */)
+
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,gfloat,float32_le,FLOAT_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(32,gfloat,float32_be,FLOAT_BE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,gdouble,float64_le,DOUBLE_LE,/* */)
+__GST_BYTE_READER_GET_PEEK_BITS_UNCHECKED(64,gdouble,float64_be,DOUBLE_BE,/* */)
+
+#undef __GET_PEEK_BITS_UNCHECKED
+
+static inline const guint8 *
+gst_byte_reader_peek_data_unchecked (GstByteReader * reader)
+{
+  return (const guint8 *) (reader->data + reader->byte);
+}
+
+static inline const guint8 *
+gst_byte_reader_get_data_unchecked (GstByteReader * reader, guint size)
+{
+  const guint8 *data;
+
+  data = gst_byte_reader_peek_data_unchecked (reader);
+  gst_byte_reader_skip_unchecked (reader, size);
+  return data;
+}
+
+static inline guint8 *
+gst_byte_reader_dup_data_unchecked (GstByteReader * reader, guint size)
+{
+  return g_memdup (gst_byte_reader_get_data_unchecked (reader, size), size);
+}
+
+/* inlined variants (do not use directly) */
+
+static inline guint
+_gst_byte_reader_get_remaining_inline (const GstByteReader * reader)
+{
+  return reader->size - reader->byte;
+}
+
+static inline guint
+_gst_byte_reader_get_size_inline (const GstByteReader * reader)
+{
+  return reader->size;
+}
+
+#define __GST_BYTE_READER_GET_PEEK_BITS_INLINE(bits,type,name) \
+\
+static inline gboolean \
+_gst_byte_reader_peek_##name##_inline (GstByteReader * reader, type * val) \
+{ \
+  if (_gst_byte_reader_get_remaining_inline (reader) < (bits / 8)) \
+    return FALSE; \
+\
+  *val =  gst_byte_reader_peek_##name##_unchecked (reader); \
+  return TRUE; \
+} \
+\
+static inline gboolean \
+_gst_byte_reader_get_##name##_inline (GstByteReader * reader, type * val) \
+{ \
+  if (_gst_byte_reader_get_remaining_inline (reader) < (bits / 8)) \
+    return FALSE; \
+\
+  *val =  gst_byte_reader_get_##name##_unchecked (reader); \
+  return TRUE; \
+}
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(8,guint8,uint8)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(8,gint8,int8)
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(16,guint16,uint16_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(16,guint16,uint16_be)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(16,gint16,int16_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(16,gint16,int16_be)
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,guint32,uint32_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,guint32,uint32_be)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,gint32,int32_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,gint32,int32_be)
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(24,guint32,uint24_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(24,guint32,uint24_be)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(24,gint32,int24_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(24,gint32,int24_be)
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,guint64,uint64_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,guint64,uint64_be)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,gint64,int64_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,gint64,int64_be)
+
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,gfloat,float32_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(32,gfloat,float32_be)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,gdouble,float64_le)
+__GST_BYTE_READER_GET_PEEK_BITS_INLINE(64,gdouble,float64_be)
+
+#undef __GST_BYTE_READER_GET_PEEK_BITS_INLINE
+
+#ifndef GST_BYTE_READER_DISABLE_INLINES
+
+#define gst_byte_reader_get_remaining(reader) \
+    _gst_byte_reader_get_remaining_inline(reader)
+
+#define gst_byte_reader_get_size(reader) \
+    _gst_byte_reader_get_size_inline(reader)
+
+/* we use defines here so we can add the G_LIKELY() */
+#define gst_byte_reader_get_uint8(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint8_inline(reader,val))
+#define gst_byte_reader_get_int8(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int8_inline(reader,val))
+#define gst_byte_reader_get_uint16_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint16_le_inline(reader,val))
+#define gst_byte_reader_get_int16_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int16_le_inline(reader,val))
+#define gst_byte_reader_get_uint16_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint16_be_inline(reader,val))
+#define gst_byte_reader_get_int16_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int16_be_inline(reader,val))
+#define gst_byte_reader_get_uint24_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint24_le_inline(reader,val))
+#define gst_byte_reader_get_int24_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int24_le_inline(reader,val))
+#define gst_byte_reader_get_uint24_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint24_be_inline(reader,val))
+#define gst_byte_reader_get_int24_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int24_be_inline(reader,val))
+#define gst_byte_reader_get_uint32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint32_le_inline(reader,val))
+#define gst_byte_reader_get_int32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int32_le_inline(reader,val))
+#define gst_byte_reader_get_uint32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint32_be_inline(reader,val))
+#define gst_byte_reader_get_int32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int32_be_inline(reader,val))
+#define gst_byte_reader_get_uint64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint64_le_inline(reader,val))
+#define gst_byte_reader_get_int64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int64_le_inline(reader,val))
+#define gst_byte_reader_get_uint64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_uint64_be_inline(reader,val))
+#define gst_byte_reader_get_int64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_int64_be_inline(reader,val))
+
+#define gst_byte_reader_peek_uint8(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint8_inline(reader,val))
+#define gst_byte_reader_peek_int8(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int8_inline(reader,val))
+#define gst_byte_reader_peek_uint16_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint16_le_inline(reader,val))
+#define gst_byte_reader_peek_int16_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int16_le_inline(reader,val))
+#define gst_byte_reader_peek_uint16_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint16_be_inline(reader,val))
+#define gst_byte_reader_peek_int16_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int16_be_inline(reader,val))
+#define gst_byte_reader_peek_uint24_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint24_le_inline(reader,val))
+#define gst_byte_reader_peek_int24_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int24_le_inline(reader,val))
+#define gst_byte_reader_peek_uint24_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint24_be_inline(reader,val))
+#define gst_byte_reader_peek_int24_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int24_be_inline(reader,val))
+#define gst_byte_reader_peek_uint32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint32_le_inline(reader,val))
+#define gst_byte_reader_peek_int32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int32_le_inline(reader,val))
+#define gst_byte_reader_peek_uint32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint32_be_inline(reader,val))
+#define gst_byte_reader_peek_int32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int32_be_inline(reader,val))
+#define gst_byte_reader_peek_uint64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint64_le_inline(reader,val))
+#define gst_byte_reader_peek_int64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int64_le_inline(reader,val))
+#define gst_byte_reader_peek_uint64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_uint64_be_inline(reader,val))
+#define gst_byte_reader_peek_int64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_int64_be_inline(reader,val))
+
+#define gst_byte_reader_get_float32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_float32_le_inline(reader,val))
+#define gst_byte_reader_get_float32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_float32_be_inline(reader,val))
+#define gst_byte_reader_get_float64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_float64_le_inline(reader,val))
+#define gst_byte_reader_get_float64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_get_float64_be_inline(reader,val))
+#define gst_byte_reader_peek_float32_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_float32_le_inline(reader,val))
+#define gst_byte_reader_peek_float32_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_float32_be_inline(reader,val))
+#define gst_byte_reader_peek_float64_le(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_float64_le_inline(reader,val))
+#define gst_byte_reader_peek_float64_be(reader,val) \
+    G_LIKELY(_gst_byte_reader_peek_float64_be_inline(reader,val))
+
+#endif /* GST_BYTE_READER_DISABLE_INLINES */
+
+static inline gboolean
+_gst_byte_reader_dup_data_inline (GstByteReader * reader, guint size, guint8 ** val)
+{
+  if (G_UNLIKELY (size > reader->size || _gst_byte_reader_get_remaining_inline (reader) < size))
+    return FALSE;
+
+  *val = gst_byte_reader_dup_data_unchecked (reader, size);
+  return TRUE;
+}
+
+static inline gboolean
+_gst_byte_reader_get_data_inline (GstByteReader * reader, guint size, const guint8 ** val)
+{
+  if (G_UNLIKELY (size > reader->size || _gst_byte_reader_get_remaining_inline (reader) < size))
+    return FALSE;
+
+  *val = gst_byte_reader_get_data_unchecked (reader, size);
+  return TRUE;
+}
+
+static inline gboolean
+_gst_byte_reader_peek_data_inline (GstByteReader * reader, guint size, const guint8 ** val)
+{
+  if (G_UNLIKELY (size > reader->size || _gst_byte_reader_get_remaining_inline (reader) < size))
+    return FALSE;
+
+  *val = gst_byte_reader_peek_data_unchecked (reader);
+  return TRUE;
+}
+
+static inline gboolean
+_gst_byte_reader_skip_inline (GstByteReader * reader, guint nbytes)
+{
+  if (G_UNLIKELY (_gst_byte_reader_get_remaining_inline (reader) < nbytes))
+    return FALSE;
+
+  reader->byte += nbytes;
+  return TRUE;
+}
+
+#ifndef GST_BYTE_READER_DISABLE_INLINES
+
+#define gst_byte_reader_dup_data(reader,size,val) \
+    G_LIKELY(_gst_byte_reader_dup_data_inline(reader,size,val))
+#define gst_byte_reader_get_data(reader,size,val) \
+    G_LIKELY(_gst_byte_reader_get_data_inline(reader,size,val))
+#define gst_byte_reader_peek_data(reader,size,val) \
+    G_LIKELY(_gst_byte_reader_peek_data_inline(reader,size,val))
+#define gst_byte_reader_skip(reader,nbytes) \
+    G_LIKELY(_gst_byte_reader_skip_inline(reader,nbytes))
+
+#endif /* GST_BYTE_READER_DISABLE_INLINES */
+
+G_END_DECLS
+
+#endif /* __GST_BYTE_READER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstbytewriter.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,167 @@
+/* GStreamer byte writer
+ *
+ * Copyright (C) 2009 Sebastian Dröge <sebastian.droege@collabora.co.uk>.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_BYTE_WRITER_H__
+#define __GST_BYTE_WRITER_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstbytereader.h>
+
+G_BEGIN_DECLS
+
+#define GST_BYTE_WRITER(writer) ((GstByteWriter *) (writer))
+
+/**
+ * GstByteWriter:
+ * @parent: #GstByteReader parent
+ * @alloc_size: Allocation size of the data
+ * @fixed: If %TRUE no reallocations are allowed
+ * @owned: If %FALSE no reallocations are allowed and copies of data are returned
+ *
+ * A byte writer instance.
+ */
+typedef struct {
+  GstByteReader parent;
+
+  guint alloc_size;
+
+  gboolean fixed;
+  gboolean owned;
+} GstByteWriter;
+
+GstByteWriter * gst_byte_writer_new (void);
+GstByteWriter * gst_byte_writer_new_with_size (guint size, gboolean fixed);
+GstByteWriter * gst_byte_writer_new_with_data (guint8 *data, guint size, gboolean initialized);
+GstByteWriter * gst_byte_writer_new_with_buffer (GstBuffer *buffer, gboolean initialized);
+
+void gst_byte_writer_init (GstByteWriter *writer);
+void gst_byte_writer_init_with_size (GstByteWriter *writer, guint size, gboolean fixed);
+void gst_byte_writer_init_with_data (GstByteWriter *writer, guint8 *data, guint size, gboolean initialized);
+void gst_byte_writer_init_with_buffer (GstByteWriter *writer, GstBuffer *buffer, gboolean initialized);
+
+void gst_byte_writer_free (GstByteWriter *writer);
+guint8 * gst_byte_writer_free_and_get_data (GstByteWriter *writer);
+GstBuffer *gst_byte_writer_free_and_get_buffer (GstByteWriter *writer);
+
+void gst_byte_writer_reset (GstByteWriter *writer);
+guint8 * gst_byte_writer_reset_and_get_data (GstByteWriter *writer);
+GstBuffer *gst_byte_writer_reset_and_get_buffer (GstByteWriter *writer);
+
+/**
+ * gst_byte_writer_get_pos:
+ * @writer: #GstByteWriter instance
+ *
+ * Returns: The current position of the read/write cursor
+ *
+ * Since: 0.10.26
+ */
+/**
+ * gst_byte_writer_set_pos:
+ * @writer: #GstByteWriter instance
+ * @pos: new position
+ *
+ * Sets the current read/write cursor of @writer. The new position
+ * can only be between 0 and the current size.
+ *
+ * Returns: %TRUE if the new position could be set
+ *
+ * Since: 0.10.26
+ */
+/**
+ * gst_byte_writer_get_size:
+ * @writer: #GstByteWriter instance
+ *
+ * Returns: The current, initialized size of the data
+ *
+ * Since: 0.10.26
+ */
+#ifdef _FOOL_GTK_DOC
+G_INLINE_FUNC guint gst_byte_writer_get_pos (const GstByteWriter *writer);
+G_INLINE_FUNC gboolean gst_byte_writer_set_pos (const GstByteWriter *writer, guint pos);
+G_INLINE_FUNC guint gst_byte_writer_get_size (const GstByteWriter *writer);
+#else
+static inline guint
+gst_byte_writer_get_pos (const GstByteWriter *writer)
+{
+  return gst_byte_reader_get_pos (GST_BYTE_READER (writer));
+}
+
+static inline gboolean
+gst_byte_writer_set_pos (const GstByteWriter *writer, guint pos)
+{
+  return gst_byte_reader_set_pos (GST_BYTE_READER (writer), pos);
+}
+
+static inline guint
+gst_byte_writer_get_size (const GstByteWriter *writer)
+{
+  return gst_byte_reader_get_size (GST_BYTE_READER (writer));
+}
+#endif
+
+guint gst_byte_writer_get_remaining (const GstByteWriter *writer);
+gboolean gst_byte_writer_ensure_free_space (GstByteWriter *writer, guint size);
+
+gboolean gst_byte_writer_put_uint8 (GstByteWriter *writer, guint8 val);
+gboolean gst_byte_writer_put_int8 (GstByteWriter *writer, gint8 val);
+gboolean gst_byte_writer_put_uint16_be (GstByteWriter *writer, guint16 val);
+gboolean gst_byte_writer_put_uint16_le (GstByteWriter *writer, guint16 val);
+gboolean gst_byte_writer_put_int16_be (GstByteWriter *writer, gint16 val);
+gboolean gst_byte_writer_put_int16_le (GstByteWriter *writer, gint16 val);
+gboolean gst_byte_writer_put_uint24_be (GstByteWriter *writer, guint32 val);
+gboolean gst_byte_writer_put_uint24_le (GstByteWriter *writer, guint32 val);
+gboolean gst_byte_writer_put_int24_be (GstByteWriter *writer, gint32 val);
+gboolean gst_byte_writer_put_int24_le (GstByteWriter *writer, gint32 val);
+gboolean gst_byte_writer_put_uint32_be (GstByteWriter *writer, guint32 val);
+gboolean gst_byte_writer_put_uint32_le (GstByteWriter *writer, guint32 val);
+gboolean gst_byte_writer_put_int32_be (GstByteWriter *writer, gint32 val);
+gboolean gst_byte_writer_put_int32_le (GstByteWriter *writer, gint32 val);
+gboolean gst_byte_writer_put_uint64_be (GstByteWriter *writer, guint64 val);
+gboolean gst_byte_writer_put_uint64_le (GstByteWriter *writer, guint64 val);
+gboolean gst_byte_writer_put_int64_be (GstByteWriter *writer, gint64 val);
+gboolean gst_byte_writer_put_int64_le (GstByteWriter *writer, gint64 val);
+
+gboolean gst_byte_writer_put_float_be (GstByteWriter *writer, gfloat val);
+gboolean gst_byte_writer_put_float_le (GstByteWriter *writer, gfloat val);
+gboolean gst_byte_writer_put_double_be (GstByteWriter *writer, gdouble val);
+gboolean gst_byte_writer_put_double_le (GstByteWriter *writer, gdouble val);
+
+gboolean gst_byte_writer_put_data (GstByteWriter *writer, const guint8 *data, guint size);
+gboolean gst_byte_writer_put_string_utf8 (GstByteWriter *writer, const gchar *data);
+gboolean gst_byte_writer_put_string_utf16 (GstByteWriter *writer, const guint16 *data);
+gboolean gst_byte_writer_put_string_utf32 (GstByteWriter *writer, const guint32 *data);
+
+/**
+ * gst_byte_writer_put_string:
+ * @writer: #GstByteWriter instance
+ * @data: Null terminated string
+ *
+ * Write a null-terminated string to @writer.
+ *
+ * Returns: %TRUE if the string could be written
+ *
+ * Since: 0.10.26
+ */
+#define gst_byte_writer_put_string(writer, data) \
+  gst_byte_writer_put_string_utf8(writer, data)
+
+G_END_DECLS
+
+#endif /* __GST_BYTE_WRITER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstcollectpads.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,221 @@
+/* GStreamer
+ * Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstcollect_pads.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_COLLECT_PADS_H__
+#define __GST_COLLECT_PADS_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_COLLECT_PADS            (gst_collect_pads_get_type())
+#define GST_COLLECT_PADS(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_COLLECT_PADS,GstCollectPads))
+#define GST_COLLECT_PADS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_COLLECT_PADS,GstCollectPadsClass))
+#define GST_COLLECT_PADS_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_COLLECT_PADS,GstCollectPadsClass))
+#define GST_IS_COLLECT_PADS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_COLLECT_PADS))
+#define GST_IS_COLLECT_PADS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_COLLECT_PADS))
+
+typedef struct _GstCollectData GstCollectData;
+typedef struct _GstCollectPads GstCollectPads;
+typedef struct _GstCollectPadsPrivate GstCollectPadsPrivate;
+typedef struct _GstCollectPadsClass GstCollectPadsClass;
+
+/**
+ * GstCollectDataDestroyNotify:
+ * @data: the #GstCollectData that will be freed
+ *
+ * A function that will be called when the #GstCollectData will be freed.
+ * It is passed the pointer to the structure and should free any custom
+ * memory and resources allocated for it.
+ *
+ * Since: 0.10.12
+ */
+typedef void (*GstCollectDataDestroyNotify) (GstCollectData *data);
+
+/**
+ * GstCollectPadsClipFunction:
+ * @pads: a #GstCollectPads 
+ * @data: a #GstCollectData 
+ * @buffer: a #GstBuffer 
+ * @user_data: user data 
+ *
+ * A function that will be called when @buffer is received on the pad managed
+ * by @data in the collecpad object @pads.
+ *
+ * The function should use the segment of @data and the negotiated media type on
+ * the pad to perform clipping of @buffer. 
+ *
+ * This function takes ownership of @buffer.
+ *
+ * Returns: a #GstBuffer that contains the clipped data of @buffer or NULL when
+ * the buffer has been clipped completely.
+ *
+ * Since: 0.10.26
+ */
+typedef GstBuffer * (*GstCollectPadsClipFunction) (GstCollectPads *pads, GstCollectData *data,
+                                                   GstBuffer *buffer, gpointer user_data);
+
+/**
+ * GstCollectData:
+ * @collect: owner #GstCollectPads
+ * @pad: #GstPad managed by this data
+ * @buffer: currently queued buffer.
+ * @pos: position in the buffer
+ * @segment: last segment received.
+ *
+ * Structure used by the collect_pads.
+ */
+struct _GstCollectData
+{
+  /* with LOCK of @collect */
+  GstCollectPads        *collect;
+  GstPad                *pad;
+  GstBuffer             *buffer;
+  guint                  pos;
+  GstSegment             segment;
+
+  /*< private >*/
+  union {
+    struct {
+      gboolean           flushing;
+      gboolean           new_segment;
+      gboolean           eos;
+      gint               refcount;
+    } ABI;
+    /* adding + 0 to mark ABI change to be undone later */
+    gpointer _gst_reserved[GST_PADDING + 0];
+  } abidata;
+};
+
+/**
+ * GstCollectPadsFunction:
+ * @pads: the #GstCollectPads that triggered the callback
+ * @user_data: user data passed to gst_collect_pads_set_function()
+ *
+ * A function that will be called when all pads have received data.
+ *
+ * Returns: #GST_FLOW_OK for success
+ */
+typedef GstFlowReturn (*GstCollectPadsFunction) (GstCollectPads *pads, gpointer user_data);
+
+#define GST_COLLECT_PADS_GET_PAD_LOCK(pads) (((GstCollectPads *)pads)->abidata.ABI.pad_lock)
+#define GST_COLLECT_PADS_PAD_LOCK(pads)     (g_mutex_lock(GST_COLLECT_PADS_GET_PAD_LOCK (pads)))
+#define GST_COLLECT_PADS_PAD_UNLOCK(pads)   (g_mutex_unlock(GST_COLLECT_PADS_GET_PAD_LOCK (pads)))
+
+#define GST_COLLECT_PADS_GET_COND(pads) (((GstCollectPads *)pads)->cond)
+#define GST_COLLECT_PADS_WAIT(pads)     (g_cond_wait (GST_COLLECT_PADS_GET_COND (pads), GST_OBJECT_GET_LOCK (pads)))
+#define GST_COLLECT_PADS_SIGNAL(pads)   (g_cond_signal (GST_COLLECT_PADS_GET_COND (pads)))
+#define GST_COLLECT_PADS_BROADCAST(pads)(g_cond_broadcast (GST_COLLECT_PADS_GET_COND (pads)))
+
+/**
+ * GstCollectPads:
+ * @data: #GList of #GstCollectData managed by this #GstCollectPads.
+ *
+ * Collectpads object.
+ */
+struct _GstCollectPads {
+  GstObject      object;
+
+  /*< public >*/ /* with LOCK */
+  GSList        *data;                  /* list of CollectData items */
+
+  /*< private >*/
+  guint32        cookie;                /* @data list cookie */
+
+  /* with LOCK */
+  GCond         *cond;                  /* to signal removal of data */
+
+  GstCollectPadsFunction func;          /* function and user_data for callback */
+  gpointer       user_data;
+
+  guint          numpads;               /* number of pads in @data */
+  guint          queuedpads;            /* number of pads with a buffer */
+  guint          eospads;               /* number of pads that are EOS */
+
+  /* with LOCK and PAD_LOCK*/
+  gboolean       started;
+
+  /*< private >*/
+  union {
+    struct {
+      /* since 0.10.6 */ /* with PAD_LOCK */
+      GMutex    *pad_lock;              /* used to serialize add/remove */
+      GSList    *pad_list;              /* updated pad list */
+      guint32    pad_cookie;            /* updated cookie */
+      GstCollectPadsPrivate  *priv;
+    } ABI;
+    /* adding + 0 to mark ABI change to be undone later */
+    gpointer _gst_reserved[GST_PADDING + 0];
+  } abidata;
+};
+
+struct _GstCollectPadsClass {
+  GstObjectClass parent_class;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_collect_pads_get_type(void);
+
+/* creating the object */
+GstCollectPads* gst_collect_pads_new            (void);
+
+/* set the callbacks */
+void            gst_collect_pads_set_function      (GstCollectPads *pads, GstCollectPadsFunction func,
+                                                    gpointer user_data);
+void            gst_collect_pads_set_clip_function (GstCollectPads *pads, GstCollectPadsClipFunction clipfunc,
+                                                    gpointer user_data);
+
+/* pad management */
+GstCollectData* gst_collect_pads_add_pad        (GstCollectPads *pads, GstPad *pad, guint size);
+GstCollectData* gst_collect_pads_add_pad_full   (GstCollectPads *pads, GstPad *pad, guint size, GstCollectDataDestroyNotify destroy_notify);
+
+
+gboolean        gst_collect_pads_remove_pad     (GstCollectPads *pads, GstPad *pad);
+gboolean        gst_collect_pads_is_active      (GstCollectPads *pads, GstPad *pad);
+
+/* start/stop collection */
+GstFlowReturn   gst_collect_pads_collect        (GstCollectPads *pads);
+GstFlowReturn   gst_collect_pads_collect_range  (GstCollectPads *pads, guint64 offset, guint length);
+
+void            gst_collect_pads_start          (GstCollectPads *pads);
+void            gst_collect_pads_stop           (GstCollectPads *pads);
+void            gst_collect_pads_set_flushing   (GstCollectPads *pads, gboolean flushing);
+
+/* get collected buffers */
+GstBuffer*      gst_collect_pads_peek           (GstCollectPads *pads, GstCollectData *data);
+GstBuffer*      gst_collect_pads_pop            (GstCollectPads *pads, GstCollectData *data);
+
+/* get collected bytes */
+guint           gst_collect_pads_available      (GstCollectPads *pads);
+guint           gst_collect_pads_read           (GstCollectPads *pads, GstCollectData *data,
+                                                 guint8 **bytes, guint size);
+GstBuffer *     gst_collect_pads_read_buffer    (GstCollectPads * pads, GstCollectData * data,
+                                                 guint size);
+GstBuffer *     gst_collect_pads_take_buffer    (GstCollectPads * pads, GstCollectData * data,
+                                                 guint size);
+guint           gst_collect_pads_flush          (GstCollectPads *pads, GstCollectData *data,
+                                                 guint size);
+
+G_END_DECLS
+
+#endif /* __GST_COLLECT_PADS_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstdataqueue.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,168 @@
+/* GStreamer
+ * Copyright (C) 2006 Edward Hervey <edward@fluendo.com>
+ *
+ * gstdataqueue.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+#ifndef __GST_DATA_QUEUE_H__
+#define __GST_DATA_QUEUE_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+#define GST_TYPE_DATA_QUEUE \
+  (gst_data_queue_get_type())
+#define GST_DATA_QUEUE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DATA_QUEUE,GstDataQueue))
+#define GST_DATA_QUEUE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DATA_QUEUE,GstDataQueueClass))
+#define GST_IS_DATA_QUEUE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DATA_QUEUE))
+#define GST_IS_DATA_QUEUE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DATA_QUEUE))
+typedef struct _GstDataQueue GstDataQueue;
+typedef struct _GstDataQueueClass GstDataQueueClass;
+typedef struct _GstDataQueueSize GstDataQueueSize;
+typedef struct _GstDataQueueItem GstDataQueueItem;
+
+/**
+ * GstDataQueueItem:
+ * @object: the #GstMiniObject to queue.
+ * @size: the size in bytes of the miniobject.
+ * @duration: the duration in #GstClockTime of the miniobject. Can not be
+ * #GST_CLOCK_TIME_NONE.
+ * @visible: #TRUE if @object should be considered as a visible object.
+ * @destroy: The #GDestroyNotify function to use to free the #GstDataQueueItem.
+ * This function should also drop the reference to @object the owner of the
+ * #GstDataQueueItem is assumed to hold.
+ *
+ * Structure used by #GstDataQueue. You can supply a different structure, as
+ * long as the top of the structure is identical to this structure.
+ */
+
+struct _GstDataQueueItem
+{
+  GstMiniObject *object;
+  guint size;
+  guint64 duration;
+  gboolean visible;
+
+  /* user supplied destroy function */
+  GDestroyNotify destroy;
+};
+
+/**
+ * GstDataQueueSize:
+ * @visible: number of buffers
+ * @bytes: number of bytes
+ * @time: amount of time
+ *
+ * Structure describing the size of a queue.
+ */
+struct _GstDataQueueSize
+{
+  guint visible;
+  guint bytes;
+  guint64 time;
+};
+
+/**
+ * GstDataQueueCheckFullFunction:
+ * @queue: a #GstDataQueue.
+ * @visible: The number of visible items currently in the queue.
+ * @bytes: The amount of bytes currently in the queue.
+ * @time: The accumulated duration of the items currently in the queue.
+ * @checkdata: The #gpointer registered when the #GstDataQueue was created.
+ * 
+ * The prototype of the function used to inform the queue that it should be
+ * considered as full.
+ *
+ * Returns: #TRUE if the queue should be considered full.
+ */
+typedef gboolean (*GstDataQueueCheckFullFunction) (GstDataQueue * queue,
+    guint visible, guint bytes, guint64 time, gpointer checkdata);
+
+typedef void (*GstDataQueueFullCallback) (GstDataQueue * queue, gpointer checkdata);
+typedef void (*GstDataQueueEmptyCallback) (GstDataQueue * queue, gpointer checkdata);
+
+/**
+ * GstDataQueue:
+ *
+ * Opaque #GstDataQueue structure.
+ */
+struct _GstDataQueue
+{
+  GObject object;
+
+  /*< private >*/
+  /* the queue of data we're keeping our grubby hands on */
+  GQueue *queue;
+
+  GstDataQueueSize cur_level;   /* size of the queue */
+  GstDataQueueCheckFullFunction checkfull;      /* Callback to check if the queue is full */
+  gpointer *checkdata;
+
+  GMutex *qlock;                /* lock for queue (vs object lock) */
+  GCond *item_add;              /* signals buffers now available for reading */
+  GCond *item_del;              /* signals space now available for writing */
+  gboolean flushing;            /* indicates whether conditions where signalled because
+                                 * of external flushing */
+  GstDataQueueFullCallback fullcallback;
+  GstDataQueueEmptyCallback emptycallback;
+  gpointer _gst_reserved[GST_PADDING - 2];
+};
+
+struct _GstDataQueueClass
+{
+  GObjectClass parent_class;
+
+  /* signals */
+  void (*empty) (GstDataQueue * queue);
+  void (*full) (GstDataQueue * queue);
+
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_data_queue_get_type (void);
+
+GstDataQueue * gst_data_queue_new            (GstDataQueueCheckFullFunction checkfull,
+                                              gpointer checkdata);
+
+GstDataQueue * gst_data_queue_new_full       (GstDataQueueCheckFullFunction checkfull,
+					      GstDataQueueFullCallback fullcallback,
+					      GstDataQueueEmptyCallback emptycallback,
+					      gpointer checkdata);
+
+gboolean       gst_data_queue_push           (GstDataQueue * queue, GstDataQueueItem * item);
+gboolean       gst_data_queue_pop            (GstDataQueue * queue, GstDataQueueItem ** item);
+
+void           gst_data_queue_flush          (GstDataQueue * queue);
+void           gst_data_queue_set_flushing   (GstDataQueue * queue, gboolean flushing);
+
+gboolean       gst_data_queue_drop_head      (GstDataQueue * queue, GType type);
+
+gboolean       gst_data_queue_is_full        (GstDataQueue * queue);
+gboolean       gst_data_queue_is_empty       (GstDataQueue * queue);
+
+void           gst_data_queue_get_level      (GstDataQueue * queue, GstDataQueueSize *level);
+void           gst_data_queue_limits_changed (GstDataQueue * queue);
+
+G_END_DECLS
+
+#endif /* __GST_DATA_QUEUE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gstpushsrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,69 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2000 Wim Taymans <wtay@chello.be>
+ *                    2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstpushsrc.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_PUSH_SRC_H__
+#define __GST_PUSH_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstbasesrc.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_PUSH_SRC               (gst_push_src_get_type())
+#define GST_PUSH_SRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PUSH_SRC,GstPushSrc))
+#define GST_PUSH_SRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PUSH_SRC,GstPushSrcClass))
+#define GST_PUSH_SRC_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PUSH_SRC, GstPushSrcClass))
+#define GST_IS_PUSH_SRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PUSH_SRC))
+#define GST_IS_PUSH_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PUSH_SRC))
+
+typedef struct _GstPushSrc GstPushSrc;
+typedef struct _GstPushSrcClass GstPushSrcClass;
+
+/**
+ * GstPushSrc:
+ * @parent: the parent base source object.
+ *
+ * The opaque #GstPushSrc data structure.
+ */
+struct _GstPushSrc {
+  GstBaseSrc     parent;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstPushSrcClass {
+  GstBaseSrcClass parent_class;
+
+  /* ask the subclass to create a buffer */
+  GstFlowReturn (*create) (GstPushSrc *src, GstBuffer **buf);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_push_src_get_type(void);
+
+G_END_DECLS
+
+#endif /* __GST_PUSH_SRC_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/base/gsttypefindhelper.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,75 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2000,2005 Wim Taymans <wim@fluendo.com>
+ * Copyright (C) 2006      Tim-Philipp Müller <tim centricular net>
+ *
+ * gsttypefindhelper.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_TYPEFINDHELPER_H__
+#define __GST_TYPEFINDHELPER_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+GstCaps * gst_type_find_helper (GstPad *src, guint64 size);
+
+GstCaps * gst_type_find_helper_for_buffer (GstObject              *obj,
+                                           GstBuffer              *buf,
+                                           GstTypeFindProbability *prob);
+
+GstCaps * gst_type_find_helper_for_extension (GstObject * obj,
+                                              const gchar * extension);
+
+/**
+ * GstTypeFindHelperGetRangeFunction:
+ * @obj: a #GstObject that will handle the getrange request
+ * @offset: the offset of the range
+ * @length: the length of the range
+ * @buffer: a memory location to hold the result buffer
+ *
+ * This function will be called by gst_type_find_helper_get_range() when
+ * typefinding functions request to peek at the data of a stream at certain
+ * offsets. If this function returns GST_FLOW_OK, the result buffer will be
+ * stored in @buffer. The  contents of @buffer is invalid for any other
+ * return value.
+ *
+ * This function is supposed to behave exactly like a #GstPadGetRangeFunction.
+ *
+ * Returns: GST_FLOW_OK for success
+ */
+typedef GstFlowReturn (*GstTypeFindHelperGetRangeFunction) (GstObject  *obj,
+                                                            guint64     offset,
+                                                            guint       length,
+                                                            GstBuffer **buffer);
+
+GstCaps * gst_type_find_helper_get_range (GstObject                        * obj,
+                                          GstTypeFindHelperGetRangeFunction  func,
+                                          guint64                            size,
+                                          GstTypeFindProbability            *prob);
+
+GstCaps * gst_type_find_helper_get_range_ext (GstObject                        * obj,
+                                              GstTypeFindHelperGetRangeFunction  func,
+                                              guint64                            size,
+                                              const gchar                       *extension,
+                                              GstTypeFindProbability            *prob);
+
+G_END_DECLS
+
+#endif /* __GST_TYPEFINDHELPER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/cdda/gstcddabasesrc.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,157 @@
+/* GStreamer
+ * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2005 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_CDDA_BASE_SRC_H__
+#define __GST_CDDA_BASE_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+
+/* must include this for backwards-compatibility so the
+ * GST_TAG_CDDA_* defines are included. Remove in 0.11 */
+#include <gst/tag/tag.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_CDDA_BASE_SRC            (gst_cdda_base_src_get_type())
+#define GST_CDDA_BASE_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrc))
+#define GST_CDDA_BASE_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrcClass))
+#define GST_IS_CDDA_BASE_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_CDDA_BASE_SRC))
+#define GST_IS_CDDA_BASE_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_CDDA_BASE_SRC))
+#define GST_CDDA_BASE_SRC_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrcClass))
+
+typedef struct _GstCddaBaseSrc GstCddaBaseSrc;
+typedef struct _GstCddaBaseSrcClass GstCddaBaseSrcClass;
+typedef struct _GstCddaBaseSrcTrack GstCddaBaseSrcTrack;
+
+/**
+ * GstCddaBaseSrcMode:
+ * @GST_CDDA_BASE_SRC_MODE_NORMAL     : each single track is a stream
+ * @GST_CDDA_BASE_SRC_MODE_CONTINUOUS : the entire disc is a single stream
+ *
+ * Mode in which the CD audio source operates. Influences timestamping,
+ * EOS handling and seeking.
+ */
+typedef enum {
+  GST_CDDA_BASE_SRC_MODE_NORMAL,          /* stream = one track  */
+  GST_CDDA_BASE_SRC_MODE_CONTINUOUS       /* stream = whole disc */
+} GstCddaBaseSrcMode;
+
+#define GST_TYPE_CDDA_BASE_SRC_MODE          (gst_cdda_base_src_mode_get_type ())
+
+/**
+ * GstCddaBaseSrcTrack:
+ * @is_audio: Whether this is an audio track
+ * @num: Track number in TOC (usually starts from 1, but not always)
+ * @start: The first sector of this track (LBA)
+ * @end: The last sector of this track (LBA)
+ * @tags: Track-specific tags (e.g. from cd-text information), or NULL
+ *
+ * CD track abstraction to communicate TOC entries to the base class.
+ */
+struct _GstCddaBaseSrcTrack {
+  gboolean     is_audio;      /* TRUE if this is an audio track             */
+  guint        num;           /* real track number (usually starts from 1)  */
+  guint        start;         /* first sector of track (LBA, not LSN!)      */
+  guint        end;           /* last sector of track  (LBA, not LSN!)      */
+  GstTagList  *tags;          /* NULL or tags for track (e.g. from cd-text) */
+
+  /*< private >*/
+  guint        _gst_reserved1[GST_PADDING/2];
+  gpointer     _gst_reserved2[GST_PADDING/2];
+};
+
+struct _GstCddaBaseSrc {
+  GstPushSrc            pushsrc;
+
+  /*< protected >*/ /* for use by sub-classes only */
+  GstTagList           *tags;            /* tags that apply to all tracks   */
+
+  /*< private >*/
+  GstCddaBaseSrcMode    mode;
+
+  gchar                *device;
+
+  guint                 num_tracks;
+  guint                 num_all_tracks;
+  GstCddaBaseSrcTrack  *tracks;
+
+  gint                  cur_track;       /* current track (starting from 0) */
+  gint                  prev_track;      /* current track last time         */
+  gint                  cur_sector;      /* current sector                  */
+  gint                  seek_sector;     /* -1 or sector to seek to         */
+
+  gint                  uri_track;
+  gchar                *uri;
+
+  guint32               discid;          /* cddb disc id (for unit test)    */
+  gchar                 mb_discid[32];   /* musicbrainz discid              */
+
+  GstIndex             *index;
+  gint                  index_id;
+
+  gint                  toc_offset;
+  gboolean              toc_bias;
+
+  /*< private >*/
+  guint                 _gst_reserved1[GST_PADDING/2];
+  gpointer              _gst_reserved2[GST_PADDING/2];
+};
+
+struct _GstCddaBaseSrcClass {
+  GstPushSrcClass pushsrc_class;
+
+  /* open/close the CD device */
+  gboolean    (*open)               (GstCddaBaseSrc *src, const gchar *device);
+  void        (*close)              (GstCddaBaseSrc *src);
+
+  /* read one sector (LBA) */
+  GstBuffer * (*read_sector)        (GstCddaBaseSrc *src, gint sector);
+
+  /* return default device or NULL (optional) */
+  gchar *     (*get_default_device) (GstCddaBaseSrc *src);
+
+  /* return NULL-terminated string array of CD devices, or NULL (optional) */
+  gchar **    (*probe_devices)      (GstCddaBaseSrc *src);
+
+  /*< private >*/
+  gpointer       _gst_reserved[GST_PADDING];
+};
+
+GType    gst_cdda_base_src_get_type (void);
+GType    gst_cdda_base_src_mode_get_type (void);
+
+gboolean gst_cdda_base_src_add_track (GstCddaBaseSrc      * src,
+                                      GstCddaBaseSrcTrack * track);
+
+#if 0
+/*
+ * GST_TAG_CDDA_TRACK_TAGS:
+ *
+ * Tag details for all available tracks
+ * FiXME: find out which type we want for this!
+ */
+#define GST_TAG_CDDA_TRACK_TAGS               "track-tags"
+#endif
+
+G_END_DECLS
+
+#endif /* __GST_CDDA_BASE_SRC_H__ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstcontroller.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,155 @@
+/* GStreamer
+ *
+ * Copyright (C) <2005> Stefan Kost <ensonic at users dot sf dot net>
+ *
+ * gst-controller.h: dynamic parameter control subsystem
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_CONTROLLER_H__
+#define __GST_CONTROLLER_H__
+
+#include <string.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gprintf.h>
+#include <gst/gst.h>
+
+#include "gstcontrolsource.h"
+#include "gstinterpolationcontrolsource.h"
+
+G_BEGIN_DECLS
+
+/* type macros */
+
+#define GST_TYPE_CONTROLLER	       (gst_controller_get_type ())
+#define GST_CONTROLLER(obj)	       (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_CONTROLLER, GstController))
+#define GST_CONTROLLER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_CONTROLLER, GstControllerClass))
+#define GST_IS_CONTROLLER(obj)	       (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_CONTROLLER))
+#define GST_IS_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_CONTROLLERE))
+#define GST_CONTROLLER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CONTROLLER, GstControllerClass))
+
+typedef struct _GstController GstController;
+typedef struct _GstControllerClass GstControllerClass;
+typedef struct _GstControllerPrivate GstControllerPrivate;
+
+/**
+ * GstController:
+ *
+ * The instance structure of GstController
+ */
+
+struct _GstController
+{
+  GObject parent;
+
+  GList *properties;  /* List of GstControlledProperty */
+  GMutex *lock;       /* Secure property access, elements will access from threads */
+  GObject *object;    /* the object we control */
+
+  /*< private >*/
+  GstControllerPrivate *priv;
+  gpointer       _gst_reserved[GST_PADDING - 1];
+};
+
+struct _GstControllerClass
+{
+  GObjectClass parent_class;
+
+  /*< private >*/
+  gpointer       _gst_reserved[GST_PADDING];
+};
+
+GType gst_controller_get_type (void);
+
+/* GstController functions */
+
+GstController *gst_controller_new_valist (GObject * object, va_list var_args);
+GstController *gst_controller_new_list (GObject * object, GList *list);
+GstController *gst_controller_new (GObject * object, ...) G_GNUC_NULL_TERMINATED;
+
+gboolean gst_controller_remove_properties_valist (GstController * self,
+    va_list var_args);
+gboolean gst_controller_remove_properties_list (GstController * self,
+						GList *list);
+gboolean gst_controller_remove_properties (GstController * self, ...) G_GNUC_NULL_TERMINATED;
+
+void gst_controller_set_disabled (GstController *self, gboolean disabled);
+void gst_controller_set_property_disabled (GstController *self, gchar * property_name, gboolean disabled);
+gboolean gst_controller_set_control_source (GstController *self, gchar * property_name, GstControlSource *csource);
+GstControlSource * gst_controller_get_control_source (GstController *self, gchar * property_name);
+
+GstClockTime gst_controller_suggest_next_sync (GstController *self);
+gboolean gst_controller_sync_values (GstController * self,
+    GstClockTime timestamp);
+
+GValue *gst_controller_get (GstController * self, gchar * property_name,
+    GstClockTime timestamp);
+gboolean gst_controller_get_value_arrays (GstController * self,
+    GstClockTime timestamp, GSList * value_arrays);
+gboolean gst_controller_get_value_array (GstController * self,
+    GstClockTime timestamp, GstValueArray * value_array);
+
+/* GObject convenience functions */
+
+GstController *gst_object_control_properties (GObject * object, ...) G_GNUC_NULL_TERMINATED;
+gboolean gst_object_uncontrol_properties (GObject * object, ...) G_GNUC_NULL_TERMINATED;
+
+GstController *gst_object_get_controller (GObject * object);
+gboolean gst_object_set_controller (GObject * object, GstController * controller);
+
+GstClockTime gst_object_suggest_next_sync (GObject * object);
+gboolean gst_object_sync_values (GObject * object, GstClockTime timestamp);
+
+gboolean gst_object_set_control_source (GObject *object, gchar * property_name, GstControlSource *csource);
+GstControlSource * gst_object_get_control_source (GObject *object, gchar * property_name);
+
+gboolean gst_object_get_value_arrays (GObject * object,
+    GstClockTime timestamp, GSList * value_arrays);
+gboolean gst_object_get_value_array (GObject * object,
+    GstClockTime timestamp, GstValueArray * value_array);
+
+GstClockTime gst_object_get_control_rate (GObject * object);
+void gst_object_set_control_rate (GObject * object, GstClockTime control_rate);
+
+/* lib init/done */
+
+gboolean gst_controller_init (int * argc, char ***argv);
+
+
+/* FIXME: deprecated functions */
+#ifndef GST_DISABLE_DEPRECATED
+gboolean gst_controller_set (GstController * self, gchar * property_name,
+    GstClockTime timestamp, GValue * value);
+gboolean gst_controller_set_from_list (GstController * self,
+    gchar * property_name, GSList * timedvalues);
+
+gboolean gst_controller_unset (GstController * self, gchar * property_name,
+    GstClockTime timestamp);
+gboolean gst_controller_unset_all (GstController * self, gchar * property_name);
+
+const GList *gst_controller_get_all (GstController * self,
+    gchar * property_name);
+
+gboolean gst_controller_set_interpolation_mode (GstController * self,
+    gchar * property_name, GstInterpolateMode mode);
+#endif /* GST_DISABLE_DEPRECATED */
+
+G_END_DECLS
+
+#endif /* __GST_CONTROLLER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstcontrolsource.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,163 @@
+/* GStreamer
+ *
+ * Copyright (C) 2007 Sebastian Dröge <slomo@circular-chaos.org>
+ *
+ * gstcontrolsource.h: Interface declaration for control sources
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_CONTROL_SOURCE_H__
+#define __GST_CONTROL_SOURCE_H__
+
+#include <glib-object.h>
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_CONTROL_SOURCE \
+  (gst_control_source_get_type())
+#define GST_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_CONTROL_SOURCE,GstControlSource))
+#define GST_CONTROL_SOURCE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_CONTROL_SOURCE,GstControlSourceClass))
+#define GST_IS_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_CONTROL_SOURCE))
+#define GST_IS_CONTROL_SOURCE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CONTROL_SOURCE))
+#define GST_CONTROL_SOURCE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CONTOL_SOURCE, GstControlSourceClass))
+
+typedef struct _GstControlSource GstControlSource;
+typedef struct _GstControlSourceClass GstControlSourceClass;
+typedef struct _GstTimedValue GstTimedValue;
+typedef struct _GstValueArray GstValueArray;
+
+/**
+ * GstTimedValue:
+ * @timestamp: timestamp of the value change
+ * @value: the corresponding value
+ *
+ * Structure for saving a timestamp and a value.
+ */
+struct _GstTimedValue
+{
+  GstClockTime timestamp;
+  GValue value;
+};
+
+/**
+ * GstValueArray:
+ * @property_name: the name of the property this array belongs to
+ * @nbsamples: number of samples requested
+ * @sample_interval: interval between each sample
+ * @values: pointer to the array
+ *
+ * Structure to receive multiple values at once.
+ */
+struct _GstValueArray
+{
+  gchar *property_name;
+  gint nbsamples;
+  GstClockTime sample_interval;
+  gpointer *values;
+};
+
+/** 
+ * GstControlSourceGetValue
+ * @self: the #GstControlSource instance
+ * @timestamp: timestamp for which a value should be calculated
+ * @value: a #GValue which will be set to the result. It must be initialized to the correct type.
+ *
+ * Function for returning a value for a given timestamp.
+ *
+ * Returns: %TRUE if the value was successfully calculated.
+ *
+ */
+typedef gboolean (* GstControlSourceGetValue) (GstControlSource *self, GstClockTime timestamp, GValue *value);
+
+/** 
+ * GstControlSourceGetValueArray
+ * @self: the #GstControlSource instance
+ * @timestamp: timestamp for which a value should be calculated
+ * @value_array: array to put control-values in
+ *
+ * Function for returning a #GstValueArray for a given timestamp.
+ *
+ * Returns: %TRUE if the values were successfully calculated.
+ *
+ */
+typedef gboolean (* GstControlSourceGetValueArray) (GstControlSource *self, GstClockTime timestamp, GstValueArray *value_array);
+
+/** 
+ * GstControlSourceBind
+ * @self: the #GstControlSource instance
+ * @pspec: #GParamSpec that should be bound to
+ *
+ * Function for binding a #GstControlSource to a #GParamSpec.
+ *
+ * Returns: %TRUE if the property could be bound to the #GstControlSource, %FALSE otherwise.
+ */
+typedef gboolean (* GstControlSourceBind) (GstControlSource *self, GParamSpec *pspec);
+
+/**
+ * GstControlSource:
+ * @get_value: Function for returning a value for a given timestamp
+ * @get_value_array: Function for returning a #GstValueArray for a given timestamp
+ *
+ * The instance structure of #GstControlSource.
+ */
+struct _GstControlSource {
+  GObject parent;
+
+  /*< public >*/
+  GstControlSourceGetValue get_value;             /* Returns the value for a property at a given timestamp */
+  GstControlSourceGetValueArray get_value_array;  /* Returns values for a property in a given timespan */
+
+  /*< private >*/
+  gboolean bound;
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstControlSourceClass:
+ * @parent_class: Parent class
+ * @bind: Class method for binding the #GstControlSource to a specific GParamSpec
+ *
+ * The class structure of #GstControlSource.
+ */
+
+struct _GstControlSourceClass
+{
+  GObjectClass parent_class;
+  
+  GstControlSourceBind bind;  /* Binds the GstControlSource to a specific GParamSpec */
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_control_source_get_type (void);
+
+/* Functions */
+
+gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp, GValue *value);
+gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp, GstValueArray *value_array);
+gboolean gst_control_source_bind (GstControlSource *self, GParamSpec *pspec);
+
+G_END_DECLS
+
+#endif /* __GST_CONTROL_SOURCE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstinterpolationcontrolsource.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,109 @@
+/* GStreamer
+ *
+ * Copyright (C) 2007 Sebastian Dröge <slomo@circular-chaos.org>
+ *
+ * gstinterpolationcontrolsource.h: Control source that provides several
+ *                                  interpolation methods
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_INTERPOLATION_CONTROL_SOURCE_H__
+#define __GST_INTERPOLATION_CONTROL_SOURCE_H__
+
+#include <glib-object.h>
+#include <gst/gst.h>
+
+#include "gstcontrolsource.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_INTERPOLATION_CONTROL_SOURCE \
+  (gst_interpolation_control_source_get_type ())
+#define GST_INTERPOLATION_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_INTERPOLATION_CONTROL_SOURCE, GstInterpolationControlSource))
+#define GST_INTERPOLATION_CONTROL_SOURCE_CLASS(vtable) \
+  (G_TYPE_CHECK_CLASS_CAST ((vtable), GST_TYPE_INTERPOLATION_CONTROL_SOURCE, GstInterpolationControlSourceClass))
+#define GST_IS_INTERPOLATION_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_INTERPOLATION_CONTROL_SOURCE))
+#define GST_IS_INTERPOLATION_CONTROL_SOURCE_CLASS(vtable) \
+  (G_TYPE_CHECK_CLASS_TYPE ((vtable), GST_TYPE_INTERPOLATION_CONTROL_SOURCE))
+#define GST_INTERPOLATION_CONTROL_SOURCE_GET_CLASS(inst) \
+  (G_TYPE_INSTANCE_GET_CLASS ((inst), GST_TYPE_INTERPOLATION_CONTROL_SOURCE, GstInterpolationControlSourceClass))
+
+typedef struct _GstInterpolationControlSource GstInterpolationControlSource;
+typedef struct _GstInterpolationControlSourceClass GstInterpolationControlSourceClass;
+typedef struct _GstInterpolationControlSourcePrivate GstInterpolationControlSourcePrivate;
+
+/**
+ * GstInterpolateMode:
+ * @GST_INTERPOLATE_NONE: steps-like interpolation, default
+ * @GST_INTERPOLATE_TRIGGER: returns the default value of the property,
+ * except for times with specific values
+ * @GST_INTERPOLATE_LINEAR: linear interpolation
+ * @GST_INTERPOLATE_QUADRATIC: square interpolation (deprecated, maps to cubic)
+ * @GST_INTERPOLATE_CUBIC: cubic interpolation
+ * @GST_INTERPOLATE_USER: user-provided interpolation (not yet available)
+ *
+ * The various interpolation modes available.
+ */
+typedef enum
+{
+  GST_INTERPOLATE_NONE,
+  GST_INTERPOLATE_TRIGGER,
+  GST_INTERPOLATE_LINEAR,
+  GST_INTERPOLATE_QUADRATIC,
+  GST_INTERPOLATE_CUBIC,
+  GST_INTERPOLATE_USER
+} GstInterpolateMode;
+
+/**
+ * GstInterpolationControlSource:
+ *
+ * The instance structure of #GstControlSource.
+ */
+struct _GstInterpolationControlSource {
+  GstControlSource parent;
+
+  /* <private> */
+  GMutex *lock;
+  GstInterpolationControlSourcePrivate *priv;
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstInterpolationControlSourceClass {
+  GstControlSourceClass parent_class;
+  
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_interpolation_control_source_get_type (void);
+
+/* Functions */
+
+GstInterpolationControlSource *gst_interpolation_control_source_new (void);
+gboolean gst_interpolation_control_source_set_interpolation_mode (GstInterpolationControlSource *self, GstInterpolateMode mode);
+gboolean gst_interpolation_control_source_set (GstInterpolationControlSource * self, GstClockTime timestamp, GValue * value);
+gboolean gst_interpolation_control_source_set_from_list (GstInterpolationControlSource * self, GSList * timedvalues);
+gboolean gst_interpolation_control_source_unset (GstInterpolationControlSource * self, GstClockTime timestamp);
+void gst_interpolation_control_source_unset_all (GstInterpolationControlSource *self);
+GList *gst_interpolation_control_source_get_all (GstInterpolationControlSource * self);
+gint gst_interpolation_control_source_get_count (GstInterpolationControlSource * self);
+
+G_END_DECLS
+
+#endif /* __GST_INTERPOLATION_CONTROL_SOURCE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/controller/gstlfocontrolsource.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,102 @@
+/* GStreamer
+ *
+ * Copyright (C) 2007 Sebastian Dröge <slomo@circular-chaos.org>
+ *
+ * gstlfocontrolsource.h: Control source that provides some periodic waveforms
+ *                        as control values.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_LFO_CONTROL_SOURCE_H__
+#define __GST_LFO_CONTROL_SOURCE_H__
+
+#include <glib-object.h>
+#include <gst/gst.h>
+
+#include "gstcontrolsource.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_LFO_CONTROL_SOURCE \
+  (gst_lfo_control_source_get_type ())
+#define GST_LFO_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_LFO_CONTROL_SOURCE, GstLFOControlSource))
+#define GST_LFO_CONTROL_SOURCE_CLASS(vtable) \
+  (G_TYPE_CHECK_CLASS_CAST ((vtable), GST_TYPE_LFO_CONTROL_SOURCE, GstLFOControlSourceClass))
+#define GST_IS_LFO_CONTROL_SOURCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_LFO_CONTROL_SOURCE))
+#define GST_IS_LFO_CONTROL_SOURCE_CLASS(vtable) \
+  (G_TYPE_CHECK_CLASS_TYPE ((vtable), GST_TYPE_LFO_CONTROL_SOURCE))
+#define GST_LFO_CONTROL_SOURCE_GET_CLASS(inst) \
+  (G_TYPE_INSTANCE_GET_CLASS ((inst), GST_TYPE_LFO_CONTROL_SOURCE, GstLFOControlSourceClass))
+
+#define GST_TYPE_LFO_WAVEFORM (gst_lfo_waveform_get_type ())
+
+typedef struct _GstLFOControlSource GstLFOControlSource;
+typedef struct _GstLFOControlSourceClass GstLFOControlSourceClass;
+typedef struct _GstLFOControlSourcePrivate GstLFOControlSourcePrivate;
+
+/**
+ * GstLFOWaveform:
+ * @GST_LFO_WAVEFORM_SINE: sine waveform
+ * @GST_LFO_WAVEFORM_SQUARE: square waveform
+ * @GST_LFO_WAVEFORM_SAW: saw waveform
+ * @GST_LFO_WAVEFORM_REVERSE_SAW: reverse saw waveform
+ * @GST_LFO_WAVEFORM_TRIANGLE: triangle waveform
+ *
+ * The various waveform modes available.
+ */
+typedef enum
+{
+  GST_LFO_WAVEFORM_SINE,
+  GST_LFO_WAVEFORM_SQUARE,
+  GST_LFO_WAVEFORM_SAW,
+  GST_LFO_WAVEFORM_REVERSE_SAW,
+  GST_LFO_WAVEFORM_TRIANGLE
+} GstLFOWaveform;
+
+/**
+ * GstLFOControlSource:
+ *
+ * The instance structure of #GstControlSource.
+ */
+struct _GstLFOControlSource {
+  GstControlSource parent;
+
+  /* <private> */
+  GstLFOControlSourcePrivate *priv;
+  GMutex *lock;
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstLFOControlSourceClass {
+  GstControlSourceClass parent_class;
+  
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_lfo_control_source_get_type (void);
+GType gst_lfo_waveform_get_type (void);
+
+/* Functions */
+
+GstLFOControlSource *gst_lfo_control_source_new (void);
+
+G_END_DECLS
+
+#endif /* __GST_LFO_CONTROL_SOURCE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/dataprotocol/dataprotocol.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,186 @@
+/* GStreamer
+ * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2004,2006 Thomas Vander Stichele <thomas at apestaart dot org>
+ *
+ * dataprotocol.h: Functions implementing the GStreamer Data Protocol
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_DATA_PROTOCOL_H__
+#define __GST_DATA_PROTOCOL_H__
+
+#include <gst/gstbuffer.h>
+#include <gst/gstevent.h>
+#include <gst/gstcaps.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GstDPVersion:
+ * @GST_DP_VERSION_0_2: protocol version 0.2
+ * @GST_DP_VERSION_1_0: protocol version 1.0
+ *
+ * The version of the GDP protocol being used.
+ */
+typedef enum {
+  GST_DP_VERSION_0_2 = 1,
+  GST_DP_VERSION_1_0,
+} GstDPVersion;
+
+GType gst_dp_version_get_type (void);
+#define GST_TYPE_DP_VERSION (gst_dp_version_get_type ())
+
+/**
+ * GST_DP_VERSION_MAJOR:
+ *
+ * The major version number of the GStreamer Data Protocol.
+ */
+#define GST_DP_VERSION_MAJOR 0
+/**
+ * GST_DP_VERSION_MINOR:
+ *
+ * The minor version number of the GStreamer Data Protocol.
+ */
+#define GST_DP_VERSION_MINOR 2
+
+/**
+ * GST_DP_HEADER_LENGTH:
+ *
+ * The header size in bytes.
+ */
+#define GST_DP_HEADER_LENGTH 62
+
+/**
+ * GstDPHeaderFlag:
+ * @GST_DP_HEADER_FLAG_NONE: No flag present.
+ * @GST_DP_HEADER_FLAG_CRC_HEADER: a header CRC field is present.
+ * @GST_DP_HEADER_FLAG_CRC_PAYLOAD: a payload CRC field is present.
+ * @GST_DP_HEADER_FLAG_CRC: a CRC for header and payload is present.
+ *
+ * header flags for the dataprotocol.
+ */
+typedef enum {
+  GST_DP_HEADER_FLAG_NONE        = 0,
+  GST_DP_HEADER_FLAG_CRC_HEADER  = (1 << 0),
+  GST_DP_HEADER_FLAG_CRC_PAYLOAD = (1 << 1),
+  GST_DP_HEADER_FLAG_CRC         = (1 << 1) | (1 << 0),
+} GstDPHeaderFlag;
+
+/**
+ * GstDPPayloadType:
+ * @GST_DP_PAYLOAD_NONE: Invalid payload type.
+ * @GST_DP_PAYLOAD_BUFFER: #GstBuffer payload packet.
+ * @GST_DP_PAYLOAD_CAPS: #GstCaps payload packet.
+ * @GST_DP_PAYLOAD_EVENT_NONE: First value of #GstEvent payload packets.
+ *
+ * The GDP payload types. a #GstEvent payload type is encoded with the
+ * event type number starting from @GST_DP_PAYLOAD_EVENT_NONE.
+ */
+typedef enum {
+  GST_DP_PAYLOAD_NONE            = 0,
+  GST_DP_PAYLOAD_BUFFER,
+  GST_DP_PAYLOAD_CAPS,
+  GST_DP_PAYLOAD_EVENT_NONE      = 64,
+} GstDPPayloadType;
+
+typedef gboolean (*GstDPHeaderFromBufferFunction) (const GstBuffer * buffer,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header);
+typedef gboolean (*GstDPPacketFromCapsFunction) (const GstCaps * caps,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header,
+						guint8 ** payload);
+typedef gboolean (*GstDPPacketFromEventFunction) (const GstEvent * event,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header,
+						guint8 ** payload);
+typedef struct {
+  GstDPVersion version;
+
+  GstDPHeaderFromBufferFunction header_from_buffer;
+  GstDPPacketFromCapsFunction packet_from_caps;
+  GstDPPacketFromEventFunction packet_from_event;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+} GstDPPacketizer;
+
+
+void		gst_dp_init			(void);
+
+/* packetizer */
+GstDPPacketizer *
+                gst_dp_packetizer_new           (GstDPVersion version);
+void            gst_dp_packetizer_free          (GstDPPacketizer *packetizer);
+
+/* crc checksum */
+guint16         gst_dp_crc                      (const guint8 * buffer,
+                                                 guint length);
+
+/* payload information from header */
+guint32		gst_dp_header_payload_length	(const guint8 * header);
+GstDPPayloadType
+		gst_dp_header_payload_type	(const guint8 * header);
+
+/* converting from GstBuffer/GstEvent/GstCaps */
+#ifndef GST_DISABLE_DEPRECATED
+gboolean	gst_dp_header_from_buffer	(const GstBuffer * buffer,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header);
+#endif
+#ifndef GST_DISABLE_DEPRECATED
+gboolean	gst_dp_packet_from_caps		(const GstCaps * caps,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header,
+						guint8 ** payload);
+#endif
+#ifndef GST_DISABLE_DEPRECATED
+gboolean	gst_dp_packet_from_event	(const GstEvent * event,
+						GstDPHeaderFlag flags,
+						guint * length,
+						guint8 ** header,
+						guint8 ** payload);
+#endif
+/* converting to GstBuffer/GstEvent/GstCaps */
+GstBuffer *	gst_dp_buffer_from_header	(guint header_length,
+						const guint8 * header);
+GstCaps *	gst_dp_caps_from_packet		(guint header_length,
+						const guint8 * header,
+						const guint8 * payload);
+GstEvent *	gst_dp_event_from_packet	(guint header_length,
+						const guint8 * header,
+						const guint8 * payload);
+
+/* validation */
+gboolean	gst_dp_validate_header		(guint header_length,
+						const guint8 * header);
+gboolean	gst_dp_validate_payload		(guint header_length,
+						const guint8 * header,
+						const guint8 * payload);
+gboolean	gst_dp_validate_packet		(guint header_length,
+						const guint8 * header,
+						const guint8 * payload);
+
+G_END_DECLS
+
+#endif /* __GST_DATA_PROTOCOL_H__ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-base-conference.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,107 @@
+/*
+ * Farsight2 - Farsight Base Conference Implementation
+ *
+ * Copyright 2007 Collabora Ltd.
+ *  @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * fs-base-conference.h - Base implementation for Farsight Conference Gstreamer
+ *                        Elements
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef __FS_BASE_CONFERENCE_H__
+#define __FS_BASE_CONFERENCE_H__
+
+#include <gst/gst.h>
+
+#include <gst/farsight/fs-conference-iface.h>
+#include <gst/farsight/fs-session.h>
+#include <gst/farsight/fs-codec.h>
+
+G_BEGIN_DECLS
+
+#define FS_TYPE_BASE_CONFERENCE \
+  (fs_base_conference_get_type ())
+#define FS_BASE_CONFERENCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),FS_TYPE_BASE_CONFERENCE,FsBaseConference))
+#define FS_BASE_CONFERENCE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),FS_TYPE_BASE_CONFERENCE,FsBaseConferenceClass))
+#define FS_BASE_CONFERENCE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS((obj),FS_TYPE_BASE_CONFERENCE,FsBaseConferenceClass))
+#define FS_IS_BASE_CONFERENCE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),FS_TYPE_BASE_CONFERENCE))
+#define FS_IS_BASE_CONFERENCE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),FS_TYPE_BASE_CONFERENCE))
+/* since 0.10.4 */
+#define FS_BASE_CONFERENCE_CAST(obj) \
+  ((FsBaseConference *)(obj))
+
+typedef struct _FsBaseConference FsBaseConference;
+typedef struct _FsBaseConferenceClass FsBaseConferenceClass;
+typedef struct _FsBaseConferencePrivate FsBaseConferencePrivate;
+
+/**
+ * FsBaseConference
+ *
+ * The #FsBaseConference structure, all the members are private
+ */
+
+struct _FsBaseConference
+{
+  GstBin parent;
+
+  /*< private >*/
+
+  FsBaseConferencePrivate *priv;
+
+  gpointer _padding[8];
+};
+
+/**
+ * FsBaseConferenceClass:
+ * @parent_class: Our parent
+ * @new_session: allocates a new #FsSession for this conference
+ * @new_participant: Creates a new #FsParticipant of the type required for
+ * this conference
+ *
+ * The class structure of #FsBaseConference. Derived classes should override
+ * all members.
+ */
+
+struct _FsBaseConferenceClass
+{
+  GstBinClass parent_class;
+
+  /*< public >*/
+  /* virtual methods */
+  FsSession *(*new_session) (FsBaseConference *conference,
+                             FsMediaType media_type,
+                             GError **error);
+  FsParticipant *(*new_participant) (FsBaseConference *conference,
+      const gchar *cname,
+      GError **error);
+
+  /*< private >*/
+
+  gpointer _padding[8];
+};
+
+GType fs_base_conference_get_type (void);
+
+G_END_DECLS
+
+#endif /* __ FS_BASE_CONFERENCE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-candidate.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,148 @@
+/*
+ * Farsight2 - Farsight Candidate
+ *
+ * Copyright 2007 Collabora Ltd.
+ *  @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * fs-candidate.h - A Farsight candidate
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef __FS_CANDIDATE_H__
+#define __FS_CANDIDATE_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define FS_TYPE_CANDIDATE \
+  (fs_candidate_get_type ())
+
+
+#define FS_TYPE_CANDIDATE_LIST \
+  (fs_candidate_list_get_type ())
+
+/**
+ * FsCandidateType:
+ * @FS_CANDIDATE_TYPE_HOST: A host candidate (local)
+ * @FS_CANDIDATE_TYPE_SRFLX: A server reflexive candidate.
+ * @FS_CANDIDATE_TYPE_PRFLX: A peer reflexive candidate
+ * @FS_CANDIDATE_TYPE_RELAY: An relay candidate
+ * @FS_CANDIDATE_TYPE_MULTICAST: A multicast address
+ *
+ * An enum for the type of candidate used/reported
+ */
+typedef enum
+{
+  FS_CANDIDATE_TYPE_HOST,
+  FS_CANDIDATE_TYPE_SRFLX,
+  FS_CANDIDATE_TYPE_PRFLX,
+  FS_CANDIDATE_TYPE_RELAY,    /* An external stream relay */
+  FS_CANDIDATE_TYPE_MULTICAST
+} FsCandidateType;
+
+/**
+ * FsNetworkProtocol:
+ * @FS_NETWORK_PROTOCOL_UDP: A UDP based protocol
+ * @FS_NETWORK_PROTOCOL_TCP: A TCP based protocol
+ *
+ * An enum for the base IP protocol
+ */
+typedef enum
+{
+  FS_NETWORK_PROTOCOL_UDP,
+  FS_NETWORK_PROTOCOL_TCP
+} FsNetworkProtocol;
+
+/**
+ * FsComponentType:
+ * @FS_COMPONENT_NONE: Use this when specifying a component is innapropriate
+ * @FS_COMPONENT_RTP: This component is for RTP data
+ * @FS_COMPONENT_RTCP: This component is for RTCP control
+ *
+ * This enum contains the component IDs defined in ICE-19
+ */
+
+typedef enum
+{
+  FS_COMPONENT_NONE = 0,
+  FS_COMPONENT_RTP = 1,
+  FS_COMPONENT_RTCP = 2
+} FsComponentType;
+
+
+typedef struct _FsCandidate FsCandidate;
+
+/**
+ * FsCandidate:
+ * @foundation: a string representing the foundation of this candidate (maximum 32 chars)
+ * @component_id: value between 1 and 256 indicating which component this candidate represents (1 is RTP, 2 is RTCP, #FsComponentType can be used here)
+ * @ip: IP in dotted format
+ * @port: Port to use
+ * @base_ip: IP of base in dotted format as defined in ICE-19.
+ * @base_port: Port of base as defined in ICE-19.
+ * @proto: #FsNetworkProtocol for ip protocol to use as candidate
+ * @priority: Value between 0 and (2^31 - 1) representing the priority
+ * @type: The #FsCandidateType of the candidate
+ * @username: Username to use to connect to client if necessary,
+ *            NULL otherwise
+ * @password: Username to use to connect to client if necessary,
+ *            NULL otherwise
+ * @ttl: The TTL used when sending Multicast packet (0 = auto)
+ *
+ * Struct to hold information about ICE-19 compliant candidates
+ */
+struct _FsCandidate
+{
+  gchar *foundation;
+  guint component_id;
+  const gchar *ip;
+  guint16 port;
+  const gchar *base_ip;
+  guint16 base_port;
+  FsNetworkProtocol proto;
+  guint32 priority;
+  FsCandidateType type;
+  const gchar *username;
+  const gchar *password;
+  guint ttl;
+  /*< private >*/
+  gpointer _padding[4];
+};
+
+GType fs_candidate_get_type (void);
+GType fs_candidate_list_get_type (void);
+
+void fs_candidate_destroy (FsCandidate *cand);
+
+FsCandidate *fs_candidate_copy (const FsCandidate *cand);
+
+void fs_candidate_list_destroy (GList *candidate_list);
+
+GList *fs_candidate_list_copy (const GList *candidate_list);
+
+FsCandidate * fs_candidate_new (
+    const gchar *foundation,
+    guint component_id,
+    FsCandidateType type,
+    FsNetworkProtocol proto,
+    const gchar *ip,
+    guint port);
+
+G_END_DECLS
+#endif /* __FS_CANDIDATE_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-codec.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,176 @@
+/*
+ * Farsight2 - Farsight Codec
+ *
+ * Copyright 2007 Collabora Ltd.
+ *  @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * Copyright 2005 Collabora Ltd.
+ *   @author: Rob Taylor <rob.taylor@collabora.co.uk>
+ *
+ * fs-codec.h - A Farsight codec
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef __FS_CODEC_H__
+#define __FS_CODEC_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+typedef struct _FsCodec FsCodec;
+typedef struct _FsCodecParameter FsCodecParameter;
+
+#define FS_TYPE_CODEC \
+  (fs_codec_get_type ())
+
+#define FS_TYPE_CODEC_LIST \
+  (fs_codec_list_get_type ())
+
+/**
+ * FsMediaType:
+ * @FS_MEDIA_TYPE_AUDIO: A media type that encodes audio.
+ * @FS_MEDIA_TYPE_VIDEO: A media type that encodes video.
+ * @FS_MEDIA_TYPE_LAST: Largest valid #FsMediaType
+ *
+ * Enum used to signify the media type of a codec or stream.
+ */
+typedef enum
+{
+  FS_MEDIA_TYPE_AUDIO,
+  FS_MEDIA_TYPE_VIDEO,
+  FS_MEDIA_TYPE_LAST = FS_MEDIA_TYPE_VIDEO
+} FsMediaType;
+
+/**
+ * FS_CODEC_ID_ANY:
+ *
+ * If the id of a #FsCodec is #FS_CODEC_ID_ANY, then it will be replaced
+ * with a dynamic payload type at runtime
+ */
+
+/**
+ * FS_CODEC_ID_DISABLE:
+ *
+ * If the id of a #FsCodec is #FS_CODEC_ID_DISABLE, then this codec will
+ * not be used
+ */
+
+#define FS_CODEC_ID_ANY            (-1)
+#define FS_CODEC_ID_DISABLE        (-2)
+
+/**
+ * FsCodec:
+ * @id: numeric identifier for encoding, eg. PT for SDP
+ * @encoding_name: the name of the codec
+ * @media_type: type of media this codec is for
+ * @clock_rate: clock rate of this stream
+ * @channels: Number of channels codec should decode
+ * @optional_params: key pairs of param name to param data
+ * @ptime: The preferred duration (in ms) of a packet
+ * @maxptime: The maximum duration (in ms) of a packet
+ *
+ * This structure reprensents one codec that can be offered or received
+ */
+/* TODO Should this be made into a GstStructure? */
+struct _FsCodec
+{
+  gint id;
+  char *encoding_name;
+  FsMediaType media_type;
+  guint clock_rate;
+  guint channels;
+  GList *optional_params;
+  /*< private >*/
+  union {
+    struct {
+      guint ptime;
+      guint maxptime;
+    } ABI;
+    gpointer _padding[4];         /* padding for binary-compatible
+                                   expansion*/
+  } ABI;
+};
+
+/**
+ * FsCodecParameter:
+ * @name: paramter name.
+ * @value: parameter value.
+ *
+ * Used to store arbitary parameters for a codec
+ */
+struct _FsCodecParameter {
+    gchar *name;
+    gchar *value;
+};
+
+
+/**
+ * FS_CODEC_FORMAT:
+ *
+ * A format that can be used in printf like format strings to format a FsCodec
+ */
+
+/**
+ * FS_CODEC_ARGS:
+ * @codec: a #FsCodec
+ *
+ * Formats the codec in args for FS_CODEC_FORMAT
+ */
+
+#define FS_CODEC_FORMAT "%d: %s %s clock:%d channels:%d params:%p"
+#define FS_CODEC_ARGS(codec)                            \
+    (codec)->id,                                        \
+    fs_media_type_to_string ((codec)->media_type),      \
+    (codec)->encoding_name,                             \
+    (codec)->clock_rate,                                \
+    (codec)->channels,                                  \
+    (codec)->optional_params
+
+GType fs_codec_get_type (void);
+GType fs_codec_list_get_type (void);
+
+
+FsCodec *fs_codec_new (int id, const char *encoding_name,
+                       FsMediaType media_type, guint clock_rate);
+
+void fs_codec_destroy (FsCodec * codec);
+FsCodec *fs_codec_copy (const FsCodec * codec);
+void fs_codec_list_destroy (GList *codec_list);
+GList *fs_codec_list_copy (const GList *codec_list);
+
+GList *fs_codec_list_from_keyfile (const gchar *filename, GError **error);
+gchar *fs_codec_to_string (const FsCodec *codec);
+
+gboolean fs_codec_are_equal (const FsCodec *codec1, const FsCodec *codec2);
+
+gboolean fs_codec_list_are_equal (GList *list1, GList *list2);
+
+const gchar *fs_media_type_to_string (FsMediaType media_type);
+
+void fs_codec_add_optional_parameter (FsCodec *codec, const gchar *name,
+    const gchar *value);
+
+void fs_codec_remove_optional_parameter (FsCodec *codec,
+    FsCodecParameter *param);
+
+FsCodecParameter *fs_codec_get_optional_parameter (FsCodec *codec,
+    const gchar *name, const gchar *value);
+
+G_END_DECLS
+
+#endif /* __FS_CODEC_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libgstreamer.framework/Versions/0.10.0/Headers/gst/farsight/fs-conference-iface.h	Sat Nov 19 15:06:54 2011 -0800
@@ -0,0 +1,166 @@
+/*
+ * Farsight2 - GStreamer interfaces
+ *
+ * Copyright 2007 Collabora Ltd.
+ *  @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * fs-conference-iface.h - Header file for gstreamer interface to be
+ *                         implemented by farsight conference elements
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#ifndef __FS_CONFERENCE_H__
+#define __FS_CONFERENCE_H__
+
+#include <gst/gst.h>
+
+#include <gst/farsight/fs-session.h>
+#include <gst/farsight/fs-codec.h>
+#include <gst/farsight/fs-enum-types.h>
+
+G_BEGIN_DECLS
+
+#define FS_TYPE_CONFERENCE \
+  (fs_conference_get_type ())
+#define FS_CONFERENCE(obj) \
+  (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), FS_TYPE_CONFERENCE, FsConference))
+#define FS_IS_CONFERENCE(obj) \
+  (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), FS_TYPE_CONFERENCE))
+#define FS_CONFERENCE_GET_IFACE(inst) \
+  (G_TYPE_INSTANCE_GET_INTERFACE ((inst), FS_TYPE_CONFERENCE, FsConferenceClass))
+
+/**
+ * FsConference:
+ *
+ * Opaque #FsConference data structure.
+ */
+typedef struct _FsConference FsConference;